
int main(int argc,char **argv)

{
  FILE *__stream;
  int iVar1;
  uint __c;
  char *pcVar2;
  ulong uVar3;
  char *pcVar4;
  char *__s;
  char **local_48;
  int local_3c [3];
  
  program_name = *argv;
  local_48 = argv;
  local_3c[0] = argc;
  xmalloc_set_program_name();
  bfd_set_error_program_name(program_name);
  expandargv(local_3c,&local_48);
  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0), iVar1 != -1) {
    switch(iVar1) {
    case 0x3f:
                    /* WARNING: Subroutine does not return */
      usage((FILE *)stderr,1);
    case 0x5f:
      strip_underscore = 1;
      break;
    case 0x68:
                    /* WARNING: Subroutine does not return */
      usage((FILE *)stdout,0);
    case 0x69:
      flags = flags & 0xfffffff7;
      break;
    case 0x6e:
      strip_underscore = 0;
      break;
    case 0x70:
      flags = flags & 0xfffffffe;
      break;
    case 0x73:
      iVar1 = cplus_demangle_name_to_style(optarg);
      if (iVar1 == 0) {
        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);
        return 1;
      }
      cplus_demangle_set_style(iVar1);
      break;
    case 0x74:
      flags = flags | 0x10;
      break;
    case 0x76:
      print_version("c++filt");
      return 0;
    }
  }
  if (optind < local_3c[0]) {
    do {
      demangle_it(local_48[optind]);
      putc(10,stdout);
      optind = optind + 1;
    } while (optind < local_3c[0]);
    return 0;
  }
  if (current_demangling_style == 0x1000) {
    __s = "_$.<>#,*&[]:(){}";
    goto LAB_00102600;
  }
  if (current_demangling_style < 0x1001) {
    if (current_demangling_style != 0x200) {
      __s = "_$.";
      if (current_demangling_style < 0x201) {
        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {
LAB_00102576:
                    /* WARNING: Subroutine does not return */
          fatal("Internal error: no symbol alphabet for current style");
        }
      }
      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))
      goto LAB_00102576;
      goto LAB_00102600;
    }
  }
  else if (current_demangling_style != 0x8000) {
    __s = "_$.";
    if (current_demangling_style < 0x8001) {
      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))
      goto LAB_00102576;
    }
    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))
    goto LAB_00102576;
    goto LAB_00102600;
  }
  __s = "_$.";
LAB_00102600:
  do {
    __c = getc(stdin);
    if (__c == 0xffffffff) {
LAB_00102675:
      fflush(stdout);
      return 0;
    }
    pcVar4 = main::lexical_block_5::mbuffer;
    uVar3 = 0;
    while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||
           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {
      __stream = stdin;
      if (iVar1 == 0x7ffe) goto LAB_001026cf;
      *pcVar4 = (char)__c;
      uVar3 = (ulong)(iVar1 + 1);
      pcVar4 = pcVar4 + 1;
      __c = getc(__stream);
      if (__c == 0xffffffff) {
        main::lexical_block_5::mbuffer[uVar3] = '\0';
        demangle_it(main::lexical_block_5::mbuffer);
        goto LAB_00102675;
      }
    }
    if (iVar1 == 0) goto LAB_001026a7;
LAB_001026cf:
    main::lexical_block_5::mbuffer[uVar3] = '\0';
    demangle_it(main::lexical_block_5::mbuffer);
LAB_001026a7:
    putc(__c,stdout);
    if (__c == 10) {
      fflush(stdout);
    }
  } while( true );
}



undefined8 FUN_00102420(int param_1,undefined8 *param_2)

{
  FILE *__stream;
  int iVar1;
  uint __c;
  char *pcVar2;
  ulong uVar3;
  undefined1 *puVar4;
  char *__s;
  undefined8 *local_48;
  int local_3c [3];
  
  DAT_001102a0 = *param_2;
  local_48 = param_2;
  local_3c[0] = param_1;
  xmalloc_set_program_name();
  bfd_set_error_program_name(DAT_001102a0);
  FUN_001040f0(local_3c,&local_48);
  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),
        iVar1 != -1) {
    switch(iVar1) {
    case 0x3f:
      FUN_00102830(stderr,1);
    case 0x68:
      FUN_00102830(stdout,0);
LAB_00102709:
      __s = "_$.";
LAB_00102600:
      do {
        __c = getc(stdin);
        if (__c == 0xffffffff) {
LAB_00102675:
          fflush(stdout);
          return 0;
        }
        puVar4 = &DAT_00108280;
        uVar3 = 0;
        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||
               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {
          __stream = stdin;
          if (iVar1 == 0x7ffe) goto LAB_001026cf;
          *puVar4 = (char)__c;
          uVar3 = (ulong)(iVar1 + 1);
          puVar4 = puVar4 + 1;
          __c = getc(__stream);
          if (__c == 0xffffffff) {
            (&DAT_00108280)[uVar3] = 0;
            FUN_00102970(&DAT_00108280);
            goto LAB_00102675;
          }
        }
        if (iVar1 == 0) goto LAB_001026a7;
LAB_001026cf:
        (&DAT_00108280)[uVar3] = 0;
        FUN_00102970(&DAT_00108280);
LAB_001026a7:
        putc(__c,stdout);
        if (__c == 10) {
          fflush(stdout);
        }
      } while( true );
    case 0x5f:
      DAT_00110280 = 1;
      break;
    case 0x69:
      DAT_00108210 = DAT_00108210 & 0xfffffff7;
      break;
    case 0x6e:
      DAT_00110280 = 0;
      break;
    case 0x70:
      DAT_00108210 = DAT_00108210 & 0xfffffffe;
      break;
    case 0x73:
      iVar1 = cplus_demangle_name_to_style(optarg);
      if (iVar1 == 0) {
        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);
        return 1;
      }
      cplus_demangle_set_style(iVar1);
      break;
    case 0x74:
      DAT_00108210 = DAT_00108210 | 0x10;
      break;
    case 0x76:
      FUN_00103ac0("c++filt");
      return 0;
    }
  }
  iVar1 = optind;
  if (optind < local_3c[0]) goto LAB_00102584;
  if (current_demangling_style == 0x1000) {
    __s = "_$.<>#,*&[]:(){}";
    goto LAB_00102600;
  }
  if (current_demangling_style < 0x1001) {
    if (current_demangling_style == 0x200) goto LAB_00102709;
    __s = "_$.";
    if (current_demangling_style < 0x201) {
      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;
    }
    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))
    goto LAB_00102600;
  }
  else {
    if (current_demangling_style == 0x8000) goto LAB_00102709;
    __s = "_$.";
    if (current_demangling_style < 0x8001) {
      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))
      goto LAB_00102600;
    }
    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))
    goto LAB_00102600;
  }
  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");
LAB_00102584:
  do {
    FUN_00102970(local_48[iVar1]);
    putc(10,stdout);
    optind = optind + 1;
    iVar1 = optind;
  } while (optind < local_3c[0]);
  return 0;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
LEA RBX,[0x10542c]
SUB RSP,0x18
MOV dword ptr [RSP + 0xc],EDI
MOV RDI,qword ptr [RSI]
MOV qword ptr [RSP],RSI
MOV qword ptr [0x001102a0],RDI
CALL 0x00102200
MOV RDI,qword ptr [0x001102a0]
CALL 0x00102340
MOV RSI,RSP
LEA RDI,[RSP + 0xc]
CALL 0x001040f0
NOP dword ptr [RAX]
MOV RSI,qword ptr [RSP]
MOV EDI,dword ptr [RSP + 0xc]
XOR R8D,R8D
LEA RCX,[0x107940]
LEA RDX,[0x1053cc]
CALL 0x00102150
CMP EAX,-0x1
JZ 0x0010252f
SUB EAX,0x3f
CMP EAX,0x37
JA 0x00102468
MOVSXD RAX,dword ptr [RBX + RAX*0x4]
ADD RAX,RBX
JMP RAX
LEA RDI,[0x1053c4]
CALL 0x00103ac0
XOR EAX,EAX
ADD RSP,0x18
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
OR dword ptr [0x00108210],0x10
JMP 0x00102468
MOV RDI,qword ptr [0x00108240]
CALL 0x00102050
TEST EAX,EAX
JZ 0x00102715
MOV EDI,EAX
CALL 0x00102100
JMP 0x00102468
AND dword ptr [0x00108210],0xfffffffe
JMP 0x00102468
MOV dword ptr [0x00110280],0x0
JMP 0x00102468
AND dword ptr [0x00108210],0xfffffff7
JMP 0x00102468
MOV dword ptr [0x00110280],0x1
JMP 0x00102468
MOV EAX,dword ptr [0x00108238]
CMP EAX,dword ptr [RSP + 0xc]
JL 0x00102584
MOV EAX,dword ptr [0x00108228]
CMP EAX,0x1000
JZ 0x001026de
JG 0x001025c0
CMP EAX,0x200
JZ 0x00102709
LEA R15,[0x1053af]
JG 0x00102688
CMP EAX,0x4
JZ 0x001025f2
CMP EAX,0x100
JZ 0x001025f2
LEA RDI,[0x105350]
XOR EAX,EAX
CALL 0x00102da0
MOV RDX,qword ptr [RSP]
CDQE
MOV RDI,qword ptr [RDX + RAX*0x8]
CALL 0x00102970
MOV RSI,qword ptr [0x00108220]
MOV EDI,0xa
CALL 0x00102240
MOV EAX,dword ptr [0x00108238]
ADD EAX,0x1
MOV dword ptr [0x00108238],EAX
CMP EAX,dword ptr [RSP + 0xc]
JL 0x00102584
XOR EAX,EAX
JMP 0x001024ae
CMP EAX,0x8000
JZ 0x00102709
LEA R15,[0x1053af]
JG 0x001025e4
CMP EAX,0x2000
JZ 0x001025f2
CMP EAX,0x4000
JZ 0x001025f2
JMP 0x00102576
CMP EAX,0x10000
JZ 0x001025f2
CMP EAX,0x20000
JNZ 0x00102576
LEA R14,[0x108280]
LEA R13,[0x107a60]
MOV RDI,qword ptr [0x00108230]
CALL 0x001023f0
MOV EBX,EAX
CMP EAX,-0x1
JZ 0x00102675
LEA R12,[0x108280]
XOR EBP,EBP
NOP dword ptr [RAX]
MOVZX EAX,BL
TEST byte ptr [R13 + RAX*0x2],0x8c
JNZ 0x0010263a
MOV ESI,EBX
MOV RDI,R15
CALL 0x00102160
TEST RAX,RAX
JZ 0x001026a3
CMP EBP,0x7ffe
JZ 0x001026cf
MOV RDI,qword ptr [0x00108230]
MOV byte ptr [R12],BL
ADD EBP,0x1
ADD R12,0x1
CALL 0x001023f0
MOV EBX,EAX
CMP EAX,-0x1
JNZ 0x00102620
LEA RDI,[0x108280]
MOV byte ptr [R14 + RBP*0x1],0x0
CALL 0x00102970
MOV RDI,qword ptr [0x00108220]
CALL 0x001022d0
XOR EAX,EAX
JMP 0x001024ae
CMP EAX,0x400
JZ 0x001025f2
CMP EAX,0x800
JZ 0x001025f2
JMP 0x00102576
TEST EBP,EBP
JNZ 0x001026cf
MOV RSI,qword ptr [0x00108220]
MOV EDI,EBX
CALL 0x00102240
CMP EBX,0xa
JNZ 0x00102600
MOV RDI,qword ptr [0x00108220]
CALL 0x001022d0
JMP 0x00102600
MOV RDI,R14
MOV byte ptr [R14 + RBP*0x1],0x0
CALL 0x00102970
JMP 0x001026a7
LEA R15,[0x1053b3]
JMP 0x001025f2
MOV RDI,qword ptr [0x00108260]
MOV ESI,0x1
CALL 0x00102830
MOV RDI,qword ptr [0x00108220]
XOR ESI,ESI
CALL 0x00102830
LEA R15,[0x1053af]
JMP 0x001025f2
MOV RCX,qword ptr [0x00108240]
MOV RDX,qword ptr [0x001102a0]
LEA RSI,[0x105328]
MOV RDI,qword ptr [0x00108260]
CALL 0x00102250
MOV EAX,0x1
JMP 0x001024ae
(translation_unit "undefined8 FUN_00102420(int param_1,undefined8 *param_2)\n\n{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_00102420(int param_1,undefined8 *param_2)\n\n{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}" type_identifier (function_declarator "FUN_00102420(int param_1,undefined8 *param_2)" identifier (parameter_list "(int param_1,undefined8 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}" { (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint __c;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "undefined8 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_3c [3];" primitive_type (array_declarator "local_3c [3]" identifier [ number_literal ]) ;) (expression_statement "DAT_001102a0 = *param_2;" (assignment_expression "DAT_001102a0 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" identifier = identifier) ;) (expression_statement "local_3c[0] = param_1;" (assignment_expression "local_3c[0] = param_1" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name(DAT_001102a0);" (call_expression "bfd_set_error_program_name(DAT_001102a0)" identifier (argument_list "(DAT_001102a0)" ( identifier ))) ;) (expression_statement "FUN_001040f0(local_3c,&local_48);" (call_expression "FUN_001040f0(local_3c,&local_48)" identifier (argument_list "(local_3c,&local_48)" ( identifier , (pointer_expression "&local_48" & identifier) ))) ;) (while_statement "while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }" while (parenthesized_expression "(iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1)" ( (comma_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1" (assignment_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" identifier = (call_expression "getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" identifier (argument_list "(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" ( (subscript_expression "local_3c[0]" identifier [ number_literal ]) , identifier , (string_literal ""_hinps:tv"" " string_content ") , (pointer_expression "&PTR_s_strip_underscore_00107940" & identifier) , number_literal )))) , (binary_expression "iVar1 != -1" identifier != number_literal)) )) (compound_statement "{\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }" { (switch_statement "switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }" switch (parenthesized_expression "(iVar1)" ( identifier )) (compound_statement "{\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }" { (case_statement "case 0x3f:\n      FUN_00102830(stderr,1);" case number_literal : (expression_statement "FUN_00102830(stderr,1);" (call_expression "FUN_00102830(stderr,1)" identifier (argument_list "(stderr,1)" ( identifier , number_literal ))) ;)) (case_statement "case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" case number_literal : (expression_statement "FUN_00102830(stdout,0);" (call_expression "FUN_00102830(stdout,0)" identifier (argument_list "(stdout,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00102709:\n      __s = "_$.";" statement_identifier : (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;)) (labeled_statement "LAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" statement_identifier : (do_statement "do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" do (compound_statement "{\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      }" { (expression_statement "__c = getc(stdin);" (assignment_expression "__c = getc(stdin)" identifier = (call_expression "getc(stdin)" identifier (argument_list "(stdin)" ( identifier )))) ;) (if_statement "if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }" { (labeled_statement "LAB_00102675:\n          fflush(stdout);" statement_identifier : (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" identifier (argument_list "(stdout)" ( identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })) (expression_statement "puVar4 = &DAT_00108280;" (assignment_expression "puVar4 = &DAT_00108280" identifier = (pointer_expression "&DAT_00108280" & identifier)) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (while_statement "while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }" while (parenthesized_expression "((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)))" ( (parenthesized_expression "(iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))" ( (comma_expression "iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (assignment_expression "iVar1 = (int)uVar3" identifier = (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0" (parenthesized_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c)" ( (binary_expression "_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c" (subscript_expression "_sch_istable[(ulong)(__c & 0xff) * 2]" identifier [ (binary_expression "(ulong)(__c & 0xff) * 2" (call_expression "(ulong)(__c & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(__c & 0xff)" ( (binary_expression "__c & 0xff" identifier & number_literal) ))) * number_literal) ]) & number_literal) )) != number_literal) || (parenthesized_expression "(pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(__s,__c)" identifier = (call_expression "strchr(__s,__c)" identifier (argument_list "(__s,__c)" ( identifier , identifier )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) )) (compound_statement "{\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }" { (expression_statement "__stream = stdin;" (assignment_expression "__stream = stdin" identifier = identifier) ;) (if_statement "if (iVar1 == 0x7ffe) goto LAB_001026cf;" if (parenthesized_expression "(iVar1 == 0x7ffe)" ( (binary_expression "iVar1 == 0x7ffe" identifier == number_literal) )) (goto_statement "goto LAB_001026cf;" goto statement_identifier ;)) (expression_statement "*puVar4 = (char)__c;" (assignment_expression "*puVar4 = (char)__c" (pointer_expression "*puVar4" * identifier) = (cast_expression "(char)__c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "uVar3 = (ulong)(iVar1 + 1);" (assignment_expression "uVar3 = (ulong)(iVar1 + 1)" identifier = (call_expression "(ulong)(iVar1 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar1 + 1)" ( (binary_expression "iVar1 + 1" identifier + number_literal) )))) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) (expression_statement "__c = getc(__stream);" (assignment_expression "__c = getc(__stream)" identifier = (call_expression "getc(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }" { (expression_statement "(&DAT_00108280)[uVar3] = 0;" (assignment_expression "(&DAT_00108280)[uVar3] = 0" (subscript_expression "(&DAT_00108280)[uVar3]" (parenthesized_expression "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) )) [ identifier ]) = number_literal) ;) (expression_statement "FUN_00102970(&DAT_00108280);" (call_expression "FUN_00102970(&DAT_00108280)" identifier (argument_list "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) ))) ;) (goto_statement "goto LAB_00102675;" goto statement_identifier ;) })) })) (if_statement "if (iVar1 == 0) goto LAB_001026a7;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001026a7;" goto statement_identifier ;)) (labeled_statement "LAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;" statement_identifier : (expression_statement "(&DAT_00108280)[uVar3] = 0;" (assignment_expression "(&DAT_00108280)[uVar3] = 0" (subscript_expression "(&DAT_00108280)[uVar3]" (parenthesized_expression "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) )) [ identifier ]) = number_literal) ;)) (expression_statement "FUN_00102970(&DAT_00108280);" (call_expression "FUN_00102970(&DAT_00108280)" identifier (argument_list "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) ))) ;) (labeled_statement "LAB_001026a7:\n        putc(__c,stdout);" statement_identifier : (expression_statement "putc(__c,stdout);" (call_expression "putc(__c,stdout)" identifier (argument_list "(__c,stdout)" ( identifier , identifier ))) ;)) (if_statement "if (__c == 10) {\n          fflush(stdout);\n        }" if (parenthesized_expression "(__c == 10)" ( (binary_expression "__c == 10" identifier == number_literal) )) (compound_statement "{\n          fflush(stdout);\n        }" { (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" identifier (argument_list "(stdout)" ( identifier ))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;))) (case_statement "case 0x5f:\n      DAT_00110280 = 1;\n      break;" case number_literal : (expression_statement "DAT_00110280 = 1;" (assignment_expression "DAT_00110280 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;" case number_literal : (expression_statement "DAT_00108210 = DAT_00108210 & 0xfffffff7;" (assignment_expression "DAT_00108210 = DAT_00108210 & 0xfffffff7" identifier = (binary_expression "DAT_00108210 & 0xfffffff7" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n      DAT_00110280 = 0;\n      break;" case number_literal : (expression_statement "DAT_00110280 = 0;" (assignment_expression "DAT_00110280 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;" case number_literal : (expression_statement "DAT_00108210 = DAT_00108210 & 0xfffffffe;" (assignment_expression "DAT_00108210 = DAT_00108210 & 0xfffffffe" identifier = (binary_expression "DAT_00108210 & 0xfffffffe" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;" case number_literal : (expression_statement "iVar1 = cplus_demangle_name_to_style(optarg);" (assignment_expression "iVar1 = cplus_demangle_name_to_style(optarg)" identifier = (call_expression "cplus_demangle_name_to_style(optarg)" identifier (argument_list "(optarg)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }" { (expression_statement "fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);" (call_expression "fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg)" identifier (argument_list "(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg)" ( identifier , (string_literal ""%s: unknown demangling style `%s\'\n"" " string_content escape_sequence escape_sequence ") , identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "cplus_demangle_set_style(iVar1);" (call_expression "cplus_demangle_set_style(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;" case number_literal : (expression_statement "DAT_00108210 = DAT_00108210 | 0x10;" (assignment_expression "DAT_00108210 = DAT_00108210 | 0x10" identifier = (binary_expression "DAT_00108210 | 0x10" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;" case number_literal : (expression_statement "FUN_00103ac0("c++filt");" (call_expression "FUN_00103ac0("c++filt")" identifier (argument_list "("c++filt")" ( (string_literal ""c++filt"" " string_content ") ))) ;) (return_statement "return 0;" return number_literal ;)) })) })) (expression_statement "iVar1 = optind;" (assignment_expression "iVar1 = optind" identifier = identifier) ;) (if_statement "if (optind < local_3c[0]) goto LAB_00102584;" if (parenthesized_expression "(optind < local_3c[0])" ( (binary_expression "optind < local_3c[0]" identifier < (subscript_expression "local_3c[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00102584;" goto statement_identifier ;)) (if_statement "if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" if (parenthesized_expression "(current_demangling_style == 0x1000)" ( (binary_expression "current_demangling_style == 0x1000" identifier == number_literal) )) (compound_statement "{\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" { (expression_statement "__s = "_$.<>#,*&[]:(){}";" (assignment_expression "__s = "_$.<>#,*&[]:(){}"" identifier = (string_literal ""_$.<>#,*&[]:(){}"" " string_content ")) ;) (goto_statement "goto LAB_00102600;" goto statement_identifier ;) })) (if_statement "if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" if (parenthesized_expression "(current_demangling_style < 0x1001)" ( (binary_expression "current_demangling_style < 0x1001" identifier < number_literal) )) (compound_statement "{\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }" { (if_statement "if (current_demangling_style == 0x200) goto LAB_00102709;" if (parenthesized_expression "(current_demangling_style == 0x200)" ( (binary_expression "current_demangling_style == 0x200" identifier == number_literal) )) (goto_statement "goto LAB_00102709;" goto statement_identifier ;)) (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" if (parenthesized_expression "(current_demangling_style < 0x201)" ( (binary_expression "current_demangling_style < 0x201" identifier < number_literal) )) (compound_statement "{\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }" { (if_statement "if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 4) || (current_demangling_style == 0x100))" ( (binary_expression "(current_demangling_style == 4) || (current_demangling_style == 0x100)" (parenthesized_expression "(current_demangling_style == 4)" ( (binary_expression "current_demangling_style == 4" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x100)" ( (binary_expression "current_demangling_style == 0x100" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)) }) (else_clause "else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" else (if_statement "if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 0x400) || (current_demangling_style == 0x800))" ( (binary_expression "(current_demangling_style == 0x400) || (current_demangling_style == 0x800)" (parenthesized_expression "(current_demangling_style == 0x400)" ( (binary_expression "current_demangling_style == 0x400" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x800)" ( (binary_expression "current_demangling_style == 0x800" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)))) }) (else_clause "else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" else (compound_statement "{\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" { (if_statement "if (current_demangling_style == 0x8000) goto LAB_00102709;" if (parenthesized_expression "(current_demangling_style == 0x8000)" ( (binary_expression "current_demangling_style == 0x8000" identifier == number_literal) )) (goto_statement "goto LAB_00102709;" goto statement_identifier ;)) (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" if (parenthesized_expression "(current_demangling_style < 0x8001)" ( (binary_expression "current_demangling_style < 0x8001" identifier < number_literal) )) (compound_statement "{\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }" { (if_statement "if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))" ( (binary_expression "(current_demangling_style == 0x2000) || (current_demangling_style == 0x4000)" (parenthesized_expression "(current_demangling_style == 0x2000)" ( (binary_expression "current_demangling_style == 0x2000" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x4000)" ( (binary_expression "current_demangling_style == 0x4000" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)) }) (else_clause "else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" else (if_statement "if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))" ( (binary_expression "(current_demangling_style == 0x10000) || (current_demangling_style == 0x20000)" (parenthesized_expression "(current_demangling_style == 0x10000)" ( (binary_expression "current_demangling_style == 0x10000" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x20000)" ( (binary_expression "current_demangling_style == 0x20000" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)))) }))) (expression_statement "iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");" (assignment_expression "iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style")" identifier = (call_expression "FUN_00102da0("Internal error: no symbol alphabet for current style")" identifier (argument_list "("Internal error: no symbol alphabet for current style")" ( (string_literal ""Internal error: no symbol alphabet for current style"" " string_content ") )))) ;) (labeled_statement "LAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);" statement_identifier : (do_statement "do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);" do (compound_statement "{\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  }" { (expression_statement "FUN_00102970(local_48[iVar1]);" (call_expression "FUN_00102970(local_48[iVar1])" identifier (argument_list "(local_48[iVar1])" ( (subscript_expression "local_48[iVar1]" identifier [ identifier ]) ))) ;) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" identifier = (binary_expression "optind + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = optind;" (assignment_expression "iVar1 = optind" identifier = identifier) ;) }) while (parenthesized_expression "(optind < local_3c[0])" ( (binary_expression "optind < local_3c[0]" identifier < (subscript_expression "local_3c[0]" identifier [ number_literal ])) )) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "int main(int argc,char **argv)\n\n{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  char *pcVar4;\n  char *__s;\n  char **local_48;\n  int local_3c [3];\n  \n  program_name = *argv;\n  local_48 = argv;\n  local_3c[0] = argc;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(program_name);\n  expandargv(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0), iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);\n    case 0x69:\n      flags = flags & 0xfffffff7;\n      break;\n    case 0x6e:\n      strip_underscore = 0;\n      break;\n    case 0x70:\n      flags = flags & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      flags = flags | 0x10;\n      break;\n    case 0x76:\n      print_version("c++filt");\n      return 0;\n    }\n  }\n  if (optind < local_3c[0]) {\n    do {\n      demangle_it(local_48[optind]);\n      putc(10,stdout);\n      optind = optind + 1;\n    } while (optind < local_3c[0]);\n    return 0;\n  }\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style != 0x200) {\n      __s = "_$.";\n      if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;\n      goto LAB_00102600;\n    }\n  }\n  else if (current_demangling_style != 0x8000) {\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;\n    goto LAB_00102600;\n  }\n  __s = "_$.";\nLAB_00102600:\n  do {\n    __c = getc(stdin);\n    if (__c == 0xffffffff) {\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }\n    pcVar4 = main::lexical_block_5::mbuffer;\n    uVar3 = 0;\n    while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }\n    if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n    main::lexical_block_5::mbuffer[uVar3] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_001026a7:\n    putc(__c,stdout);\n    if (__c == 10) {\n      fflush(stdout);\n    }\n  } while( true );\n}\n\n" (function_definition "int main(int argc,char **argv)\n\n{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  char *pcVar4;\n  char *__s;\n  char **local_48;\n  int local_3c [3];\n  \n  program_name = *argv;\n  local_48 = argv;\n  local_3c[0] = argc;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(program_name);\n  expandargv(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0), iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);\n    case 0x69:\n      flags = flags & 0xfffffff7;\n      break;\n    case 0x6e:\n      strip_underscore = 0;\n      break;\n    case 0x70:\n      flags = flags & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      flags = flags | 0x10;\n      break;\n    case 0x76:\n      print_version("c++filt");\n      return 0;\n    }\n  }\n  if (optind < local_3c[0]) {\n    do {\n      demangle_it(local_48[optind]);\n      putc(10,stdout);\n      optind = optind + 1;\n    } while (optind < local_3c[0]);\n    return 0;\n  }\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style != 0x200) {\n      __s = "_$.";\n      if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;\n      goto LAB_00102600;\n    }\n  }\n  else if (current_demangling_style != 0x8000) {\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;\n    goto LAB_00102600;\n  }\n  __s = "_$.";\nLAB_00102600:\n  do {\n    __c = getc(stdin);\n    if (__c == 0xffffffff) {\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }\n    pcVar4 = main::lexical_block_5::mbuffer;\n    uVar3 = 0;\n    while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }\n    if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n    main::lexical_block_5::mbuffer[uVar3] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_001026a7:\n    putc(__c,stdout);\n    if (__c == 10) {\n      fflush(stdout);\n    }\n  } while( true );\n}" primitive_type (function_declarator "main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  char *pcVar4;\n  char *__s;\n  char **local_48;\n  int local_3c [3];\n  \n  program_name = *argv;\n  local_48 = argv;\n  local_3c[0] = argc;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(program_name);\n  expandargv(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0), iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);\n    case 0x69:\n      flags = flags & 0xfffffff7;\n      break;\n    case 0x6e:\n      strip_underscore = 0;\n      break;\n    case 0x70:\n      flags = flags & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      flags = flags | 0x10;\n      break;\n    case 0x76:\n      print_version("c++filt");\n      return 0;\n    }\n  }\n  if (optind < local_3c[0]) {\n    do {\n      demangle_it(local_48[optind]);\n      putc(10,stdout);\n      optind = optind + 1;\n    } while (optind < local_3c[0]);\n    return 0;\n  }\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style != 0x200) {\n      __s = "_$.";\n      if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;\n      goto LAB_00102600;\n    }\n  }\n  else if (current_demangling_style != 0x8000) {\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;\n    goto LAB_00102600;\n  }\n  __s = "_$.";\nLAB_00102600:\n  do {\n    __c = getc(stdin);\n    if (__c == 0xffffffff) {\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }\n    pcVar4 = main::lexical_block_5::mbuffer;\n    uVar3 = 0;\n    while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }\n    if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n    main::lexical_block_5::mbuffer[uVar3] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_001026a7:\n    putc(__c,stdout);\n    if (__c == 10) {\n      fflush(stdout);\n    }\n  } while( true );\n}" { (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint __c;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "char **local_48;" primitive_type (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier)) ;) (declaration "int local_3c [3];" primitive_type (array_declarator "local_3c [3]" identifier [ number_literal ]) ;) (expression_statement "program_name = *argv;" (assignment_expression "program_name = *argv" identifier = (pointer_expression "*argv" * identifier)) ;) (expression_statement "local_48 = argv;" (assignment_expression "local_48 = argv" identifier = identifier) ;) (expression_statement "local_3c[0] = argc;" (assignment_expression "local_3c[0] = argc" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name(program_name);" (call_expression "bfd_set_error_program_name(program_name)" identifier (argument_list "(program_name)" ( identifier ))) ;) (expression_statement "expandargv(local_3c,&local_48);" (call_expression "expandargv(local_3c,&local_48)" identifier (argument_list "(local_3c,&local_48)" ( identifier , (pointer_expression "&local_48" & identifier) ))) ;) (while_statement "while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0), iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);\n    case 0x69:\n      flags = flags & 0xfffffff7;\n      break;\n    case 0x6e:\n      strip_underscore = 0;\n      break;\n    case 0x70:\n      flags = flags & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      flags = flags | 0x10;\n      break;\n    case 0x76:\n      print_version("c++filt");\n      return 0;\n    }\n  }" while (parenthesized_expression "(iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0), iVar1 != -1)" ( (comma_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0), iVar1 != -1" (assignment_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0)" identifier = (call_expression "getopt_long(local_3c[0],local_48,"_hinps:tv",long_options,0)" identifier (argument_list "(local_3c[0],local_48,"_hinps:tv",long_options,0)" ( (subscript_expression "local_3c[0]" identifier [ number_literal ]) , identifier , (string_literal ""_hinps:tv"" " string_content ") , identifier , number_literal )))) , (binary_expression "iVar1 != -1" identifier != number_literal)) )) (compound_statement "{\n    switch(iVar1) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);\n    case 0x69:\n      flags = flags & 0xfffffff7;\n      break;\n    case 0x6e:\n      strip_underscore = 0;\n      break;\n    case 0x70:\n      flags = flags & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      flags = flags | 0x10;\n      break;\n    case 0x76:\n      print_version("c++filt");\n      return 0;\n    }\n  }" { (switch_statement "switch(iVar1) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);\n    case 0x69:\n      flags = flags & 0xfffffff7;\n      break;\n    case 0x6e:\n      strip_underscore = 0;\n      break;\n    case 0x70:\n      flags = flags & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      flags = flags | 0x10;\n      break;\n    case 0x76:\n      print_version("c++filt");\n      return 0;\n    }" switch (parenthesized_expression "(iVar1)" ( identifier )) (compound_statement "{\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);\n    case 0x69:\n      flags = flags & 0xfffffff7;\n      break;\n    case 0x6e:\n      strip_underscore = 0;\n      break;\n    case 0x70:\n      flags = flags & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      flags = flags | 0x10;\n      break;\n    case 0x76:\n      print_version("c++filt");\n      return 0;\n    }" { (case_statement "case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stderr,1);" case number_literal : comment (expression_statement "usage((FILE *)stderr,1);" (call_expression "usage((FILE *)stderr,1)" identifier (argument_list "((FILE *)stderr,1)" ( (cast_expression "(FILE *)stderr" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;)) (case_statement "case 0x5f:\n      strip_underscore = 1;\n      break;" case number_literal : (expression_statement "strip_underscore = 1;" (assignment_expression "strip_underscore = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage((FILE *)stdout,0);" case number_literal : comment (expression_statement "usage((FILE *)stdout,0);" (call_expression "usage((FILE *)stdout,0)" identifier (argument_list "((FILE *)stdout,0)" ( (cast_expression "(FILE *)stdout" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;)) (case_statement "case 0x69:\n      flags = flags & 0xfffffff7;\n      break;" case number_literal : (expression_statement "flags = flags & 0xfffffff7;" (assignment_expression "flags = flags & 0xfffffff7" identifier = (binary_expression "flags & 0xfffffff7" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n      strip_underscore = 0;\n      break;" case number_literal : (expression_statement "strip_underscore = 0;" (assignment_expression "strip_underscore = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n      flags = flags & 0xfffffffe;\n      break;" case number_literal : (expression_statement "flags = flags & 0xfffffffe;" (assignment_expression "flags = flags & 0xfffffffe" identifier = (binary_expression "flags & 0xfffffffe" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;" case number_literal : (expression_statement "iVar1 = cplus_demangle_name_to_style(optarg);" (assignment_expression "iVar1 = cplus_demangle_name_to_style(optarg)" identifier = (call_expression "cplus_demangle_name_to_style(optarg)" identifier (argument_list "(optarg)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);\n        return 1;\n      }" { (expression_statement "fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);" (call_expression "fprintf(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg)" identifier (argument_list "(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg)" ( identifier , (string_literal ""%s: unknown demangling style `%s\'\n"" " string_content escape_sequence escape_sequence ") , identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "cplus_demangle_set_style(iVar1);" (call_expression "cplus_demangle_set_style(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      flags = flags | 0x10;\n      break;" case number_literal : (expression_statement "flags = flags | 0x10;" (assignment_expression "flags = flags | 0x10" identifier = (binary_expression "flags | 0x10" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      print_version("c++filt");\n      return 0;" case number_literal : (expression_statement "print_version("c++filt");" (call_expression "print_version("c++filt")" identifier (argument_list "("c++filt")" ( (string_literal ""c++filt"" " string_content ") ))) ;) (return_statement "return 0;" return number_literal ;)) })) })) (if_statement "if (optind < local_3c[0]) {\n    do {\n      demangle_it(local_48[optind]);\n      putc(10,stdout);\n      optind = optind + 1;\n    } while (optind < local_3c[0]);\n    return 0;\n  }" if (parenthesized_expression "(optind < local_3c[0])" ( (binary_expression "optind < local_3c[0]" identifier < (subscript_expression "local_3c[0]" identifier [ number_literal ])) )) (compound_statement "{\n    do {\n      demangle_it(local_48[optind]);\n      putc(10,stdout);\n      optind = optind + 1;\n    } while (optind < local_3c[0]);\n    return 0;\n  }" { (do_statement "do {\n      demangle_it(local_48[optind]);\n      putc(10,stdout);\n      optind = optind + 1;\n    } while (optind < local_3c[0]);" do (compound_statement "{\n      demangle_it(local_48[optind]);\n      putc(10,stdout);\n      optind = optind + 1;\n    }" { (expression_statement "demangle_it(local_48[optind]);" (call_expression "demangle_it(local_48[optind])" identifier (argument_list "(local_48[optind])" ( (subscript_expression "local_48[optind]" identifier [ identifier ]) ))) ;) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" identifier = (binary_expression "optind + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(optind < local_3c[0])" ( (binary_expression "optind < local_3c[0]" identifier < (subscript_expression "local_3c[0]" identifier [ number_literal ])) )) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" if (parenthesized_expression "(current_demangling_style == 0x1000)" ( (binary_expression "current_demangling_style == 0x1000" identifier == number_literal) )) (compound_statement "{\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" { (expression_statement "__s = "_$.<>#,*&[]:(){}";" (assignment_expression "__s = "_$.<>#,*&[]:(){}"" identifier = (string_literal ""_$.<>#,*&[]:(){}"" " string_content ")) ;) (goto_statement "goto LAB_00102600;" goto statement_identifier ;) })) (if_statement "if (current_demangling_style < 0x1001) {\n    if (current_demangling_style != 0x200) {\n      __s = "_$.";\n      if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;\n      goto LAB_00102600;\n    }\n  }\n  else if (current_demangling_style != 0x8000) {\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;\n    goto LAB_00102600;\n  }" if (parenthesized_expression "(current_demangling_style < 0x1001)" ( (binary_expression "current_demangling_style < 0x1001" identifier < number_literal) )) (compound_statement "{\n    if (current_demangling_style != 0x200) {\n      __s = "_$.";\n      if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;\n      goto LAB_00102600;\n    }\n  }" { (if_statement "if (current_demangling_style != 0x200) {\n      __s = "_$.";\n      if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;\n      goto LAB_00102600;\n    }" if (parenthesized_expression "(current_demangling_style != 0x200)" ( (binary_expression "current_demangling_style != 0x200" identifier != number_literal) )) (compound_statement "{\n      __s = "_$.";\n      if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;\n      goto LAB_00102600;\n    }" { (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (current_demangling_style < 0x201) {\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }\n      else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;" if (parenthesized_expression "(current_demangling_style < 0x201)" ( (binary_expression "current_demangling_style < 0x201" identifier < number_literal) )) (compound_statement "{\n        if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }\n      }" { (if_statement "if ((current_demangling_style != 4) && (current_demangling_style != 0x100)) {\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }" if (parenthesized_expression "((current_demangling_style != 4) && (current_demangling_style != 0x100))" ( (binary_expression "(current_demangling_style != 4) && (current_demangling_style != 0x100)" (parenthesized_expression "(current_demangling_style != 4)" ( (binary_expression "current_demangling_style != 4" identifier != number_literal) )) && (parenthesized_expression "(current_demangling_style != 0x100)" ( (binary_expression "current_demangling_style != 0x100" identifier != number_literal) ))) )) (compound_statement "{\nLAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");\n        }" { (labeled_statement "LAB_00102576:\n                    /* WARNING: Subroutine does not return */\n          fatal("Internal error: no symbol alphabet for current style");" statement_identifier : comment (expression_statement "fatal("Internal error: no symbol alphabet for current style");" (call_expression "fatal("Internal error: no symbol alphabet for current style")" identifier (argument_list "("Internal error: no symbol alphabet for current style")" ( (string_literal ""Internal error: no symbol alphabet for current style"" " string_content ") ))) ;)) })) }) (else_clause "else if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;" else (if_statement "if ((current_demangling_style != 0x400) && (current_demangling_style != 0x800))\n      goto LAB_00102576;" if (parenthesized_expression "((current_demangling_style != 0x400) && (current_demangling_style != 0x800))" ( (binary_expression "(current_demangling_style != 0x400) && (current_demangling_style != 0x800)" (parenthesized_expression "(current_demangling_style != 0x400)" ( (binary_expression "current_demangling_style != 0x400" identifier != number_literal) )) && (parenthesized_expression "(current_demangling_style != 0x800)" ( (binary_expression "current_demangling_style != 0x800" identifier != number_literal) ))) )) (goto_statement "goto LAB_00102576;" goto statement_identifier ;)))) (goto_statement "goto LAB_00102600;" goto statement_identifier ;) })) }) (else_clause "else if (current_demangling_style != 0x8000) {\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;\n    goto LAB_00102600;\n  }" else (if_statement "if (current_demangling_style != 0x8000) {\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;\n    goto LAB_00102600;\n  }" if (parenthesized_expression "(current_demangling_style != 0x8000)" ( (binary_expression "current_demangling_style != 0x8000" identifier != number_literal) )) (compound_statement "{\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;\n    goto LAB_00102600;\n  }" { (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }\n    else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;" if (parenthesized_expression "(current_demangling_style < 0x8001)" ( (binary_expression "current_demangling_style < 0x8001" identifier < number_literal) )) (compound_statement "{\n      if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;\n    }" { (if_statement "if ((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))\n      goto LAB_00102576;" if (parenthesized_expression "((current_demangling_style != 0x2000) && (current_demangling_style != 0x4000))" ( (binary_expression "(current_demangling_style != 0x2000) && (current_demangling_style != 0x4000)" (parenthesized_expression "(current_demangling_style != 0x2000)" ( (binary_expression "current_demangling_style != 0x2000" identifier != number_literal) )) && (parenthesized_expression "(current_demangling_style != 0x4000)" ( (binary_expression "current_demangling_style != 0x4000" identifier != number_literal) ))) )) (goto_statement "goto LAB_00102576;" goto statement_identifier ;)) }) (else_clause "else if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;" else (if_statement "if ((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))\n    goto LAB_00102576;" if (parenthesized_expression "((current_demangling_style != 0x10000) && (current_demangling_style != 0x20000))" ( (binary_expression "(current_demangling_style != 0x10000) && (current_demangling_style != 0x20000)" (parenthesized_expression "(current_demangling_style != 0x10000)" ( (binary_expression "current_demangling_style != 0x10000" identifier != number_literal) )) && (parenthesized_expression "(current_demangling_style != 0x20000)" ( (binary_expression "current_demangling_style != 0x20000" identifier != number_literal) ))) )) (goto_statement "goto LAB_00102576;" goto statement_identifier ;)))) (goto_statement "goto LAB_00102600;" goto statement_identifier ;) })))) (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (labeled_statement "LAB_00102600:\n  do {\n    __c = getc(stdin);\n    if (__c == 0xffffffff) {\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }\n    pcVar4 = main::lexical_block_5::mbuffer;\n    uVar3 = 0;\n    while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }\n    if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n    main::lexical_block_5::mbuffer[uVar3] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_001026a7:\n    putc(__c,stdout);\n    if (__c == 10) {\n      fflush(stdout);\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    __c = getc(stdin);\n    if (__c == 0xffffffff) {\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }\n    pcVar4 = main::lexical_block_5::mbuffer;\n    uVar3 = 0;\n    while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }\n    if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n    main::lexical_block_5::mbuffer[uVar3] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_001026a7:\n    putc(__c,stdout);\n    if (__c == 10) {\n      fflush(stdout);\n    }\n  } while( true );" do (compound_statement "{\n    __c = getc(stdin);\n    if (__c == 0xffffffff) {\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }\n    pcVar4 = main::lexical_block_5::mbuffer;\n    uVar3 = 0;\n    while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }\n    if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n    main::lexical_block_5::mbuffer[uVar3] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_001026a7:\n    putc(__c,stdout);\n    if (__c == 10) {\n      fflush(stdout);\n    }\n  }" { (expression_statement "__c = getc(stdin);" (assignment_expression "__c = getc(stdin)" identifier = (call_expression "getc(stdin)" identifier (argument_list "(stdin)" ( identifier )))) ;) (if_statement "if (__c == 0xffffffff) {\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_00102675:\n      fflush(stdout);\n      return 0;\n    }" { (labeled_statement "LAB_00102675:\n      fflush(stdout);" statement_identifier : (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" identifier (argument_list "(stdout)" ( identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })) (ERROR "pcVar4 = main::" (assignment_expression "pcVar4 = main" identifier = identifier) : :) (labeled_statement "lexical_block_5::mbuffer;" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer;" identifier ;)) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (while_statement "while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }" while (parenthesized_expression "((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)))" ( (parenthesized_expression "(iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))" ( (comma_expression "iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (assignment_expression "iVar1 = (int)uVar3" identifier = (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0" (parenthesized_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c)" ( (binary_expression "_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c" (subscript_expression "_sch_istable[(ulong)(__c & 0xff) * 2]" identifier [ (binary_expression "(ulong)(__c & 0xff) * 2" (call_expression "(ulong)(__c & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(__c & 0xff)" ( (binary_expression "__c & 0xff" identifier & number_literal) ))) * number_literal) ]) & number_literal) )) != number_literal) || (parenthesized_expression "(pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(__s,__c)" identifier = (call_expression "strchr(__s,__c)" identifier (argument_list "(__s,__c)" ( identifier , identifier )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) )) (compound_statement "{\n      __stream = stdin;\n      if (iVar1 == 0x7ffe) goto LAB_001026cf;\n      *pcVar4 = (char)__c;\n      uVar3 = (ulong)(iVar1 + 1);\n      pcVar4 = pcVar4 + 1;\n      __c = getc(__stream);\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }\n    }" { (expression_statement "__stream = stdin;" (assignment_expression "__stream = stdin" identifier = identifier) ;) (if_statement "if (iVar1 == 0x7ffe) goto LAB_001026cf;" if (parenthesized_expression "(iVar1 == 0x7ffe)" ( (binary_expression "iVar1 == 0x7ffe" identifier == number_literal) )) (goto_statement "goto LAB_001026cf;" goto statement_identifier ;)) (expression_statement "*pcVar4 = (char)__c;" (assignment_expression "*pcVar4 = (char)__c" (pointer_expression "*pcVar4" * identifier) = (cast_expression "(char)__c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "uVar3 = (ulong)(iVar1 + 1);" (assignment_expression "uVar3 = (ulong)(iVar1 + 1)" identifier = (call_expression "(ulong)(iVar1 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar1 + 1)" ( (binary_expression "iVar1 + 1" identifier + number_literal) )))) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "__c = getc(__stream);" (assignment_expression "__c = getc(__stream)" identifier = (call_expression "getc(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        main::lexical_block_5::mbuffer[uVar3] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_00102675;\n      }" { (labeled_statement "main::lexical_block_5::mbuffer[uVar3] = '\0';" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_5::mbuffer[uVar3] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer[uVar3] = '\0';" (assignment_expression "mbuffer[uVar3] = '\0'" (subscript_expression "mbuffer[uVar3]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;))) (labeled_statement "demangle_it(main::lexical_block_5::mbuffer);" statement_identifier (ERROR "(main:" ( (type_descriptor "main" type_identifier) :) : (labeled_statement "lexical_block_5::mbuffer);" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer);" identifier (ERROR ")" )) ;))) (goto_statement "goto LAB_00102675;" goto statement_identifier ;) })) })) (if_statement "if (iVar1 == 0) goto LAB_001026a7;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001026a7;" goto statement_identifier ;)) (labeled_statement "LAB_001026cf:\n    main::lexical_block_5::mbuffer[uVar3] = '\0';" statement_identifier : (labeled_statement "main::lexical_block_5::mbuffer[uVar3] = '\0';" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_5::mbuffer[uVar3] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer[uVar3] = '\0';" (assignment_expression "mbuffer[uVar3] = '\0'" (subscript_expression "mbuffer[uVar3]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;)))) (labeled_statement "demangle_it(main::lexical_block_5::mbuffer);" statement_identifier (ERROR "(main:" ( (type_descriptor "main" type_identifier) :) : (labeled_statement "lexical_block_5::mbuffer);" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer);" identifier (ERROR ")" )) ;))) (labeled_statement "LAB_001026a7:\n    putc(__c,stdout);" statement_identifier : (expression_statement "putc(__c,stdout);" (call_expression "putc(__c,stdout)" identifier (argument_list "(__c,stdout)" ( identifier , identifier ))) ;)) (if_statement "if (__c == 10) {\n      fflush(stdout);\n    }" if (parenthesized_expression "(__c == 10)" ( (binary_expression "__c == 10" identifier == number_literal) )) (compound_statement "{\n      fflush(stdout);\n    }" { (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" identifier (argument_list "(stdout)" ( identifier ))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "undefined8 FUN_00102420(int param_1,undefined8 *param_2)\n\n{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_00102420(int param_1,undefined8 *param_2)\n\n{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}" type_identifier (function_declarator "FUN_00102420(int param_1,undefined8 *param_2)" identifier (parameter_list "(int param_1,undefined8 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}" { (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint __c;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "undefined8 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_3c [3];" primitive_type (array_declarator "local_3c [3]" identifier [ number_literal ]) ;) (expression_statement "DAT_001102a0 = *param_2;" (assignment_expression "DAT_001102a0 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" identifier = identifier) ;) (expression_statement "local_3c[0] = param_1;" (assignment_expression "local_3c[0] = param_1" (subscript_expression "local_3c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name(DAT_001102a0);" (call_expression "bfd_set_error_program_name(DAT_001102a0)" identifier (argument_list "(DAT_001102a0)" ( identifier ))) ;) (expression_statement "FUN_001040f0(local_3c,&local_48);" (call_expression "FUN_001040f0(local_3c,&local_48)" identifier (argument_list "(local_3c,&local_48)" ( identifier , (pointer_expression "&local_48" & identifier) ))) ;) (while_statement "while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }" while (parenthesized_expression "(iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1)" ( (comma_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1" (assignment_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" identifier = (call_expression "getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" identifier (argument_list "(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" ( (subscript_expression "local_3c[0]" identifier [ number_literal ]) , identifier , (string_literal ""_hinps:tv"" " string_content ") , (pointer_expression "&PTR_s_strip_underscore_00107940" & identifier) , number_literal )))) , (binary_expression "iVar1 != -1" identifier != number_literal)) )) (compound_statement "{\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }" { (switch_statement "switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }" switch (parenthesized_expression "(iVar1)" ( identifier )) (compound_statement "{\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }" { (case_statement "case 0x3f:\n      FUN_00102830(stderr,1);" case number_literal : (expression_statement "FUN_00102830(stderr,1);" (call_expression "FUN_00102830(stderr,1)" identifier (argument_list "(stderr,1)" ( identifier , number_literal ))) ;)) (case_statement "case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" case number_literal : (expression_statement "FUN_00102830(stdout,0);" (call_expression "FUN_00102830(stdout,0)" identifier (argument_list "(stdout,0)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00102709:\n      __s = "_$.";" statement_identifier : (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;)) (labeled_statement "LAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" statement_identifier : (do_statement "do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" do (compound_statement "{\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      }" { (expression_statement "__c = getc(stdin);" (assignment_expression "__c = getc(stdin)" identifier = (call_expression "getc(stdin)" identifier (argument_list "(stdin)" ( identifier )))) ;) (if_statement "if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }" { (labeled_statement "LAB_00102675:\n          fflush(stdout);" statement_identifier : (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" identifier (argument_list "(stdout)" ( identifier ))) ;)) (return_statement "return 0;" return number_literal ;) })) (expression_statement "puVar4 = &DAT_00108280;" (assignment_expression "puVar4 = &DAT_00108280" identifier = (pointer_expression "&DAT_00108280" & identifier)) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (while_statement "while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }" while (parenthesized_expression "((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)))" ( (parenthesized_expression "(iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))" ( (comma_expression "iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (assignment_expression "iVar1 = (int)uVar3" identifier = (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0" (parenthesized_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c)" ( (binary_expression "_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c" (subscript_expression "_sch_istable[(ulong)(__c & 0xff) * 2]" identifier [ (binary_expression "(ulong)(__c & 0xff) * 2" (call_expression "(ulong)(__c & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(__c & 0xff)" ( (binary_expression "__c & 0xff" identifier & number_literal) ))) * number_literal) ]) & number_literal) )) != number_literal) || (parenthesized_expression "(pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(__s,__c)" identifier = (call_expression "strchr(__s,__c)" identifier (argument_list "(__s,__c)" ( identifier , identifier )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) )) (compound_statement "{\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }" { (expression_statement "__stream = stdin;" (assignment_expression "__stream = stdin" identifier = identifier) ;) (if_statement "if (iVar1 == 0x7ffe) goto LAB_001026cf;" if (parenthesized_expression "(iVar1 == 0x7ffe)" ( (binary_expression "iVar1 == 0x7ffe" identifier == number_literal) )) (goto_statement "goto LAB_001026cf;" goto statement_identifier ;)) (expression_statement "*puVar4 = (char)__c;" (assignment_expression "*puVar4 = (char)__c" (pointer_expression "*puVar4" * identifier) = (cast_expression "(char)__c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "uVar3 = (ulong)(iVar1 + 1);" (assignment_expression "uVar3 = (ulong)(iVar1 + 1)" identifier = (call_expression "(ulong)(iVar1 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar1 + 1)" ( (binary_expression "iVar1 + 1" identifier + number_literal) )))) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) (expression_statement "__c = getc(__stream);" (assignment_expression "__c = getc(__stream)" identifier = (call_expression "getc(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }" { (expression_statement "(&DAT_00108280)[uVar3] = 0;" (assignment_expression "(&DAT_00108280)[uVar3] = 0" (subscript_expression "(&DAT_00108280)[uVar3]" (parenthesized_expression "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) )) [ identifier ]) = number_literal) ;) (expression_statement "FUN_00102970(&DAT_00108280);" (call_expression "FUN_00102970(&DAT_00108280)" identifier (argument_list "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) ))) ;) (goto_statement "goto LAB_00102675;" goto statement_identifier ;) })) })) (if_statement "if (iVar1 == 0) goto LAB_001026a7;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001026a7;" goto statement_identifier ;)) (labeled_statement "LAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;" statement_identifier : (expression_statement "(&DAT_00108280)[uVar3] = 0;" (assignment_expression "(&DAT_00108280)[uVar3] = 0" (subscript_expression "(&DAT_00108280)[uVar3]" (parenthesized_expression "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) )) [ identifier ]) = number_literal) ;)) (expression_statement "FUN_00102970(&DAT_00108280);" (call_expression "FUN_00102970(&DAT_00108280)" identifier (argument_list "(&DAT_00108280)" ( (pointer_expression "&DAT_00108280" & identifier) ))) ;) (labeled_statement "LAB_001026a7:\n        putc(__c,stdout);" statement_identifier : (expression_statement "putc(__c,stdout);" (call_expression "putc(__c,stdout)" identifier (argument_list "(__c,stdout)" ( identifier , identifier ))) ;)) (if_statement "if (__c == 10) {\n          fflush(stdout);\n        }" if (parenthesized_expression "(__c == 10)" ( (binary_expression "__c == 10" identifier == number_literal) )) (compound_statement "{\n          fflush(stdout);\n        }" { (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" identifier (argument_list "(stdout)" ( identifier ))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;))) (case_statement "case 0x5f:\n      DAT_00110280 = 1;\n      break;" case number_literal : (expression_statement "DAT_00110280 = 1;" (assignment_expression "DAT_00110280 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;" case number_literal : (expression_statement "DAT_00108210 = DAT_00108210 & 0xfffffff7;" (assignment_expression "DAT_00108210 = DAT_00108210 & 0xfffffff7" identifier = (binary_expression "DAT_00108210 & 0xfffffff7" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n      DAT_00110280 = 0;\n      break;" case number_literal : (expression_statement "DAT_00110280 = 0;" (assignment_expression "DAT_00110280 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;" case number_literal : (expression_statement "DAT_00108210 = DAT_00108210 & 0xfffffffe;" (assignment_expression "DAT_00108210 = DAT_00108210 & 0xfffffffe" identifier = (binary_expression "DAT_00108210 & 0xfffffffe" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;" case number_literal : (expression_statement "iVar1 = cplus_demangle_name_to_style(optarg);" (assignment_expression "iVar1 = cplus_demangle_name_to_style(optarg)" identifier = (call_expression "cplus_demangle_name_to_style(optarg)" identifier (argument_list "(optarg)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }" { (expression_statement "fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);" (call_expression "fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg)" identifier (argument_list "(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg)" ( identifier , (string_literal ""%s: unknown demangling style `%s\'\n"" " string_content escape_sequence escape_sequence ") , identifier , identifier ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "cplus_demangle_set_style(iVar1);" (call_expression "cplus_demangle_set_style(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;" case number_literal : (expression_statement "DAT_00108210 = DAT_00108210 | 0x10;" (assignment_expression "DAT_00108210 = DAT_00108210 | 0x10" identifier = (binary_expression "DAT_00108210 | 0x10" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;" case number_literal : (expression_statement "FUN_00103ac0("c++filt");" (call_expression "FUN_00103ac0("c++filt")" identifier (argument_list "("c++filt")" ( (string_literal ""c++filt"" " string_content ") ))) ;) (return_statement "return 0;" return number_literal ;)) })) })) (expression_statement "iVar1 = optind;" (assignment_expression "iVar1 = optind" identifier = identifier) ;) (if_statement "if (optind < local_3c[0]) goto LAB_00102584;" if (parenthesized_expression "(optind < local_3c[0])" ( (binary_expression "optind < local_3c[0]" identifier < (subscript_expression "local_3c[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00102584;" goto statement_identifier ;)) (if_statement "if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" if (parenthesized_expression "(current_demangling_style == 0x1000)" ( (binary_expression "current_demangling_style == 0x1000" identifier == number_literal) )) (compound_statement "{\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" { (expression_statement "__s = "_$.<>#,*&[]:(){}";" (assignment_expression "__s = "_$.<>#,*&[]:(){}"" identifier = (string_literal ""_$.<>#,*&[]:(){}"" " string_content ")) ;) (goto_statement "goto LAB_00102600;" goto statement_identifier ;) })) (if_statement "if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" if (parenthesized_expression "(current_demangling_style < 0x1001)" ( (binary_expression "current_demangling_style < 0x1001" identifier < number_literal) )) (compound_statement "{\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }" { (if_statement "if (current_demangling_style == 0x200) goto LAB_00102709;" if (parenthesized_expression "(current_demangling_style == 0x200)" ( (binary_expression "current_demangling_style == 0x200" identifier == number_literal) )) (goto_statement "goto LAB_00102709;" goto statement_identifier ;)) (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" if (parenthesized_expression "(current_demangling_style < 0x201)" ( (binary_expression "current_demangling_style < 0x201" identifier < number_literal) )) (compound_statement "{\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }" { (if_statement "if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 4) || (current_demangling_style == 0x100))" ( (binary_expression "(current_demangling_style == 4) || (current_demangling_style == 0x100)" (parenthesized_expression "(current_demangling_style == 4)" ( (binary_expression "current_demangling_style == 4" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x100)" ( (binary_expression "current_demangling_style == 0x100" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)) }) (else_clause "else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" else (if_statement "if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 0x400) || (current_demangling_style == 0x800))" ( (binary_expression "(current_demangling_style == 0x400) || (current_demangling_style == 0x800)" (parenthesized_expression "(current_demangling_style == 0x400)" ( (binary_expression "current_demangling_style == 0x400" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x800)" ( (binary_expression "current_demangling_style == 0x800" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)))) }) (else_clause "else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" else (compound_statement "{\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" { (if_statement "if (current_demangling_style == 0x8000) goto LAB_00102709;" if (parenthesized_expression "(current_demangling_style == 0x8000)" ( (binary_expression "current_demangling_style == 0x8000" identifier == number_literal) )) (goto_statement "goto LAB_00102709;" goto statement_identifier ;)) (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" if (parenthesized_expression "(current_demangling_style < 0x8001)" ( (binary_expression "current_demangling_style < 0x8001" identifier < number_literal) )) (compound_statement "{\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }" { (if_statement "if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))" ( (binary_expression "(current_demangling_style == 0x2000) || (current_demangling_style == 0x4000)" (parenthesized_expression "(current_demangling_style == 0x2000)" ( (binary_expression "current_demangling_style == 0x2000" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x4000)" ( (binary_expression "current_demangling_style == 0x4000" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)) }) (else_clause "else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" else (if_statement "if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" if (parenthesized_expression "((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))" ( (binary_expression "(current_demangling_style == 0x10000) || (current_demangling_style == 0x20000)" (parenthesized_expression "(current_demangling_style == 0x10000)" ( (binary_expression "current_demangling_style == 0x10000" identifier == number_literal) )) || (parenthesized_expression "(current_demangling_style == 0x20000)" ( (binary_expression "current_demangling_style == 0x20000" identifier == number_literal) ))) )) (goto_statement "goto LAB_00102600;" goto statement_identifier ;)))) }))) (expression_statement "iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");" (assignment_expression "iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style")" identifier = (call_expression "FUN_00102da0("Internal error: no symbol alphabet for current style")" identifier (argument_list "("Internal error: no symbol alphabet for current style")" ( (string_literal ""Internal error: no symbol alphabet for current style"" " string_content ") )))) ;) (labeled_statement "LAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);" statement_identifier : (do_statement "do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);" do (compound_statement "{\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  }" { (expression_statement "FUN_00102970(local_48[iVar1]);" (call_expression "FUN_00102970(local_48[iVar1])" identifier (argument_list "(local_48[iVar1])" ( (subscript_expression "local_48[iVar1]" identifier [ identifier ]) ))) ;) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" identifier = (binary_expression "optind + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = optind;" (assignment_expression "iVar1 = optind" identifier = identifier) ;) }) while (parenthesized_expression "(optind < local_3c[0])" ( (binary_expression "optind < local_3c[0]" identifier < (subscript_expression "local_3c[0]" identifier [ number_literal ])) )) ;)) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) , LIT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) & LIT) )) != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }) while (parenthesized_expression ( BOOL )) ;))) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence escape_sequence ") , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (return_statement return LIT ;)) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ IDENT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;)) (return_statement return LIT ;) })))
(function_definition "undefined8 FUN_00102420(int param_1,undefined8 *param_2)\n\n{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}" (type_identifier "undefined8") (function_declarator "FUN_00102420(int param_1,undefined8 *param_2)" (identifier "FUN_00102420") (parameter_list "(int param_1,undefined8 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 *param_2" (type_identifier "undefined8") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  FILE *__stream;\n  int iVar1;\n  uint __c;\n  char *pcVar2;\n  ulong uVar3;\n  undefined1 *puVar4;\n  char *__s;\n  undefined8 *local_48;\n  int local_3c [3];\n  \n  DAT_001102a0 = *param_2;\n  local_48 = param_2;\n  local_3c[0] = param_1;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_001102a0);\n  FUN_001040f0(local_3c,&local_48);\n  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }\n  iVar1 = optind;\n  if (optind < local_3c[0]) goto LAB_00102584;\n  if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }\n  if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }\n  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");\nLAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);\n  return 0;\n}" ({ "{") (declaration "FILE *__stream;" (type_identifier "FILE") (pointer_declarator "*__stream" (* "*") (identifier "__stream")) (; ";")) (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "uint __c;" (type_identifier "uint") (identifier "__c") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "ulong uVar3;" (type_identifier "ulong") (identifier "uVar3") (; ";")) (declaration "undefined1 *puVar4;" (type_identifier "undefined1") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "undefined8 *local_48;" (type_identifier "undefined8") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "int local_3c [3];" (primitive_type "int") (array_declarator "local_3c [3]" (identifier "local_3c") ([ "[") (number_literal "3") (] "]")) (; ";")) (expression_statement "DAT_001102a0 = *param_2;" (assignment_expression "DAT_001102a0 = *param_2" (identifier "DAT_001102a0") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "local_48 = param_2;" (assignment_expression "local_48 = param_2" (identifier "local_48") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_3c[0] = param_1;" (assignment_expression "local_3c[0] = param_1" (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" (identifier "xmalloc_set_program_name") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bfd_set_error_program_name(DAT_001102a0);" (call_expression "bfd_set_error_program_name(DAT_001102a0)" (identifier "bfd_set_error_program_name") (argument_list "(DAT_001102a0)" (( "(") (identifier "DAT_001102a0") () ")"))) (; ";")) (expression_statement "FUN_001040f0(local_3c,&local_48);" (call_expression "FUN_001040f0(local_3c,&local_48)" (identifier "FUN_001040f0") (argument_list "(local_3c,&local_48)" (( "(") (identifier "local_3c") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (while_statement "while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1) {\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }" (while "while") (parenthesized_expression "(iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1)" (( "(") (comma_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),\n        iVar1 != -1" (assignment_expression "iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" (identifier "iVar1") (= "=") (call_expression "getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" (identifier "getopt_long") (argument_list "(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0)" (( "(") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]")) (, ",") (identifier "local_48") (, ",") (string_literal ""_hinps:tv"" (" """) (string_content "_hinps:tv") (" """)) (, ",") (pointer_expression "&PTR_s_strip_underscore_00107940" (& "&") (identifier "PTR_s_strip_underscore_00107940")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar1 != -1" (identifier "iVar1") (!= "!=") (number_literal "-1"))) () ")")) (compound_statement "{\n    switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }\n  }" ({ "{") (switch_statement "switch(iVar1) {\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }" (switch "switch") (parenthesized_expression "(iVar1)" (( "(") (identifier "iVar1") () ")")) (compound_statement "{\n    case 0x3f:\n      FUN_00102830(stderr,1);\n    case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );\n    case 0x5f:\n      DAT_00110280 = 1;\n      break;\n    case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_00110280 = 0;\n      break;\n    case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;\n    case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;\n    case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;\n    }" ({ "{") (case_statement "case 0x3f:\n      FUN_00102830(stderr,1);" (case "case") (number_literal "0x3f") (: ":") (expression_statement "FUN_00102830(stderr,1);" (call_expression "FUN_00102830(stderr,1)" (identifier "FUN_00102830") (argument_list "(stderr,1)" (( "(") (identifier "stderr") (, ",") (number_literal "1") () ")"))) (; ";"))) (case_statement "case 0x68:\n      FUN_00102830(stdout,0);\nLAB_00102709:\n      __s = "_$.";\nLAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" (case "case") (number_literal "0x68") (: ":") (expression_statement "FUN_00102830(stdout,0);" (call_expression "FUN_00102830(stdout,0)" (identifier "FUN_00102830") (argument_list "(stdout,0)" (( "(") (identifier "stdout") (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_00102709:\n      __s = "_$.";" (statement_identifier "LAB_00102709") (: ":") (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" (identifier "__s") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";"))) (labeled_statement "LAB_00102600:\n      do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" (statement_identifier "LAB_00102600") (: ":") (do_statement "do {\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      } while( true );" (do "do") (compound_statement "{\n        __c = getc(stdin);\n        if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }\n        puVar4 = &DAT_00108280;\n        uVar3 = 0;\n        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }\n        if (iVar1 == 0) goto LAB_001026a7;\nLAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;\n        FUN_00102970(&DAT_00108280);\nLAB_001026a7:\n        putc(__c,stdout);\n        if (__c == 10) {\n          fflush(stdout);\n        }\n      }" ({ "{") (expression_statement "__c = getc(stdin);" (assignment_expression "__c = getc(stdin)" (identifier "__c") (= "=") (call_expression "getc(stdin)" (identifier "getc") (argument_list "(stdin)" (( "(") (identifier "stdin") () ")")))) (; ";")) (if_statement "if (__c == 0xffffffff) {\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }" (if "if") (parenthesized_expression "(__c == 0xffffffff)" (( "(") (binary_expression "__c == 0xffffffff" (identifier "__c") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\nLAB_00102675:\n          fflush(stdout);\n          return 0;\n        }" ({ "{") (labeled_statement "LAB_00102675:\n          fflush(stdout);" (statement_identifier "LAB_00102675") (: ":") (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" (identifier "fflush") (argument_list "(stdout)" (( "(") (identifier "stdout") () ")"))) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "puVar4 = &DAT_00108280;" (assignment_expression "puVar4 = &DAT_00108280" (identifier "puVar4") (= "=") (pointer_expression "&DAT_00108280" (& "&") (identifier "DAT_00108280"))) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (while_statement "while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }" (while "while") (parenthesized_expression "((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)))" (( "(") (parenthesized_expression "(iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))" (( "(") (comma_expression "iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (assignment_expression "iVar1 = (int)uVar3" (identifier "iVar1") (= "=") (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3"))) (, ",") (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||\n               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (binary_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0" (parenthesized_expression "(_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c)" (( "(") (binary_expression "_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c" (subscript_expression "_sch_istable[(ulong)(__c & 0xff) * 2]" (identifier "_sch_istable") ([ "[") (binary_expression "(ulong)(__c & 0xff) * 2" (call_expression "(ulong)(__c & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(__c & 0xff)" (( "(") (binary_expression "__c & 0xff" (identifier "__c") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "0x8c")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0)" (( "(") (comma_expression "pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(__s,__c)" (identifier "pcVar2") (= "=") (call_expression "strchr(__s,__c)" (identifier "strchr") (argument_list "(__s,__c)" (( "(") (identifier "__s") (, ",") (identifier "__c") () ")")))) (, ",") (binary_expression "pcVar2 != (char *)0x0" (identifier "pcVar2") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")))) () ")")) () ")")) (compound_statement "{\n          __stream = stdin;\n          if (iVar1 == 0x7ffe) goto LAB_001026cf;\n          *puVar4 = (char)__c;\n          uVar3 = (ulong)(iVar1 + 1);\n          puVar4 = puVar4 + 1;\n          __c = getc(__stream);\n          if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }\n        }" ({ "{") (expression_statement "__stream = stdin;" (assignment_expression "__stream = stdin" (identifier "__stream") (= "=") (identifier "stdin")) (; ";")) (if_statement "if (iVar1 == 0x7ffe) goto LAB_001026cf;" (if "if") (parenthesized_expression "(iVar1 == 0x7ffe)" (( "(") (binary_expression "iVar1 == 0x7ffe" (identifier "iVar1") (== "==") (number_literal "0x7ffe")) () ")")) (goto_statement "goto LAB_001026cf;" (goto "goto") (statement_identifier "LAB_001026cf") (; ";"))) (expression_statement "*puVar4 = (char)__c;" (assignment_expression "*puVar4 = (char)__c" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (cast_expression "(char)__c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "__c"))) (; ";")) (expression_statement "uVar3 = (ulong)(iVar1 + 1);" (assignment_expression "uVar3 = (ulong)(iVar1 + 1)" (identifier "uVar3") (= "=") (call_expression "(ulong)(iVar1 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar1 + 1)" (( "(") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" (identifier "puVar4") (= "=") (binary_expression "puVar4 + 1" (identifier "puVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "__c = getc(__stream);" (assignment_expression "__c = getc(__stream)" (identifier "__c") (= "=") (call_expression "getc(__stream)" (identifier "getc") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")")))) (; ";")) (if_statement "if (__c == 0xffffffff) {\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }" (if "if") (parenthesized_expression "(__c == 0xffffffff)" (( "(") (binary_expression "__c == 0xffffffff" (identifier "__c") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            (&DAT_00108280)[uVar3] = 0;\n            FUN_00102970(&DAT_00108280);\n            goto LAB_00102675;\n          }" ({ "{") (expression_statement "(&DAT_00108280)[uVar3] = 0;" (assignment_expression "(&DAT_00108280)[uVar3] = 0" (subscript_expression "(&DAT_00108280)[uVar3]" (parenthesized_expression "(&DAT_00108280)" (( "(") (pointer_expression "&DAT_00108280" (& "&") (identifier "DAT_00108280")) () ")")) ([ "[") (identifier "uVar3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00102970(&DAT_00108280);" (call_expression "FUN_00102970(&DAT_00108280)" (identifier "FUN_00102970") (argument_list "(&DAT_00108280)" (( "(") (pointer_expression "&DAT_00108280" (& "&") (identifier "DAT_00108280")) () ")"))) (; ";")) (goto_statement "goto LAB_00102675;" (goto "goto") (statement_identifier "LAB_00102675") (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar1 == 0) goto LAB_001026a7;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001026a7;" (goto "goto") (statement_identifier "LAB_001026a7") (; ";"))) (labeled_statement "LAB_001026cf:\n        (&DAT_00108280)[uVar3] = 0;" (statement_identifier "LAB_001026cf") (: ":") (expression_statement "(&DAT_00108280)[uVar3] = 0;" (assignment_expression "(&DAT_00108280)[uVar3] = 0" (subscript_expression "(&DAT_00108280)[uVar3]" (parenthesized_expression "(&DAT_00108280)" (( "(") (pointer_expression "&DAT_00108280" (& "&") (identifier "DAT_00108280")) () ")")) ([ "[") (identifier "uVar3") (] "]")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "FUN_00102970(&DAT_00108280);" (call_expression "FUN_00102970(&DAT_00108280)" (identifier "FUN_00102970") (argument_list "(&DAT_00108280)" (( "(") (pointer_expression "&DAT_00108280" (& "&") (identifier "DAT_00108280")) () ")"))) (; ";")) (labeled_statement "LAB_001026a7:\n        putc(__c,stdout);" (statement_identifier "LAB_001026a7") (: ":") (expression_statement "putc(__c,stdout);" (call_expression "putc(__c,stdout)" (identifier "putc") (argument_list "(__c,stdout)" (( "(") (identifier "__c") (, ",") (identifier "stdout") () ")"))) (; ";"))) (if_statement "if (__c == 10) {\n          fflush(stdout);\n        }" (if "if") (parenthesized_expression "(__c == 10)" (( "(") (binary_expression "__c == 10" (identifier "__c") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n          fflush(stdout);\n        }" ({ "{") (expression_statement "fflush(stdout);" (call_expression "fflush(stdout)" (identifier "fflush") (argument_list "(stdout)" (( "(") (identifier "stdout") () ")"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")))) (case_statement "case 0x5f:\n      DAT_00110280 = 1;\n      break;" (case "case") (number_literal "0x5f") (: ":") (expression_statement "DAT_00110280 = 1;" (assignment_expression "DAT_00110280 = 1" (identifier "DAT_00110280") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x69:\n      DAT_00108210 = DAT_00108210 & 0xfffffff7;\n      break;" (case "case") (number_literal "0x69") (: ":") (expression_statement "DAT_00108210 = DAT_00108210 & 0xfffffff7;" (assignment_expression "DAT_00108210 = DAT_00108210 & 0xfffffff7" (identifier "DAT_00108210") (= "=") (binary_expression "DAT_00108210 & 0xfffffff7" (identifier "DAT_00108210") (& "&") (number_literal "0xfffffff7"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6e:\n      DAT_00110280 = 0;\n      break;" (case "case") (number_literal "0x6e") (: ":") (expression_statement "DAT_00110280 = 0;" (assignment_expression "DAT_00110280 = 0" (identifier "DAT_00110280") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x70:\n      DAT_00108210 = DAT_00108210 & 0xfffffffe;\n      break;" (case "case") (number_literal "0x70") (: ":") (expression_statement "DAT_00108210 = DAT_00108210 & 0xfffffffe;" (assignment_expression "DAT_00108210 = DAT_00108210 & 0xfffffffe" (identifier "DAT_00108210") (= "=") (binary_expression "DAT_00108210 & 0xfffffffe" (identifier "DAT_00108210") (& "&") (number_literal "0xfffffffe"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x73:\n      iVar1 = cplus_demangle_name_to_style(optarg);\n      if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar1);\n      break;" (case "case") (number_literal "0x73") (: ":") (expression_statement "iVar1 = cplus_demangle_name_to_style(optarg);" (assignment_expression "iVar1 = cplus_demangle_name_to_style(optarg)" (identifier "iVar1") (= "=") (call_expression "cplus_demangle_name_to_style(optarg)" (identifier "cplus_demangle_name_to_style") (argument_list "(optarg)" (( "(") (identifier "optarg") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);\n        return 1;\n      }" ({ "{") (expression_statement "fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);" (call_expression "fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg)" (identifier "fprintf") (argument_list "(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg)" (( "(") (identifier "stderr") (, ",") (string_literal ""%s: unknown demangling style `%s\'\n"" (" """) (string_content "%s: unknown demangling style `%s") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (identifier "DAT_001102a0") (, ",") (identifier "optarg") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "cplus_demangle_set_style(iVar1);" (call_expression "cplus_demangle_set_style(iVar1)" (identifier "cplus_demangle_set_style") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x74:\n      DAT_00108210 = DAT_00108210 | 0x10;\n      break;" (case "case") (number_literal "0x74") (: ":") (expression_statement "DAT_00108210 = DAT_00108210 | 0x10;" (assignment_expression "DAT_00108210 = DAT_00108210 | 0x10" (identifier "DAT_00108210") (= "=") (binary_expression "DAT_00108210 | 0x10" (identifier "DAT_00108210") (| "|") (number_literal "0x10"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x76:\n      FUN_00103ac0("c++filt");\n      return 0;" (case "case") (number_literal "0x76") (: ":") (expression_statement "FUN_00103ac0("c++filt");" (call_expression "FUN_00103ac0("c++filt")" (identifier "FUN_00103ac0") (argument_list "("c++filt")" (( "(") (string_literal ""c++filt"" (" """) (string_content "c++filt") (" """)) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar1 = optind;" (assignment_expression "iVar1 = optind" (identifier "iVar1") (= "=") (identifier "optind")) (; ";")) (if_statement "if (optind < local_3c[0]) goto LAB_00102584;" (if "if") (parenthesized_expression "(optind < local_3c[0])" (( "(") (binary_expression "optind < local_3c[0]" (identifier "optind") (< "<") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]"))) () ")")) (goto_statement "goto LAB_00102584;" (goto "goto") (statement_identifier "LAB_00102584") (; ";"))) (if_statement "if (current_demangling_style == 0x1000) {\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" (if "if") (parenthesized_expression "(current_demangling_style == 0x1000)" (( "(") (binary_expression "current_demangling_style == 0x1000" (identifier "current_demangling_style") (== "==") (number_literal "0x1000")) () ")")) (compound_statement "{\n    __s = "_$.<>#,*&[]:(){}";\n    goto LAB_00102600;\n  }" ({ "{") (expression_statement "__s = "_$.<>#,*&[]:(){}";" (assignment_expression "__s = "_$.<>#,*&[]:(){}"" (identifier "__s") (= "=") (string_literal ""_$.<>#,*&[]:(){}"" (" """) (string_content "_$.<>#,*&[]:(){}") (" """))) (; ";")) (goto_statement "goto LAB_00102600;" (goto "goto") (statement_identifier "LAB_00102600") (; ";")) (} "}"))) (if_statement "if (current_demangling_style < 0x1001) {\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }\n  else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" (if "if") (parenthesized_expression "(current_demangling_style < 0x1001)" (( "(") (binary_expression "current_demangling_style < 0x1001" (identifier "current_demangling_style") (< "<") (number_literal "0x1001")) () ")")) (compound_statement "{\n    if (current_demangling_style == 0x200) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;\n  }" ({ "{") (if_statement "if (current_demangling_style == 0x200) goto LAB_00102709;" (if "if") (parenthesized_expression "(current_demangling_style == 0x200)" (( "(") (binary_expression "current_demangling_style == 0x200" (identifier "current_demangling_style") (== "==") (number_literal "0x200")) () ")")) (goto_statement "goto LAB_00102709;" (goto "goto") (statement_identifier "LAB_00102709") (; ";"))) (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" (identifier "__s") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";")) (if_statement "if (current_demangling_style < 0x201) {\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" (if "if") (parenthesized_expression "(current_demangling_style < 0x201)" (( "(") (binary_expression "current_demangling_style < 0x201" (identifier "current_demangling_style") (< "<") (number_literal "0x201")) () ")")) (compound_statement "{\n      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;\n    }" ({ "{") (if_statement "if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;" (if "if") (parenthesized_expression "((current_demangling_style == 4) || (current_demangling_style == 0x100))" (( "(") (binary_expression "(current_demangling_style == 4) || (current_demangling_style == 0x100)" (parenthesized_expression "(current_demangling_style == 4)" (( "(") (binary_expression "current_demangling_style == 4" (identifier "current_demangling_style") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(current_demangling_style == 0x100)" (( "(") (binary_expression "current_demangling_style == 0x100" (identifier "current_demangling_style") (== "==") (number_literal "0x100")) () ")"))) () ")")) (goto_statement "goto LAB_00102600;" (goto "goto") (statement_identifier "LAB_00102600") (; ";"))) (} "}")) (else_clause "else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" (else "else") (if_statement "if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))\n    goto LAB_00102600;" (if "if") (parenthesized_expression "((current_demangling_style == 0x400) || (current_demangling_style == 0x800))" (( "(") (binary_expression "(current_demangling_style == 0x400) || (current_demangling_style == 0x800)" (parenthesized_expression "(current_demangling_style == 0x400)" (( "(") (binary_expression "current_demangling_style == 0x400" (identifier "current_demangling_style") (== "==") (number_literal "0x400")) () ")")) (|| "||") (parenthesized_expression "(current_demangling_style == 0x800)" (( "(") (binary_expression "current_demangling_style == 0x800" (identifier "current_demangling_style") (== "==") (number_literal "0x800")) () ")"))) () ")")) (goto_statement "goto LAB_00102600;" (goto "goto") (statement_identifier "LAB_00102600") (; ";"))))) (} "}")) (else_clause "else {\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" (else "else") (compound_statement "{\n    if (current_demangling_style == 0x8000) goto LAB_00102709;\n    __s = "_$.";\n    if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;\n  }" ({ "{") (if_statement "if (current_demangling_style == 0x8000) goto LAB_00102709;" (if "if") (parenthesized_expression "(current_demangling_style == 0x8000)" (( "(") (binary_expression "current_demangling_style == 0x8000" (identifier "current_demangling_style") (== "==") (number_literal "0x8000")) () ")")) (goto_statement "goto LAB_00102709;" (goto "goto") (statement_identifier "LAB_00102709") (; ";"))) (expression_statement "__s = "_$.";" (assignment_expression "__s = "_$."" (identifier "__s") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";")) (if_statement "if (current_demangling_style < 0x8001) {\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }\n    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" (if "if") (parenthesized_expression "(current_demangling_style < 0x8001)" (( "(") (binary_expression "current_demangling_style < 0x8001" (identifier "current_demangling_style") (< "<") (number_literal "0x8001")) () ")")) (compound_statement "{\n      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;\n    }" ({ "{") (if_statement "if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))\n      goto LAB_00102600;" (if "if") (parenthesized_expression "((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))" (( "(") (binary_expression "(current_demangling_style == 0x2000) || (current_demangling_style == 0x4000)" (parenthesized_expression "(current_demangling_style == 0x2000)" (( "(") (binary_expression "current_demangling_style == 0x2000" (identifier "current_demangling_style") (== "==") (number_literal "0x2000")) () ")")) (|| "||") (parenthesized_expression "(current_demangling_style == 0x4000)" (( "(") (binary_expression "current_demangling_style == 0x4000" (identifier "current_demangling_style") (== "==") (number_literal "0x4000")) () ")"))) () ")")) (goto_statement "goto LAB_00102600;" (goto "goto") (statement_identifier "LAB_00102600") (; ";"))) (} "}")) (else_clause "else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" (else "else") (if_statement "if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))\n    goto LAB_00102600;" (if "if") (parenthesized_expression "((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))" (( "(") (binary_expression "(current_demangling_style == 0x10000) || (current_demangling_style == 0x20000)" (parenthesized_expression "(current_demangling_style == 0x10000)" (( "(") (binary_expression "current_demangling_style == 0x10000" (identifier "current_demangling_style") (== "==") (number_literal "0x10000")) () ")")) (|| "||") (parenthesized_expression "(current_demangling_style == 0x20000)" (( "(") (binary_expression "current_demangling_style == 0x20000" (identifier "current_demangling_style") (== "==") (number_literal "0x20000")) () ")"))) () ")")) (goto_statement "goto LAB_00102600;" (goto "goto") (statement_identifier "LAB_00102600") (; ";"))))) (} "}")))) (expression_statement "iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");" (assignment_expression "iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style")" (identifier "iVar1") (= "=") (call_expression "FUN_00102da0("Internal error: no symbol alphabet for current style")" (identifier "FUN_00102da0") (argument_list "("Internal error: no symbol alphabet for current style")" (( "(") (string_literal ""Internal error: no symbol alphabet for current style"" (" """) (string_content "Internal error: no symbol alphabet for current style") (" """)) () ")")))) (; ";")) (labeled_statement "LAB_00102584:\n  do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);" (statement_identifier "LAB_00102584") (: ":") (do_statement "do {\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  } while (optind < local_3c[0]);" (do "do") (compound_statement "{\n    FUN_00102970(local_48[iVar1]);\n    putc(10,stdout);\n    optind = optind + 1;\n    iVar1 = optind;\n  }" ({ "{") (expression_statement "FUN_00102970(local_48[iVar1]);" (call_expression "FUN_00102970(local_48[iVar1])" (identifier "FUN_00102970") (argument_list "(local_48[iVar1])" (( "(") (subscript_expression "local_48[iVar1]" (identifier "local_48") ([ "[") (identifier "iVar1") (] "]")) () ")"))) (; ";")) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" (identifier "putc") (argument_list "(10,stdout)" (( "(") (number_literal "10") (, ",") (identifier "stdout") () ")"))) (; ";")) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" (identifier "optind") (= "=") (binary_expression "optind + 1" (identifier "optind") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar1 = optind;" (assignment_expression "iVar1 = optind" (identifier "iVar1") (= "=") (identifier "optind")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(optind < local_3c[0])" (( "(") (binary_expression "optind < local_3c[0]" (identifier "optind") (< "<") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]"))) () ")")) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

int function_1(int argc,char **argv)

{
  type_1 *__stream;
  int var_5;
  type_2 var_18;
  char *var_21;
  type_3 uVar3;
  char *var_22;
  char *__s;
  char **local_48;
  int local_3c [3];
  
  program_name = *argv;
  local_48 = argv;
  local_3c[0] = argc;
  var_1();
  var_2(program_name);
  var_3(local_3c,&local_48);
  while (var_5 = var_4(local_3c[0],local_48,"_hinps:tv",long_options,0), var_5 != -1) {
    switch(var_5) {
    case 0x3f:
                    /* WARNING: Subroutine does not return */
      var_6((type_1 *)stderr,1);
    case 0x5f:
      strip_underscore = 1;
      break;
    case 0x68:
                    /* WARNING: Subroutine does not return */
      var_6((type_1 *)stdout,0);
    case 0x69:
      var_7 = var_7 & 0xfffffff7;
      break;
    case 0x6e:
      strip_underscore = 0;
      break;
    case 0x70:
      var_7 = var_7 & 0xfffffffe;
      break;
    case 0x73:
      var_5 = var_8(optarg);
      if (var_5 == 0) {
        var_9(stderr,"%s: unknown demangling style `%s\'\n",program_name,optarg);
        return 1;
      }
      var_10(var_5);
      break;
    case 0x74:
      var_7 = var_7 | 0x10;
      break;
    case 0x76:
      var_11("c++filt");
      return 0;
    }
  }
  if (var_12 < local_3c[0]) {
    do {
      var_13(local_48[var_12]);
      var_14(10,stdout);
      var_12 = var_12 + 1;
    } while (var_12 < local_3c[0]);
    return 0;
  }
  if (var_15 == 0x1000) {
    __s = "_$.<>#,*&[]:(){}";
    goto LAB_00102600;
  }
  if (var_15 < 0x1001) {
    if (var_15 != 0x200) {
      __s = "_$.";
      if (var_15 < 0x201) {
        if ((var_15 != 4) && (var_15 != 0x100)) {
LAB_00102576:
                    /* WARNING: Subroutine does not return */
          var_16("Internal error: no symbol alphabet for current style");
        }
      }
      else if ((var_15 != 0x400) && (var_15 != 0x800))
      goto LAB_00102576;
      goto LAB_00102600;
    }
  }
  else if (var_15 != 0x8000) {
    __s = "_$.";
    if (var_15 < 0x8001) {
      if ((var_15 != 0x2000) && (var_15 != 0x4000))
      goto LAB_00102576;
    }
    else if ((var_15 != 0x10000) && (var_15 != 0x20000))
    goto LAB_00102576;
    goto LAB_00102600;
  }
  __s = "_$.";
LAB_00102600:
  do {
    var_18 = var_17(stdin);
    if (var_18 == 0xffffffff) {
LAB_00102675:
      var_19(stdout);
      return 0;
    }
    var_22 = function_1::lexical_block_5::mbuffer;
    uVar3 = 0;
    while ((var_5 = (int)uVar3, (_sch_istable[(type_3)(var_18 & 0xff) * 2] & 0x8c) != 0 ||
           (var_21 = var_20(__s,var_18), var_21 != (char *)0x0))) {
      __stream = stdin;
      if (var_5 == 0x7ffe) goto LAB_001026cf;
      *var_22 = (char)var_18;
      uVar3 = (type_3)(var_5 + 1);
      var_22 = var_22 + 1;
      var_18 = var_17(__stream);
      if (var_18 == 0xffffffff) {
        main::lexical_block_5::mbuffer[uVar3] = '\0';
        demangle_it(function_1::lexical_block_5::mbuffer);
        goto LAB_00102675;
      }
    }
    if (var_5 == 0) goto LAB_001026a7;
LAB_001026cf:
    main::lexical_block_5::mbuffer[uVar3] = '\0';
    demangle_it(function_1::lexical_block_5::mbuffer);
LAB_001026a7:
    var_14(var_18,stdout);
    if (var_18 == 10) {
      var_19(stdout);
    }
  } while( true );
}


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

undefined8 MASKED(int param_1,undefined8 *param_2)

{
  FILE *__stream;
  int iVar1;
  uint __c;
  char *pcVar2;
  ulong uVar3;
  undefined1 *puVar4;
  char *__s;
  undefined8 *local_48;
  int local_3c [3];
  
  DAT_001102a0 = *param_2;
  local_48 = param_2;
  local_3c[0] = param_1;
  xmalloc_set_program_name();
  bfd_set_error_program_name(DAT_001102a0);
  FUN_001040f0(local_3c,&local_48);
  while (iVar1 = getopt_long(local_3c[0],local_48,"_hinps:tv",&PTR_s_strip_underscore_00107940,0),
        iVar1 != -1) {
    switch(iVar1) {
    case 0x3f:
      FUN_00102830(stderr,1);
    case 0x68:
      FUN_00102830(stdout,0);
LAB_00102709:
      __s = "_$.";
LAB_00102600:
      do {
        __c = getc(stdin);
        if (__c == 0xffffffff) {
LAB_00102675:
          fflush(stdout);
          return 0;
        }
        puVar4 = &DAT_00108280;
        uVar3 = 0;
        while ((iVar1 = (int)uVar3, (_sch_istable[(ulong)(__c & 0xff) * 2] & 0x8c) != 0 ||
               (pcVar2 = strchr(__s,__c), pcVar2 != (char *)0x0))) {
          __stream = stdin;
          if (iVar1 == 0x7ffe) goto LAB_001026cf;
          *puVar4 = (char)__c;
          uVar3 = (ulong)(iVar1 + 1);
          puVar4 = puVar4 + 1;
          __c = getc(__stream);
          if (__c == 0xffffffff) {
            (&DAT_00108280)[uVar3] = 0;
            FUN_00102970(&DAT_00108280);
            goto LAB_00102675;
          }
        }
        if (iVar1 == 0) goto LAB_001026a7;
LAB_001026cf:
        (&DAT_00108280)[uVar3] = 0;
        FUN_00102970(&DAT_00108280);
LAB_001026a7:
        putc(__c,stdout);
        if (__c == 10) {
          fflush(stdout);
        }
      } while( true );
    case 0x5f:
      DAT_00110280 = 1;
      break;
    case 0x69:
      DAT_00108210 = DAT_00108210 & 0xfffffff7;
      break;
    case 0x6e:
      DAT_00110280 = 0;
      break;
    case 0x70:
      DAT_00108210 = DAT_00108210 & 0xfffffffe;
      break;
    case 0x73:
      iVar1 = cplus_demangle_name_to_style(optarg);
      if (iVar1 == 0) {
        fprintf(stderr,"%s: unknown demangling style `%s\'\n",DAT_001102a0,optarg);
        return 1;
      }
      cplus_demangle_set_style(iVar1);
      break;
    case 0x74:
      DAT_00108210 = DAT_00108210 | 0x10;
      break;
    case 0x76:
      FUN_00103ac0("c++filt");
      return 0;
    }
  }
  iVar1 = optind;
  if (optind < local_3c[0]) goto LAB_00102584;
  if (current_demangling_style == 0x1000) {
    __s = "_$.<>#,*&[]:(){}";
    goto LAB_00102600;
  }
  if (current_demangling_style < 0x1001) {
    if (current_demangling_style == 0x200) goto LAB_00102709;
    __s = "_$.";
    if (current_demangling_style < 0x201) {
      if ((current_demangling_style == 4) || (current_demangling_style == 0x100)) goto LAB_00102600;
    }
    else if ((current_demangling_style == 0x400) || (current_demangling_style == 0x800))
    goto LAB_00102600;
  }
  else {
    if (current_demangling_style == 0x8000) goto LAB_00102709;
    __s = "_$.";
    if (current_demangling_style < 0x8001) {
      if ((current_demangling_style == 0x2000) || (current_demangling_style == 0x4000))
      goto LAB_00102600;
    }
    else if ((current_demangling_style == 0x10000) || (current_demangling_style == 0x20000))
    goto LAB_00102600;
  }
  iVar1 = FUN_00102da0("Internal error: no symbol alphabet for current style");
LAB_00102584:
  do {
    FUN_00102970(local_48[iVar1]);
    putc(10,stdout);
    optind = optind + 1;
    iVar1 = optind;
  } while (optind < local_3c[0]);
  return 0;
}

