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

int main(int argc,char **argv)

{
  FILE *__stream;
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  uint __c;
  char *pcVar7;
  int iVar8;
  char *local_2c;
  
  program_name = *argv;
  xmalloc_set_program_name(program_name);
  bfd_set_error_program_name(program_name);
  expandargv(&argc,&argv);
  puVar5 = PTR_optarg_00016ff0;
  while (iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,
        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,
        puVar1 = PTR_optind_00016fcc, iVar6 != -1) {
    switch(iVar6) {
    case 0x3f:
                    /* WARNING: Subroutine does not return */
      usage(*(FILE **)PTR_stderr_00016fc8,1);
    case 0x5f:
      strip_underscore = 1;
      break;
    case 0x68:
                    /* WARNING: Subroutine does not return */
      usage(*(FILE **)PTR_stdout_00016fe4,0);
    case 0x69:
      flags = flags & 0xfffffff7;
      break;
    case 0x6e:
      strip_underscore = 0;
      break;
    case 0x70:
      flags = flags & 0xfffffffe;
      break;
    case 0x73:
      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);
      if (iVar6 == 0) {
        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,
                *(undefined4 *)puVar5);
        return 1;
      }
      cplus_demangle_set_style(iVar6);
      break;
    case 0x74:
      flags = flags | 0x10;
      break;
    case 0x76:
      print_version("c++filt");
      return 0;
    }
  }
  iVar6 = *(int *)PTR_optind_00016fcc;
  if (iVar6 < argc) {
    do {
      demangle_it(argv[iVar6]);
      putc(10,*(FILE **)puVar4);
      iVar6 = *(int *)puVar1 + 1;
      *(int *)puVar1 = iVar6;
    } while (iVar6 < argc);
    return 0;
  }
  iVar6 = *(int *)PTR_current_demangling_style_00016fc4;
  if (iVar6 == 0x1000) {
    local_2c = "_$.<>#,*&[]:(){}";
    goto LAB_00011658;
  }
  if (iVar6 < 0x1001) {
    if (iVar6 != 0x200) {
      if (iVar6 < 0x201) {
        if (iVar6 != 4) {
          local_2c = "_$.";
          if (iVar6 != 0x100) {
LAB_000115de:
                    /* WARNING: Subroutine does not return */
            fatal("Internal error: no symbol alphabet for current style");
          }
          goto LAB_00011658;
        }
      }
      else if (iVar6 != 0x400) {
        local_2c = "_$.";
        if (iVar6 != 0x800) goto LAB_000115de;
        goto LAB_00011658;
      }
    }
  }
  else if (iVar6 != 0x8000) {
    if (iVar6 < 0x8001) {
      if (iVar6 != 0x2000) {
        local_2c = "_$.";
        if (iVar6 != 0x4000) goto LAB_000115de;
        goto LAB_00011658;
      }
    }
    else if (iVar6 != 0x10000) {
      local_2c = "_$.";
      if (iVar6 != 0x20000) goto LAB_000115de;
      goto LAB_00011658;
    }
  }
  local_2c = "_$.";
LAB_00011658:
  do {
    __c = getc(*(FILE **)puVar3);
    if (__c == 0xffffffff) {
LAB_000116d6:
      fflush(*(FILE **)puVar4);
      return 0;
    }
    iVar6 = 0;
    while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||
           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {
      if (iVar8 == 0x7ffe) goto LAB_00011754;
      __stream = *(FILE **)puVar3;
      main::lexical_block_5::mbuffer[iVar8] = (char)__c;
      __c = getc(__stream);
      iVar6 = iVar8 + 1;
      if (__c == 0xffffffff) {
        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';
        demangle_it(main::lexical_block_5::mbuffer);
        goto LAB_000116d6;
      }
    }
    if (iVar8 == 0) goto LAB_0001171f;
LAB_00011754:
    main::lexical_block_5::mbuffer[iVar8] = '\0';
    demangle_it(main::lexical_block_5::mbuffer);
LAB_0001171f:
    putc(__c,*(FILE **)puVar4);
    if (__c == 10) {
      fflush(*(FILE **)puVar4);
    }
  } while( true );
}



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

undefined4 FUN_00011440(int param_1,undefined4 *param_2)

{
  undefined *puVar1;
  int iVar2;
  undefined4 *puVar3;
  char *pcVar4;
  undefined1 *puVar5;
  undefined1 *puVar6;
  undefined1 *puVar7;
  int iVar8;
  undefined **ppuVar9;
  undefined1 auStack_40 [12];
  undefined1 *local_34;
  undefined4 *local_30;
  char *local_2c;
  undefined4 *local_28;
  char *local_24;
  undefined4 *local_18;
  
  DAT_0001f150 = *param_2;
  local_2c = (char *)&DAT_0001f150;
  local_18 = &param_1;
  xmalloc_set_program_name(DAT_0001f150);
  bfd_set_error_program_name(DAT_0001f150);
  FUN_00013220(&param_1,&param_2);
  local_24 = "_hinps:tv";
  puVar6 = auStack_40;
  puVar7 = auStack_40;
  local_28 = (undefined4 *)PTR_optarg_00016ff0;
  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),
        iVar2 != -1) {
    switch(iVar2) {
    case 0x3f:
      FUN_00011980();
    case 0x68:
      FUN_00011980();
      ppuVar9 = &PTR_s_strip_underscore_00016e40;
LAB_00011797:
      local_30 = (undefined4 *)PTR_stdout_00016fe4;
      do {
        FUN_00011ab0();
        putc(10,(FILE *)*local_30);
        puVar1 = *ppuVar9;
        *ppuVar9 = puVar1 + 1;
      } while ((int)(puVar1 + 1) < param_1);
      return 0;
    case 0x5f:
      DAT_0001f140 = 1;
      break;
    case 0x69:
      DAT_0001710c = DAT_0001710c & 0xfffffff7;
      break;
    case 0x6e:
      DAT_0001f140 = 0;
      break;
    case 0x70:
      DAT_0001710c = DAT_0001710c & 0xfffffffe;
      break;
    case 0x73:
      iVar2 = func_0x00011040(*local_28);
      if (iVar2 == 0) {
        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",
                *(undefined4 *)local_2c,*local_28);
        return 1;
      }
      func_0x000110d0(iVar2);
      break;
    case 0x74:
      DAT_0001710c = DAT_0001710c | 0x10;
      break;
    case 0x76:
      FUN_00012ba0(&UNK_000143b8);
      return 0;
    }
  }
  ppuVar9 = (undefined **)PTR_optind_00016fcc;
  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;
  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;
  if (iVar2 == 0x1000) {
    local_2c = "_$.<>#,*&[]:(){}";
    goto LAB_00011632;
  }
  if (0x1000 < iVar2) goto LAB_000115ed;
  puVar7 = auStack_40;
  if (iVar2 != 0x200) {
    if (iVar2 < 0x201) {
      puVar7 = auStack_40;
      if (iVar2 != 4) {
        local_2c = "_$.";
        puVar7 = auStack_40;
        puVar5 = auStack_40;
        if (iVar2 == 0x100) goto LAB_00011632;
LAB_000115de:
        do {
          while( true ) {
            local_2c = "_$.";
            puVar6 = puVar5 + -0x10;
            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";
            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;
            iVar2 = FUN_00011f50();
LAB_000115ed:
            puVar7 = puVar6;
            if (iVar2 == 0x8000) goto LAB_0001170d;
            puVar5 = puVar6;
            if (0x8000 < iVar2) break;
            if (iVar2 == 0x2000) goto LAB_0001170d;
            local_2c = "_$.";
            if (iVar2 == 0x4000) goto LAB_00011632;
          }
          if (iVar2 == 0x10000) goto LAB_0001170d;
          local_2c = "_$.";
        } while (iVar2 != 0x20000);
        goto LAB_00011632;
      }
    }
    else {
      puVar7 = auStack_40;
      if (iVar2 != 0x400) {
        local_2c = "_$.";
        puVar7 = auStack_40;
        puVar5 = auStack_40;
        if (iVar2 == 0x800) goto LAB_00011632;
        goto LAB_000115de;
      }
    }
  }
LAB_0001170d:
  local_2c = "_$.";
LAB_00011632:
  puVar1 = PTR_stdin_00016fdc;
  local_30 = (undefined4 *)PTR_stdout_00016fe4;
  local_24 = PTR__sch_istable_00016fd0;
  do {
    local_34 = &DAT_00017140;
    do {
      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;
      *(undefined4 *)(puVar7 + -0x14) = 0x11662;
      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));
      if (puVar3 == (undefined4 *)0xffffffff) {
LAB_000116d6:
        *(undefined4 *)(puVar7 + -0x10) = *local_30;
        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;
        fflush(*(FILE **)(puVar7 + -0x10));
        return 0;
      }
      iVar2 = 0;
LAB_00011670:
      iVar8 = iVar2;
      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {
LAB_00011699:
        if (iVar8 == 0x7ffe) goto LAB_00011754;
        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;
        (&DAT_00017140)[iVar8] = (char)puVar3;
        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;
        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));
        iVar2 = iVar8 + 1;
        if (puVar3 == (undefined4 *)0xffffffff) {
          (&DAT_00017141)[iVar8] = 0;
          *(undefined4 *)(puVar7 + -4) = 0x116d6;
          FUN_00011ab0();
          goto LAB_000116d6;
        }
        goto LAB_00011670;
      }
      local_28 = puVar3;
      *(undefined4 **)(puVar7 + -0xc) = puVar3;
      *(char **)(puVar7 + -0x10) = local_2c;
      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;
      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));
      puVar3 = local_28;
      if (pcVar4 != (char *)0x0) goto LAB_00011699;
      if (iVar8 == 0) goto LAB_0001171f;
LAB_00011754:
      local_34[iVar8] = 0;
      local_28 = puVar3;
      *(undefined4 *)(puVar7 + -4) = 0x11763;
      FUN_00011ab0();
      puVar3 = local_28;
LAB_0001171f:
      local_28 = puVar3;
      *(undefined4 *)(puVar7 + -0xc) = *local_30;
      *(undefined4 **)(puVar7 + -0x10) = puVar3;
      *(undefined4 *)(puVar7 + -0x14) = 0x11730;
      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));
    } while (local_28 != (undefined4 *)0xa);
    *(undefined4 *)(puVar7 + -0x10) = *local_30;
    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;
    fflush(*(FILE **)(puVar7 + -0x10));
  } while( true );
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
MOV ESI,ECX
PUSH EBX
CALL 0x00011840
ADD EBX,0x5ba9
PUSH ECX
SUB ESP,0x34
MOV EAX,dword ptr [ECX + 0x4]
MOV EAX,dword ptr [EAX]
LEA ECX,[EBX + 0x8150]
MOV dword ptr [ECX],EAX
MOV EDI,ECX
PUSH EAX
MOV dword ptr [EBP + -0x24],ECX
CALL 0x000111a0
POP EDX
PUSH dword ptr [EDI]
CALL 0x00011320
LEA EAX,[ESI + 0x4]
POP ECX
POP EDI
PUSH EAX
LEA EDI,[EBX + 0xfffffe40]
PUSH ESI
CALL 0x00013220
LEA EAX,[EBX + 0xffffd3c0]
ADD ESP,0x10
MOV dword ptr [EBP + -0x1c],EAX
MOV EAX,dword ptr [EBX + 0xfffffff0]
MOV dword ptr [EBP + -0x20],EAX
LEA ESI,[ESI]
NOP
SUB ESP,0xc
PUSH 0x0
PUSH EDI
PUSH dword ptr [EBP + -0x1c]
PUSH dword ptr [ESI + 0x4]
PUSH dword ptr [ESI]
CALL 0x00011240
ADD ESP,0x20
CMP EAX,-0x1
JZ 0x0001158f
SUB EAX,0x3f
CMP EAX,0x37
JA 0x000114b0
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xffffd420]
ADD ECX,EBX
JMP ECX
LEA ESP,[EBP + -0x10]
POP ECX
POP EBX
POP ESI
POP EDI
POP EBP
LEA ESP,[ECX + -0x4]
RET
MOV EDI,dword ptr [EBX + 0xffffffcc]
MOV EAX,dword ptr [EDI]
CMP EAX,dword ptr [ESI]
JL 0x00011797
MOV EAX,dword ptr [EBX + 0xffffffc4]
MOV EAX,dword ptr [EAX]
CMP EAX,0x1000
JZ 0x00011768
JG 0x000115ed
CMP EAX,0x200
JZ 0x0001170d
JG 0x000116ed
CMP EAX,0x4
JZ 0x0001170d
LEA ESI,[EBX + 0xffffd3a3]
MOV dword ptr [EBP + -0x24],ESI
CMP EAX,0x100
JZ 0x00011632
SUB ESP,0xc
LEA EAX,[EBX + 0xffffd344]
PUSH EAX
CALL 0x00011f50
CMP EAX,0x8000
JZ 0x0001170d
JG 0x00011617
CMP EAX,0x2000
JZ 0x0001170d
LEA ESI,[EBX + 0xffffd3a3]
MOV dword ptr [EBP + -0x24],ESI
CMP EAX,0x4000
JZ 0x00011632
JMP 0x000115de
CMP EAX,0x10000
JZ 0x0001170d
LEA ESI,[EBX + 0xffffd3a3]
MOV dword ptr [EBP + -0x24],ESI
CMP EAX,0x20000
JNZ 0x000115de
MOV EAX,dword ptr [EBX + 0xffffffe4]
MOV ESI,dword ptr [EBX + 0xffffffdc]
MOV dword ptr [EBP + -0x28],EAX
MOV EAX,dword ptr [EBX + 0xffffffd0]
MOV dword ptr [EBP + -0x1c],EAX
LEA EAX,[EBX + 0x140]
MOV dword ptr [EBP + -0x2c],EAX
LEA ESI,[ESI]
NOP
SUB ESP,0xc
PUSH dword ptr [ESI]
CALL 0x000113c0
ADD ESP,0x10
MOV EDX,EAX
CMP EAX,-0x1
JZ 0x000116d6
XOR EDI,EDI
NOP
MOV ECX,dword ptr [EBP + -0x1c]
MOVZX EAX,DL
TEST byte ptr [ECX + EAX*0x2],0x8c
JNZ 0x00011699
SUB ESP,0x8
MOV dword ptr [EBP + -0x20],EDX
PUSH EDX
PUSH dword ptr [EBP + -0x24]
CALL 0x00011250
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x20]
TEST EAX,EAX
JZ 0x0001171b
CMP EDI,0x7ffe
JZ 0x00011754
SUB ESP,0xc
PUSH dword ptr [ESI]
ADD EDI,0x1
MOV byte ptr [EDI + EBX*0x1 + 0x13f],DL
CALL 0x000113c0
ADD ESP,0x10
MOV EDX,EAX
CMP EAX,-0x1
JNZ 0x00011670
LEA EAX,[EBX + 0x140]
MOV byte ptr [EBX + EDI*0x1 + 0x140],0x0
CALL 0x00011ab0
MOV EAX,dword ptr [EBP + -0x28]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00011070
ADD ESP,0x10
XOR EAX,EAX
JMP 0x000114fc
CMP EAX,0x400
JZ 0x0001170d
LEA ESI,[EBX + 0xffffd3a3]
MOV dword ptr [EBP + -0x24],ESI
CMP EAX,0x800
JZ 0x00011632
JMP 0x000115de
LEA EAX,[EBX + 0xffffd3a3]
MOV dword ptr [EBP + -0x24],EAX
JMP 0x00011632
TEST EDI,EDI
JNZ 0x00011754
MOV EAX,dword ptr [EBP + -0x28]
SUB ESP,0x8
MOV dword ptr [EBP + -0x20],EDX
PUSH dword ptr [EAX]
PUSH EDX
CALL 0x00011370
MOV EDX,dword ptr [EBP + -0x20]
ADD ESP,0x10
CMP EDX,0xa
JNZ 0x00011658
MOV EAX,dword ptr [EBP + -0x28]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00011070
ADD ESP,0x10
JMP 0x0001164a
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBP + -0x20],EDX
MOV byte ptr [EAX + EDI*0x1],0x0
CALL 0x00011ab0
MOV EDX,dword ptr [EBP + -0x20]
JMP 0x0001171f
LEA EAX,[EBX + 0xffffd3a7]
MOV dword ptr [EBP + -0x24],EAX
JMP 0x00011632
MOV ECX,dword ptr [EBX + 0xffffffe4]
MOV dword ptr [EBP + -0x28],ECX
MOV ECX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [ECX + EAX*0x4]
CALL 0x00011ab0
PUSH EAX
PUSH EAX
MOV EAX,dword ptr [EBP + -0x28]
PUSH dword ptr [EAX]
PUSH 0xa
CALL 0x00011370
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
ADD EAX,0x1
MOV dword ptr [EDI],EAX
CMP EAX,dword ptr [ESI]
JL 0x000117a0
XOR EAX,EAX
JMP 0x000114fc
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00011440(int param_1,undefined4 *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}\n\n" comment (function_definition "undefined4 FUN_00011440(int param_1,undefined4 *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}" type_identifier (function_declarator "FUN_00011440(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "undefined1 auStack_40 [12];" type_identifier (array_declarator "auStack_40 [12]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "DAT_0001f150 = *param_2;" (assignment_expression "DAT_0001f150 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_2c = (char *)&DAT_0001f150;" (assignment_expression "local_2c = (char *)&DAT_0001f150" identifier = (cast_expression "(char *)&DAT_0001f150" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0001f150" & identifier))) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "xmalloc_set_program_name(DAT_0001f150);" (call_expression "xmalloc_set_program_name(DAT_0001f150)" identifier (argument_list "(DAT_0001f150)" ( identifier ))) ;) (expression_statement "bfd_set_error_program_name(DAT_0001f150);" (call_expression "bfd_set_error_program_name(DAT_0001f150)" identifier (argument_list "(DAT_0001f150)" ( identifier ))) ;) (expression_statement "FUN_00013220(&param_1,&param_2);" (call_expression "FUN_00013220(&param_1,&param_2)" identifier (argument_list "(&param_1,&param_2)" ( (pointer_expression "&param_1" & identifier) , (pointer_expression "&param_2" & identifier) ))) ;) (expression_statement "local_24 = "_hinps:tv";" (assignment_expression "local_24 = "_hinps:tv"" identifier = (string_literal ""_hinps:tv"" " string_content ")) ;) (expression_statement "puVar6 = auStack_40;" (assignment_expression "puVar6 = auStack_40" identifier = identifier) ;) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (expression_statement "local_28 = (undefined4 *)PTR_optarg_00016ff0;" (assignment_expression "local_28 = (undefined4 *)PTR_optarg_00016ff0" identifier = (cast_expression "(undefined4 *)PTR_optarg_00016ff0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (while_statement "while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }" while (parenthesized_expression "(iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1)" ( (comma_expression "iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1" (assignment_expression "iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" identifier = (call_expression "getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" identifier (argument_list "(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" ( identifier , identifier , identifier , (pointer_expression "&PTR_s_strip_underscore_00016e40" & identifier) , number_literal )))) , (binary_expression "iVar2 != -1" identifier != number_literal)) )) (compound_statement "{\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }" { (switch_statement "switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }" { (case_statement "case 0x3f:\n      FUN_00011980();" case number_literal : (expression_statement "FUN_00011980();" (call_expression "FUN_00011980()" identifier (argument_list "()" ( ))) ;)) (case_statement "case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;" case number_literal : (expression_statement "FUN_00011980();" (call_expression "FUN_00011980()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar9 = &PTR_s_strip_underscore_00016e40;" (assignment_expression "ppuVar9 = &PTR_s_strip_underscore_00016e40" identifier = (pointer_expression "&PTR_s_strip_underscore_00016e40" & identifier)) ;) (labeled_statement "LAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;" statement_identifier : (expression_statement "local_30 = (undefined4 *)PTR_stdout_00016fe4;" (assignment_expression "local_30 = (undefined4 *)PTR_stdout_00016fe4" identifier = (cast_expression "(undefined4 *)PTR_stdout_00016fe4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (do_statement "do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);" do (compound_statement "{\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      }" { (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(10,(FILE *)*local_30);" (call_expression "putc(10,(FILE *)*local_30)" identifier (argument_list "(10,(FILE *)*local_30)" ( number_literal , (cast_expression "(FILE *)*local_30" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_30" * identifier)) ))) ;) (expression_statement "puVar1 = *ppuVar9;" (assignment_expression "puVar1 = *ppuVar9" identifier = (pointer_expression "*ppuVar9" * identifier)) ;) (expression_statement "*ppuVar9 = puVar1 + 1;" (assignment_expression "*ppuVar9 = puVar1 + 1" (pointer_expression "*ppuVar9" * identifier) = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(puVar1 + 1) < param_1)" ( (binary_expression "(int)(puVar1 + 1) < param_1" (cast_expression "(int)(puVar1 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar1 + 1)" ( (binary_expression "puVar1 + 1" identifier + number_literal) ))) < identifier) )) ;) (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x5f:\n      DAT_0001f140 = 1;\n      break;" case number_literal : (expression_statement "DAT_0001f140 = 1;" (assignment_expression "DAT_0001f140 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;" case number_literal : (expression_statement "DAT_0001710c = DAT_0001710c & 0xfffffff7;" (assignment_expression "DAT_0001710c = DAT_0001710c & 0xfffffff7" identifier = (binary_expression "DAT_0001710c & 0xfffffff7" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n      DAT_0001f140 = 0;\n      break;" case number_literal : (expression_statement "DAT_0001f140 = 0;" (assignment_expression "DAT_0001f140 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;" case number_literal : (expression_statement "DAT_0001710c = DAT_0001710c & 0xfffffffe;" (assignment_expression "DAT_0001710c = DAT_0001710c & 0xfffffffe" identifier = (binary_expression "DAT_0001710c & 0xfffffffe" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;" case number_literal : (expression_statement "iVar2 = func_0x00011040(*local_28);" (assignment_expression "iVar2 = func_0x00011040(*local_28)" identifier = (call_expression "func_0x00011040(*local_28)" identifier (argument_list "(*local_28)" ( (pointer_expression "*local_28" * identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }" { (expression_statement "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);" (call_expression "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28)" identifier (argument_list "(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28)" ( (pointer_expression "*(FILE **)PTR_stderr_00016fc8" * (cast_expression "(FILE **)PTR_stderr_00016fc8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: unknown demangling style `%s\'\n"" " string_content escape_sequence escape_sequence ") , (pointer_expression "*(undefined4 *)local_2c" * (cast_expression "(undefined4 *)local_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "*local_28" * identifier) ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "func_0x000110d0(iVar2);" (call_expression "func_0x000110d0(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;" case number_literal : (expression_statement "DAT_0001710c = DAT_0001710c | 0x10;" (assignment_expression "DAT_0001710c = DAT_0001710c | 0x10" identifier = (binary_expression "DAT_0001710c | 0x10" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;" case number_literal : (expression_statement "FUN_00012ba0(&UNK_000143b8);" (call_expression "FUN_00012ba0(&UNK_000143b8)" identifier (argument_list "(&UNK_000143b8)" ( (pointer_expression "&UNK_000143b8" & identifier) ))) ;) (return_statement "return 0;" return number_literal ;)) })) })) (expression_statement "ppuVar9 = (undefined **)PTR_optind_00016fcc;" (assignment_expression "ppuVar9 = (undefined **)PTR_optind_00016fcc" identifier = (cast_expression "(undefined **)PTR_optind_00016fcc" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;" if (parenthesized_expression "(*(int *)PTR_optind_00016fcc < param_1)" ( (binary_expression "*(int *)PTR_optind_00016fcc < param_1" (pointer_expression "*(int *)PTR_optind_00016fcc" * (cast_expression "(int *)PTR_optind_00016fcc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_00011797;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)PTR_current_demangling_style_00016fc4;" (assignment_expression "iVar2 = *(int *)PTR_current_demangling_style_00016fc4" identifier = (pointer_expression "*(int *)PTR_current_demangling_style_00016fc4" * (cast_expression "(int *)PTR_current_demangling_style_00016fc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }" if (parenthesized_expression "(iVar2 == 0x1000)" ( (binary_expression "iVar2 == 0x1000" identifier == number_literal) )) (compound_statement "{\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }" { (expression_statement "local_2c = "_$.<>#,*&[]:(){}";" (assignment_expression "local_2c = "_$.<>#,*&[]:(){}"" identifier = (string_literal ""_$.<>#,*&[]:(){}"" " string_content ")) ;) (goto_statement "goto LAB_00011632;" goto statement_identifier ;) })) (if_statement "if (0x1000 < iVar2) goto LAB_000115ed;" if (parenthesized_expression "(0x1000 < iVar2)" ( (binary_expression "0x1000 < iVar2" number_literal < identifier) )) (goto_statement "goto LAB_000115ed;" goto statement_identifier ;)) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 != 0x200)" ( (binary_expression "iVar2 != 0x200" identifier != number_literal) )) (compound_statement "{\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }" { (if_statement "if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" if (parenthesized_expression "(iVar2 < 0x201)" ( (binary_expression "iVar2 < 0x201" identifier < number_literal) )) (compound_statement "{\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }" { (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (compound_statement "{\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (expression_statement "puVar5 = auStack_40;" (assignment_expression "puVar5 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 == 0x100) goto LAB_00011632;" if (parenthesized_expression "(iVar2 == 0x100)" ( (binary_expression "iVar2 == 0x100" identifier == number_literal) )) (goto_statement "goto LAB_00011632;" goto statement_identifier ;)) (labeled_statement "LAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);" statement_identifier : (do_statement "do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);" do (compound_statement "{\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        }" { (while_statement "while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (expression_statement "puVar6 = puVar5 + -0x10;" (assignment_expression "puVar6 = puVar5 + -0x10" identifier = (binary_expression "puVar5 + -0x10" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";" (assignment_expression "*(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style"" (pointer_expression "*(char **)(puVar5 + -0x10)" * (cast_expression "(char **)(puVar5 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + -0x10)" ( (binary_expression "puVar5 + -0x10" identifier + number_literal) )))) = (string_literal ""Internal error: no symbol alphabet for current style"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar5 + -0x14) = 0x115ed;" (assignment_expression "*(undefined4 *)(puVar5 + -0x14) = 0x115ed" (pointer_expression "*(undefined4 *)(puVar5 + -0x14)" * (cast_expression "(undefined4 *)(puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x14)" ( (binary_expression "puVar5 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = FUN_00011f50();" (assignment_expression "iVar2 = FUN_00011f50()" identifier = (call_expression "FUN_00011f50()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_000115ed:\n            puVar7 = puVar6;" statement_identifier : (expression_statement "puVar7 = puVar6;" (assignment_expression "puVar7 = puVar6" identifier = identifier) ;)) (if_statement "if (iVar2 == 0x8000) goto LAB_0001170d;" if (parenthesized_expression "(iVar2 == 0x8000)" ( (binary_expression "iVar2 == 0x8000" identifier == number_literal) )) (goto_statement "goto LAB_0001170d;" goto statement_identifier ;)) (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (if_statement "if (0x8000 < iVar2) break;" if (parenthesized_expression "(0x8000 < iVar2)" ( (binary_expression "0x8000 < iVar2" number_literal < identifier) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0x2000) goto LAB_0001170d;" if (parenthesized_expression "(iVar2 == 0x2000)" ( (binary_expression "iVar2 == 0x2000" identifier == number_literal) )) (goto_statement "goto LAB_0001170d;" goto statement_identifier ;)) (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (iVar2 == 0x4000) goto LAB_00011632;" if (parenthesized_expression "(iVar2 == 0x4000)" ( (binary_expression "iVar2 == 0x4000" identifier == number_literal) )) (goto_statement "goto LAB_00011632;" goto statement_identifier ;)) })) (if_statement "if (iVar2 == 0x10000) goto LAB_0001170d;" if (parenthesized_expression "(iVar2 == 0x10000)" ( (binary_expression "iVar2 == 0x10000" identifier == number_literal) )) (goto_statement "goto LAB_0001170d;" goto statement_identifier ;)) (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) }) while (parenthesized_expression "(iVar2 != 0x20000)" ( (binary_expression "iVar2 != 0x20000" identifier != number_literal) )) ;)) (goto_statement "goto LAB_00011632;" goto statement_identifier ;) })) }) (else_clause "else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" else (compound_statement "{\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" { (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }" if (parenthesized_expression "(iVar2 != 0x400)" ( (binary_expression "iVar2 != 0x400" identifier != number_literal) )) (compound_statement "{\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (expression_statement "puVar5 = auStack_40;" (assignment_expression "puVar5 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 == 0x800) goto LAB_00011632;" if (parenthesized_expression "(iVar2 == 0x800)" ( (binary_expression "iVar2 == 0x800" identifier == number_literal) )) (goto_statement "goto LAB_00011632;" goto statement_identifier ;)) (goto_statement "goto LAB_000115de;" goto statement_identifier ;) })) }))) })) (labeled_statement "LAB_0001170d:\n  local_2c = "_$.";" statement_identifier : (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;)) (labeled_statement "LAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;" statement_identifier : (expression_statement "puVar1 = PTR_stdin_00016fdc;" (assignment_expression "puVar1 = PTR_stdin_00016fdc" identifier = identifier) ;)) (expression_statement "local_30 = (undefined4 *)PTR_stdout_00016fe4;" (assignment_expression "local_30 = (undefined4 *)PTR_stdout_00016fe4" identifier = (cast_expression "(undefined4 *)PTR_stdout_00016fe4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_24 = PTR__sch_istable_00016fd0;" (assignment_expression "local_24 = PTR__sch_istable_00016fd0" identifier = identifier) ;) (do_statement "do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );" do (compound_statement "{\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  }" { (expression_statement "local_34 = &DAT_00017140;" (assignment_expression "local_34 = &DAT_00017140" identifier = (pointer_expression "&DAT_00017140" & identifier)) ;) (do_statement "do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);" do (compound_statement "{\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    }" { (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x11662;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x11662" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));" (assignment_expression "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" identifier = (cast_expression "(undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getc(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))))) ;) (if_statement "if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }" if (parenthesized_expression "(puVar3 == (undefined4 *)0xffffffff)" ( (binary_expression "puVar3 == (undefined4 *)0xffffffff" identifier == (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }" { (labeled_statement "LAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;" statement_identifier : (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_30" * identifier)) ;)) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x116e3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x116e3" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar7 + -0x10));" (call_expression "fflush(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00011670:\n      iVar8 = iVar2;" statement_identifier : (expression_statement "iVar8 = iVar2;" (assignment_expression "iVar8 = iVar2" identifier = identifier) ;)) (if_statement "if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }" if (parenthesized_expression "((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0)" ( (binary_expression "(local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0" (parenthesized_expression "(local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU)" ( (binary_expression "local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU" (subscript_expression "local_24[((uint)puVar3 & 0xff) * 2]" identifier [ (binary_expression "((uint)puVar3 & 0xff) * 2" (parenthesized_expression "((uint)puVar3 & 0xff)" ( (binary_expression "(uint)puVar3 & 0xff" (cast_expression "(uint)puVar3" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }" { (labeled_statement "LAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;" statement_identifier : (if_statement "if (iVar8 == 0x7ffe) goto LAB_00011754;" if (parenthesized_expression "(iVar8 == 0x7ffe)" ( (binary_expression "iVar8 == 0x7ffe" identifier == number_literal) )) (goto_statement "goto LAB_00011754;" goto statement_identifier ;))) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(&DAT_00017140)[iVar8] = (char)puVar3;" (assignment_expression "(&DAT_00017140)[iVar8] = (char)puVar3" (subscript_expression "(&DAT_00017140)[iVar8]" (parenthesized_expression "(&DAT_00017140)" ( (pointer_expression "&DAT_00017140" & identifier) )) [ identifier ]) = (cast_expression "(char)puVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x116b9;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x116b9" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));" (assignment_expression "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" identifier = (cast_expression "(undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getc(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar2 = iVar8 + 1;" (assignment_expression "iVar2 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }" if (parenthesized_expression "(puVar3 == (undefined4 *)0xffffffff)" ( (binary_expression "puVar3 == (undefined4 *)0xffffffff" identifier == (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }" { (expression_statement "(&DAT_00017141)[iVar8] = 0;" (assignment_expression "(&DAT_00017141)[iVar8] = 0" (subscript_expression "(&DAT_00017141)[iVar8]" (parenthesized_expression "(&DAT_00017141)" ( (pointer_expression "&DAT_00017141" & identifier) )) [ identifier ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x116d6;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x116d6" (pointer_expression "*(undefined4 *)(puVar7 + -4)" * (cast_expression "(undefined4 *)(puVar7 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000116d6;" goto statement_identifier ;) })) (goto_statement "goto LAB_00011670;" goto statement_identifier ;) })) (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" identifier = identifier) ;) (expression_statement "*(undefined4 **)(puVar7 + -0xc) = puVar3;" (assignment_expression "*(undefined4 **)(puVar7 + -0xc) = puVar3" (pointer_expression "*(undefined4 **)(puVar7 + -0xc)" * (cast_expression "(undefined4 **)(puVar7 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar7 + -0x10) = local_2c;" (assignment_expression "*(char **)(puVar7 + -0x10) = local_2c" (pointer_expression "*(char **)(puVar7 + -0x10)" * (cast_expression "(char **)(puVar7 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1168b;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1168b" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));" (assignment_expression "pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" identifier = (call_expression "strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" identifier (argument_list "(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" ( (pointer_expression "*(char **)(puVar7 + -0x10)" * (cast_expression "(char **)(puVar7 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar7 + -0xc)" * (cast_expression "(int *)(puVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "puVar3 = local_28;" (assignment_expression "puVar3 = local_28" identifier = identifier) ;) (if_statement "if (pcVar4 != (char *)0x0) goto LAB_00011699;" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011699;" goto statement_identifier ;)) (if_statement "if (iVar8 == 0) goto LAB_0001171f;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001171f;" goto statement_identifier ;)) (labeled_statement "LAB_00011754:\n      local_34[iVar8] = 0;" statement_identifier : (expression_statement "local_34[iVar8] = 0;" (assignment_expression "local_34[iVar8] = 0" (subscript_expression "local_34[iVar8]" identifier [ identifier ]) = number_literal) ;)) (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x11763;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x11763" (pointer_expression "*(undefined4 *)(puVar7 + -4)" * (cast_expression "(undefined4 *)(puVar7 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar3 = local_28;" (assignment_expression "puVar3 = local_28" identifier = identifier) ;) (labeled_statement "LAB_0001171f:\n      local_28 = puVar3;" statement_identifier : (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(puVar7 + -0xc) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0xc) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0xc)" * (cast_expression "(undefined4 *)(puVar7 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (pointer_expression "*local_30" * identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x10) = puVar3;" (assignment_expression "*(undefined4 **)(puVar7 + -0x10) = puVar3" (pointer_expression "*(undefined4 **)(puVar7 + -0x10)" * (cast_expression "(undefined4 **)(puVar7 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x11730;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x11730" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));" (call_expression "putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc))" identifier (argument_list "(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc))" ( (pointer_expression "*(int *)(puVar7 + -0x10)" * (cast_expression "(int *)(puVar7 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar7 + -0xc)" * (cast_expression "(FILE **)(puVar7 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "(local_28 != (undefined4 *)0xa)" ( (binary_expression "local_28 != (undefined4 *)0xa" identifier != (cast_expression "(undefined4 *)0xa" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_30" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1174c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1174c" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar7 + -0x10));" (call_expression "fflush(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint main(int argc,char **argv)\n\n{\n  FILE *__stream;\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  uint __c;\n  char *pcVar7;\n  int iVar8;\n  char *local_2c;\n  \n  program_name = *argv;\n  xmalloc_set_program_name(program_name);\n  bfd_set_error_program_name(program_name);\n  expandargv(&argc,&argv);\n  puVar5 = PTR_optarg_00016ff0;\n  while (iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,\n        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1) {\n    switch(iVar6) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stderr_00016fc8,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stdout_00016fe4,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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\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  iVar6 = *(int *)PTR_optind_00016fcc;\n  if (iVar6 < argc) {\n    do {\n      demangle_it(argv[iVar6]);\n      putc(10,*(FILE **)puVar4);\n      iVar6 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar6;\n    } while (iVar6 < argc);\n    return 0;\n  }\n  iVar6 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar6 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011658;\n  }\n  if (iVar6 < 0x1001) {\n    if (iVar6 != 0x200) {\n      if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n  }\n  else if (iVar6 != 0x8000) {\n    if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }\n  }\n  local_2c = "_$.";\nLAB_00011658:\n  do {\n    __c = getc(*(FILE **)puVar3);\n    if (__c == 0xffffffff) {\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }\n    iVar6 = 0;\n    while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }\n    if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n    main::lexical_block_5::mbuffer[iVar8] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_0001171f:\n    putc(__c,*(FILE **)puVar4);\n    if (__c == 10) {\n      fflush(*(FILE **)puVar4);\n    }\n  } while( true );\n}\n\n" comment (function_definition "int main(int argc,char **argv)\n\n{\n  FILE *__stream;\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  uint __c;\n  char *pcVar7;\n  int iVar8;\n  char *local_2c;\n  \n  program_name = *argv;\n  xmalloc_set_program_name(program_name);\n  bfd_set_error_program_name(program_name);\n  expandargv(&argc,&argv);\n  puVar5 = PTR_optarg_00016ff0;\n  while (iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,\n        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1) {\n    switch(iVar6) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stderr_00016fc8,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stdout_00016fe4,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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\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  iVar6 = *(int *)PTR_optind_00016fcc;\n  if (iVar6 < argc) {\n    do {\n      demangle_it(argv[iVar6]);\n      putc(10,*(FILE **)puVar4);\n      iVar6 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar6;\n    } while (iVar6 < argc);\n    return 0;\n  }\n  iVar6 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar6 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011658;\n  }\n  if (iVar6 < 0x1001) {\n    if (iVar6 != 0x200) {\n      if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n  }\n  else if (iVar6 != 0x8000) {\n    if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }\n  }\n  local_2c = "_$.";\nLAB_00011658:\n  do {\n    __c = getc(*(FILE **)puVar3);\n    if (__c == 0xffffffff) {\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }\n    iVar6 = 0;\n    while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }\n    if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n    main::lexical_block_5::mbuffer[iVar8] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_0001171f:\n    putc(__c,*(FILE **)puVar4);\n    if (__c == 10) {\n      fflush(*(FILE **)puVar4);\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  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  uint __c;\n  char *pcVar7;\n  int iVar8;\n  char *local_2c;\n  \n  program_name = *argv;\n  xmalloc_set_program_name(program_name);\n  bfd_set_error_program_name(program_name);\n  expandargv(&argc,&argv);\n  puVar5 = PTR_optarg_00016ff0;\n  while (iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,\n        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1) {\n    switch(iVar6) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stderr_00016fc8,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stdout_00016fe4,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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\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  iVar6 = *(int *)PTR_optind_00016fcc;\n  if (iVar6 < argc) {\n    do {\n      demangle_it(argv[iVar6]);\n      putc(10,*(FILE **)puVar4);\n      iVar6 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar6;\n    } while (iVar6 < argc);\n    return 0;\n  }\n  iVar6 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar6 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011658;\n  }\n  if (iVar6 < 0x1001) {\n    if (iVar6 != 0x200) {\n      if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n  }\n  else if (iVar6 != 0x8000) {\n    if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }\n  }\n  local_2c = "_$.";\nLAB_00011658:\n  do {\n    __c = getc(*(FILE **)puVar3);\n    if (__c == 0xffffffff) {\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }\n    iVar6 = 0;\n    while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }\n    if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n    main::lexical_block_5::mbuffer[iVar8] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_0001171f:\n    putc(__c,*(FILE **)puVar4);\n    if (__c == 10) {\n      fflush(*(FILE **)puVar4);\n    }\n  } while( true );\n}" { (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint __c;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "program_name = *argv;" (assignment_expression "program_name = *argv" identifier = (pointer_expression "*argv" * identifier)) ;) (expression_statement "xmalloc_set_program_name(program_name);" (call_expression "xmalloc_set_program_name(program_name)" identifier (argument_list "(program_name)" ( identifier ))) ;) (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(&argc,&argv);" (call_expression "expandargv(&argc,&argv)" identifier (argument_list "(&argc,&argv)" ( (pointer_expression "&argc" & identifier) , (pointer_expression "&argv" & identifier) ))) ;) (expression_statement "puVar5 = PTR_optarg_00016ff0;" (assignment_expression "puVar5 = PTR_optarg_00016ff0" identifier = identifier) ;) (while_statement "while (iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,\n        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1) {\n    switch(iVar6) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stderr_00016fc8,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stdout_00016fe4,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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\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 "(iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,\n        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1)" ( (comma_expression "iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,\n        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1" (assignment_expression "iVar6 = getopt_long(argc,argv,"_hinps:tv",long_options,0)" identifier = (call_expression "getopt_long(argc,argv,"_hinps:tv",long_options,0)" identifier (argument_list "(argc,argv,"_hinps:tv",long_options,0)" ( identifier , identifier , (string_literal ""_hinps:tv"" " string_content ") , identifier , number_literal )))) , (comma_expression "puVar4 = PTR_stdout_00016fe4,\n        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1" (assignment_expression "puVar4 = PTR_stdout_00016fe4" identifier = identifier) , (comma_expression "puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1" (assignment_expression "puVar3 = PTR_stdin_00016fdc" identifier = identifier) , (comma_expression "puVar2 = PTR__sch_istable_00016fd0,\n        puVar1 = PTR_optind_00016fcc, iVar6 != -1" (assignment_expression "puVar2 = PTR__sch_istable_00016fd0" identifier = identifier) , (comma_expression "puVar1 = PTR_optind_00016fcc, iVar6 != -1" (assignment_expression "puVar1 = PTR_optind_00016fcc" identifier = identifier) , (binary_expression "iVar6 != -1" identifier != number_literal)))))) )) (compound_statement "{\n    switch(iVar6) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stderr_00016fc8,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stdout_00016fe4,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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\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(iVar6) {\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stderr_00016fc8,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stdout_00016fe4,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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\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 "(iVar6)" ( identifier )) (compound_statement "{\n    case 0x3f:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stderr_00016fc8,1);\n    case 0x5f:\n      strip_underscore = 1;\n      break;\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(*(FILE **)PTR_stdout_00016fe4,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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\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 **)PTR_stderr_00016fc8,1);" case number_literal : comment (expression_statement "usage(*(FILE **)PTR_stderr_00016fc8,1);" (call_expression "usage(*(FILE **)PTR_stderr_00016fc8,1)" identifier (argument_list "(*(FILE **)PTR_stderr_00016fc8,1)" ( (pointer_expression "*(FILE **)PTR_stderr_00016fc8" * (cast_expression "(FILE **)PTR_stderr_00016fc8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (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 **)PTR_stdout_00016fe4,0);" case number_literal : comment (expression_statement "usage(*(FILE **)PTR_stdout_00016fe4,0);" (call_expression "usage(*(FILE **)PTR_stdout_00016fe4,0)" identifier (argument_list "(*(FILE **)PTR_stdout_00016fe4,0)" ( (pointer_expression "*(FILE **)PTR_stdout_00016fe4" * (cast_expression "(FILE **)PTR_stdout_00016fe4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (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      iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);\n      if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }\n      cplus_demangle_set_style(iVar6);\n      break;" case number_literal : (expression_statement "iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5);" (assignment_expression "iVar6 = cplus_demangle_name_to_style(*(undefined4 *)puVar5)" identifier = (call_expression "cplus_demangle_name_to_style(*(undefined4 *)puVar5)" identifier (argument_list "(*(undefined4 *)puVar5)" ( (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar6 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);\n        return 1;\n      }" { (expression_statement "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5);" (call_expression "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5)" identifier (argument_list "(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,\n                *(undefined4 *)puVar5)" ( (pointer_expression "*(FILE **)PTR_stderr_00016fc8" * (cast_expression "(FILE **)PTR_stderr_00016fc8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: unknown demangling style `%s\'\n"" " string_content escape_sequence escape_sequence ") , identifier , (pointer_expression "*(undefined4 *)puVar5" * (cast_expression "(undefined4 *)puVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "cplus_demangle_set_style(iVar6);" (call_expression "cplus_demangle_set_style(iVar6)" identifier (argument_list "(iVar6)" ( 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 ;)) })) })) (expression_statement "iVar6 = *(int *)PTR_optind_00016fcc;" (assignment_expression "iVar6 = *(int *)PTR_optind_00016fcc" identifier = (pointer_expression "*(int *)PTR_optind_00016fcc" * (cast_expression "(int *)PTR_optind_00016fcc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar6 < argc) {\n    do {\n      demangle_it(argv[iVar6]);\n      putc(10,*(FILE **)puVar4);\n      iVar6 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar6;\n    } while (iVar6 < argc);\n    return 0;\n  }" if (parenthesized_expression "(iVar6 < argc)" ( (binary_expression "iVar6 < argc" identifier < identifier) )) (compound_statement "{\n    do {\n      demangle_it(argv[iVar6]);\n      putc(10,*(FILE **)puVar4);\n      iVar6 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar6;\n    } while (iVar6 < argc);\n    return 0;\n  }" { (do_statement "do {\n      demangle_it(argv[iVar6]);\n      putc(10,*(FILE **)puVar4);\n      iVar6 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar6;\n    } while (iVar6 < argc);" do (compound_statement "{\n      demangle_it(argv[iVar6]);\n      putc(10,*(FILE **)puVar4);\n      iVar6 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar6;\n    }" { (expression_statement "demangle_it(argv[iVar6]);" (call_expression "demangle_it(argv[iVar6])" identifier (argument_list "(argv[iVar6])" ( (subscript_expression "argv[iVar6]" identifier [ identifier ]) ))) ;) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "iVar6 = *(int *)puVar1 + 1;" (assignment_expression "iVar6 = *(int *)puVar1 + 1" identifier = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar1 = iVar6;" (assignment_expression "*(int *)puVar1 = iVar6" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) while (parenthesized_expression "(iVar6 < argc)" ( (binary_expression "iVar6 < argc" identifier < identifier) )) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar6 = *(int *)PTR_current_demangling_style_00016fc4;" (assignment_expression "iVar6 = *(int *)PTR_current_demangling_style_00016fc4" identifier = (pointer_expression "*(int *)PTR_current_demangling_style_00016fc4" * (cast_expression "(int *)PTR_current_demangling_style_00016fc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar6 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011658;\n  }" if (parenthesized_expression "(iVar6 == 0x1000)" ( (binary_expression "iVar6 == 0x1000" identifier == number_literal) )) (compound_statement "{\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011658;\n  }" { (expression_statement "local_2c = "_$.<>#,*&[]:(){}";" (assignment_expression "local_2c = "_$.<>#,*&[]:(){}"" identifier = (string_literal ""_$.<>#,*&[]:(){}"" " string_content ")) ;) (goto_statement "goto LAB_00011658;" goto statement_identifier ;) })) (if_statement "if (iVar6 < 0x1001) {\n    if (iVar6 != 0x200) {\n      if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n  }\n  else if (iVar6 != 0x8000) {\n    if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }\n  }" if (parenthesized_expression "(iVar6 < 0x1001)" ( (binary_expression "iVar6 < 0x1001" identifier < number_literal) )) (compound_statement "{\n    if (iVar6 != 0x200) {\n      if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n  }" { (if_statement "if (iVar6 != 0x200) {\n      if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }" if (parenthesized_expression "(iVar6 != 0x200)" ( (binary_expression "iVar6 != 0x200" identifier != number_literal) )) (compound_statement "{\n      if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }" { (if_statement "if (iVar6 < 0x201) {\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }\n      else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }" if (parenthesized_expression "(iVar6 < 0x201)" ( (binary_expression "iVar6 < 0x201" identifier < number_literal) )) (compound_statement "{\n        if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }\n      }" { (if_statement "if (iVar6 != 4) {\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }" if (parenthesized_expression "(iVar6 != 4)" ( (binary_expression "iVar6 != 4" identifier != number_literal) )) (compound_statement "{\n          local_2c = "_$.";\n          if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }\n          goto LAB_00011658;\n        }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (iVar6 != 0x100) {\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }" if (parenthesized_expression "(iVar6 != 0x100)" ( (binary_expression "iVar6 != 0x100" identifier != number_literal) )) (compound_statement "{\nLAB_000115de:\n                    /* WARNING: Subroutine does not return */\n            fatal("Internal error: no symbol alphabet for current style");\n          }" { (labeled_statement "LAB_000115de:\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 ") ))) ;)) })) (goto_statement "goto LAB_00011658;" goto statement_identifier ;) })) }) (else_clause "else if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }" else (if_statement "if (iVar6 != 0x400) {\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }" if (parenthesized_expression "(iVar6 != 0x400)" ( (binary_expression "iVar6 != 0x400" identifier != number_literal) )) (compound_statement "{\n        local_2c = "_$.";\n        if (iVar6 != 0x800) goto LAB_000115de;\n        goto LAB_00011658;\n      }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (iVar6 != 0x800) goto LAB_000115de;" if (parenthesized_expression "(iVar6 != 0x800)" ( (binary_expression "iVar6 != 0x800" identifier != number_literal) )) (goto_statement "goto LAB_000115de;" goto statement_identifier ;)) (goto_statement "goto LAB_00011658;" goto statement_identifier ;) })))) })) }) (else_clause "else if (iVar6 != 0x8000) {\n    if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }\n  }" else (if_statement "if (iVar6 != 0x8000) {\n    if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }\n  }" if (parenthesized_expression "(iVar6 != 0x8000)" ( (binary_expression "iVar6 != 0x8000" identifier != number_literal) )) (compound_statement "{\n    if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }\n  }" { (if_statement "if (iVar6 < 0x8001) {\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }\n    else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }" if (parenthesized_expression "(iVar6 < 0x8001)" ( (binary_expression "iVar6 < 0x8001" identifier < number_literal) )) (compound_statement "{\n      if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }\n    }" { (if_statement "if (iVar6 != 0x2000) {\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }" if (parenthesized_expression "(iVar6 != 0x2000)" ( (binary_expression "iVar6 != 0x2000" identifier != number_literal) )) (compound_statement "{\n        local_2c = "_$.";\n        if (iVar6 != 0x4000) goto LAB_000115de;\n        goto LAB_00011658;\n      }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (iVar6 != 0x4000) goto LAB_000115de;" if (parenthesized_expression "(iVar6 != 0x4000)" ( (binary_expression "iVar6 != 0x4000" identifier != number_literal) )) (goto_statement "goto LAB_000115de;" goto statement_identifier ;)) (goto_statement "goto LAB_00011658;" goto statement_identifier ;) })) }) (else_clause "else if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }" else (if_statement "if (iVar6 != 0x10000) {\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }" if (parenthesized_expression "(iVar6 != 0x10000)" ( (binary_expression "iVar6 != 0x10000" identifier != number_literal) )) (compound_statement "{\n      local_2c = "_$.";\n      if (iVar6 != 0x20000) goto LAB_000115de;\n      goto LAB_00011658;\n    }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (iVar6 != 0x20000) goto LAB_000115de;" if (parenthesized_expression "(iVar6 != 0x20000)" ( (binary_expression "iVar6 != 0x20000" identifier != number_literal) )) (goto_statement "goto LAB_000115de;" goto statement_identifier ;)) (goto_statement "goto LAB_00011658;" goto statement_identifier ;) })))) })))) (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (labeled_statement "LAB_00011658:\n  do {\n    __c = getc(*(FILE **)puVar3);\n    if (__c == 0xffffffff) {\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }\n    iVar6 = 0;\n    while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }\n    if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n    main::lexical_block_5::mbuffer[iVar8] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_0001171f:\n    putc(__c,*(FILE **)puVar4);\n    if (__c == 10) {\n      fflush(*(FILE **)puVar4);\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    __c = getc(*(FILE **)puVar3);\n    if (__c == 0xffffffff) {\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }\n    iVar6 = 0;\n    while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }\n    if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n    main::lexical_block_5::mbuffer[iVar8] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_0001171f:\n    putc(__c,*(FILE **)puVar4);\n    if (__c == 10) {\n      fflush(*(FILE **)puVar4);\n    }\n  } while( true );" do (compound_statement "{\n    __c = getc(*(FILE **)puVar3);\n    if (__c == 0xffffffff) {\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }\n    iVar6 = 0;\n    while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }\n    if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n    main::lexical_block_5::mbuffer[iVar8] = '\0';\n    demangle_it(main::lexical_block_5::mbuffer);\nLAB_0001171f:\n    putc(__c,*(FILE **)puVar4);\n    if (__c == 10) {\n      fflush(*(FILE **)puVar4);\n    }\n  }" { (expression_statement "__c = getc(*(FILE **)puVar3);" (assignment_expression "__c = getc(*(FILE **)puVar3)" identifier = (call_expression "getc(*(FILE **)puVar3)" identifier (argument_list "(*(FILE **)puVar3)" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )))) ;) (if_statement "if (__c == 0xffffffff) {\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\nLAB_000116d6:\n      fflush(*(FILE **)puVar4);\n      return 0;\n    }" { (labeled_statement "LAB_000116d6:\n      fflush(*(FILE **)puVar4);" statement_identifier : (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" identifier (argument_list "(*(FILE **)puVar4)" ( (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;)) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (while_statement "while ((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))) {\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }" while (parenthesized_expression "((iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0)))" ( (parenthesized_expression "(iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0))" ( (comma_expression "iVar8 = iVar6, (puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0)" (assignment_expression "iVar8 = iVar6" identifier = identifier) , (binary_expression "(puVar2[(__c & 0xff) * 2] & 0x8c) != 0 ||\n           (pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0)" (binary_expression "(puVar2[(__c & 0xff) * 2] & 0x8c) != 0" (parenthesized_expression "(puVar2[(__c & 0xff) * 2] & 0x8c)" ( (binary_expression "puVar2[(__c & 0xff) * 2] & 0x8c" (subscript_expression "puVar2[(__c & 0xff) * 2]" identifier [ (binary_expression "(__c & 0xff) * 2" (parenthesized_expression "(__c & 0xff)" ( (binary_expression "__c & 0xff" identifier & number_literal) )) * number_literal) ]) & number_literal) )) != number_literal) || (parenthesized_expression "(pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0)" ( (comma_expression "pcVar7 = strchr(local_2c,__c), pcVar7 != (char *)0x0" (assignment_expression "pcVar7 = strchr(local_2c,__c)" identifier = (call_expression "strchr(local_2c,__c)" identifier (argument_list "(local_2c,__c)" ( identifier , identifier )))) , (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) )) (compound_statement "{\n      if (iVar8 == 0x7ffe) goto LAB_00011754;\n      __stream = *(FILE **)puVar3;\n      main::lexical_block_5::mbuffer[iVar8] = (char)__c;\n      __c = getc(__stream);\n      iVar6 = iVar8 + 1;\n      if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }\n    }" { (if_statement "if (iVar8 == 0x7ffe) goto LAB_00011754;" if (parenthesized_expression "(iVar8 == 0x7ffe)" ( (binary_expression "iVar8 == 0x7ffe" identifier == number_literal) )) (goto_statement "goto LAB_00011754;" goto statement_identifier ;)) (expression_statement "__stream = *(FILE **)puVar3;" (assignment_expression "__stream = *(FILE **)puVar3" identifier = (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (labeled_statement "main::lexical_block_5::mbuffer[iVar8] = (char)__c;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_5::mbuffer[iVar8] = (char)__c;" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer[iVar8] = (char)__c;" (assignment_expression "mbuffer[iVar8] = (char)__c" (subscript_expression "mbuffer[iVar8]" identifier [ identifier ]) = (cast_expression "(char)__c" ( (type_descriptor "char" primitive_type) ) identifier)) ;))) (expression_statement "__c = getc(__stream);" (assignment_expression "__c = getc(__stream)" identifier = (call_expression "getc(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (expression_statement "iVar6 = iVar8 + 1;" (assignment_expression "iVar6 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (__c == 0xffffffff) {\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }" if (parenthesized_expression "(__c == 0xffffffff)" ( (binary_expression "__c == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';\n        demangle_it(main::lexical_block_5::mbuffer);\n        goto LAB_000116d6;\n      }" { (labeled_statement "main::lexical_block_5::mbuffer[iVar8 + 1] = '\0';" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_5::mbuffer[iVar8 + 1] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer[iVar8 + 1] = '\0';" (assignment_expression "mbuffer[iVar8 + 1] = '\0'" (subscript_expression "mbuffer[iVar8 + 1]" identifier [ (binary_expression "iVar8 + 1" identifier + number_literal) ]) = (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_000116d6;" goto statement_identifier ;) })) })) (if_statement "if (iVar8 == 0) goto LAB_0001171f;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001171f;" goto statement_identifier ;)) (labeled_statement "LAB_00011754:\n    main::lexical_block_5::mbuffer[iVar8] = '\0';" statement_identifier : (labeled_statement "main::lexical_block_5::mbuffer[iVar8] = '\0';" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_5::mbuffer[iVar8] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "mbuffer[iVar8] = '\0';" (assignment_expression "mbuffer[iVar8] = '\0'" (subscript_expression "mbuffer[iVar8]" 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_0001171f:\n    putc(__c,*(FILE **)puVar4);" statement_identifier : (expression_statement "putc(__c,*(FILE **)puVar4);" (call_expression "putc(__c,*(FILE **)puVar4)" identifier (argument_list "(__c,*(FILE **)puVar4)" ( identifier , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;)) (if_statement "if (__c == 10) {\n      fflush(*(FILE **)puVar4);\n    }" if (parenthesized_expression "(__c == 10)" ( (binary_expression "__c == 10" identifier == number_literal) )) (compound_statement "{\n      fflush(*(FILE **)puVar4);\n    }" { (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" identifier (argument_list "(*(FILE **)puVar4)" ( (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "undefined4 FUN_00011440(int param_1,undefined4 *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}\n\n" (function_definition "undefined4 FUN_00011440(int param_1,undefined4 *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}" type_identifier (function_declarator "FUN_00011440(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "undefined1 auStack_40 [12];" type_identifier (array_declarator "auStack_40 [12]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (expression_statement "DAT_0001f150 = *param_2;" (assignment_expression "DAT_0001f150 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_2c = (char *)&DAT_0001f150;" (assignment_expression "local_2c = (char *)&DAT_0001f150" identifier = (cast_expression "(char *)&DAT_0001f150" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0001f150" & identifier))) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "xmalloc_set_program_name(DAT_0001f150);" (call_expression "xmalloc_set_program_name(DAT_0001f150)" identifier (argument_list "(DAT_0001f150)" ( identifier ))) ;) (expression_statement "bfd_set_error_program_name(DAT_0001f150);" (call_expression "bfd_set_error_program_name(DAT_0001f150)" identifier (argument_list "(DAT_0001f150)" ( identifier ))) ;) (expression_statement "FUN_00013220(&param_1,&param_2);" (call_expression "FUN_00013220(&param_1,&param_2)" identifier (argument_list "(&param_1,&param_2)" ( (pointer_expression "&param_1" & identifier) , (pointer_expression "&param_2" & identifier) ))) ;) (expression_statement "local_24 = "_hinps:tv";" (assignment_expression "local_24 = "_hinps:tv"" identifier = (string_literal ""_hinps:tv"" " string_content ")) ;) (expression_statement "puVar6 = auStack_40;" (assignment_expression "puVar6 = auStack_40" identifier = identifier) ;) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (expression_statement "local_28 = (undefined4 *)PTR_optarg_00016ff0;" (assignment_expression "local_28 = (undefined4 *)PTR_optarg_00016ff0" identifier = (cast_expression "(undefined4 *)PTR_optarg_00016ff0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (while_statement "while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }" while (parenthesized_expression "(iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1)" ( (comma_expression "iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1" (assignment_expression "iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" identifier = (call_expression "getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" identifier (argument_list "(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" ( identifier , identifier , identifier , (pointer_expression "&PTR_s_strip_underscore_00016e40" & identifier) , number_literal )))) , (binary_expression "iVar2 != -1" identifier != number_literal)) )) (compound_statement "{\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }" { (switch_statement "switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }" { (case_statement "case 0x3f:\n      FUN_00011980();" case number_literal : (expression_statement "FUN_00011980();" (call_expression "FUN_00011980()" identifier (argument_list "()" ( ))) ;)) (case_statement "case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;" case number_literal : (expression_statement "FUN_00011980();" (call_expression "FUN_00011980()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar9 = &PTR_s_strip_underscore_00016e40;" (assignment_expression "ppuVar9 = &PTR_s_strip_underscore_00016e40" identifier = (pointer_expression "&PTR_s_strip_underscore_00016e40" & identifier)) ;) (labeled_statement "LAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;" statement_identifier : (expression_statement "local_30 = (undefined4 *)PTR_stdout_00016fe4;" (assignment_expression "local_30 = (undefined4 *)PTR_stdout_00016fe4" identifier = (cast_expression "(undefined4 *)PTR_stdout_00016fe4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (do_statement "do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);" do (compound_statement "{\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      }" { (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(10,(FILE *)*local_30);" (call_expression "putc(10,(FILE *)*local_30)" identifier (argument_list "(10,(FILE *)*local_30)" ( number_literal , (cast_expression "(FILE *)*local_30" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_30" * identifier)) ))) ;) (expression_statement "puVar1 = *ppuVar9;" (assignment_expression "puVar1 = *ppuVar9" identifier = (pointer_expression "*ppuVar9" * identifier)) ;) (expression_statement "*ppuVar9 = puVar1 + 1;" (assignment_expression "*ppuVar9 = puVar1 + 1" (pointer_expression "*ppuVar9" * identifier) = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)(puVar1 + 1) < param_1)" ( (binary_expression "(int)(puVar1 + 1) < param_1" (cast_expression "(int)(puVar1 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar1 + 1)" ( (binary_expression "puVar1 + 1" identifier + number_literal) ))) < identifier) )) ;) (return_statement "return 0;" return number_literal ;)) (case_statement "case 0x5f:\n      DAT_0001f140 = 1;\n      break;" case number_literal : (expression_statement "DAT_0001f140 = 1;" (assignment_expression "DAT_0001f140 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;" case number_literal : (expression_statement "DAT_0001710c = DAT_0001710c & 0xfffffff7;" (assignment_expression "DAT_0001710c = DAT_0001710c & 0xfffffff7" identifier = (binary_expression "DAT_0001710c & 0xfffffff7" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n      DAT_0001f140 = 0;\n      break;" case number_literal : (expression_statement "DAT_0001f140 = 0;" (assignment_expression "DAT_0001f140 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;" case number_literal : (expression_statement "DAT_0001710c = DAT_0001710c & 0xfffffffe;" (assignment_expression "DAT_0001710c = DAT_0001710c & 0xfffffffe" identifier = (binary_expression "DAT_0001710c & 0xfffffffe" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;" case number_literal : (expression_statement "iVar2 = func_0x00011040(*local_28);" (assignment_expression "iVar2 = func_0x00011040(*local_28)" identifier = (call_expression "func_0x00011040(*local_28)" identifier (argument_list "(*local_28)" ( (pointer_expression "*local_28" * identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }" { (expression_statement "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);" (call_expression "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28)" identifier (argument_list "(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28)" ( (pointer_expression "*(FILE **)PTR_stderr_00016fc8" * (cast_expression "(FILE **)PTR_stderr_00016fc8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: unknown demangling style `%s\'\n"" " string_content escape_sequence escape_sequence ") , (pointer_expression "*(undefined4 *)local_2c" * (cast_expression "(undefined4 *)local_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "*local_28" * identifier) ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "func_0x000110d0(iVar2);" (call_expression "func_0x000110d0(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;" case number_literal : (expression_statement "DAT_0001710c = DAT_0001710c | 0x10;" (assignment_expression "DAT_0001710c = DAT_0001710c | 0x10" identifier = (binary_expression "DAT_0001710c | 0x10" identifier | number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;" case number_literal : (expression_statement "FUN_00012ba0(&UNK_000143b8);" (call_expression "FUN_00012ba0(&UNK_000143b8)" identifier (argument_list "(&UNK_000143b8)" ( (pointer_expression "&UNK_000143b8" & identifier) ))) ;) (return_statement "return 0;" return number_literal ;)) })) })) (expression_statement "ppuVar9 = (undefined **)PTR_optind_00016fcc;" (assignment_expression "ppuVar9 = (undefined **)PTR_optind_00016fcc" identifier = (cast_expression "(undefined **)PTR_optind_00016fcc" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;" if (parenthesized_expression "(*(int *)PTR_optind_00016fcc < param_1)" ( (binary_expression "*(int *)PTR_optind_00016fcc < param_1" (pointer_expression "*(int *)PTR_optind_00016fcc" * (cast_expression "(int *)PTR_optind_00016fcc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_00011797;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)PTR_current_demangling_style_00016fc4;" (assignment_expression "iVar2 = *(int *)PTR_current_demangling_style_00016fc4" identifier = (pointer_expression "*(int *)PTR_current_demangling_style_00016fc4" * (cast_expression "(int *)PTR_current_demangling_style_00016fc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }" if (parenthesized_expression "(iVar2 == 0x1000)" ( (binary_expression "iVar2 == 0x1000" identifier == number_literal) )) (compound_statement "{\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }" { (expression_statement "local_2c = "_$.<>#,*&[]:(){}";" (assignment_expression "local_2c = "_$.<>#,*&[]:(){}"" identifier = (string_literal ""_$.<>#,*&[]:(){}"" " string_content ")) ;) (goto_statement "goto LAB_00011632;" goto statement_identifier ;) })) (if_statement "if (0x1000 < iVar2) goto LAB_000115ed;" if (parenthesized_expression "(0x1000 < iVar2)" ( (binary_expression "0x1000 < iVar2" number_literal < identifier) )) (goto_statement "goto LAB_000115ed;" goto statement_identifier ;)) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 != 0x200)" ( (binary_expression "iVar2 != 0x200" identifier != number_literal) )) (compound_statement "{\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }" { (if_statement "if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" if (parenthesized_expression "(iVar2 < 0x201)" ( (binary_expression "iVar2 < 0x201" identifier < number_literal) )) (compound_statement "{\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }" { (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }" if (parenthesized_expression "(iVar2 != 4)" ( (binary_expression "iVar2 != 4" identifier != number_literal) )) (compound_statement "{\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (expression_statement "puVar5 = auStack_40;" (assignment_expression "puVar5 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 == 0x100) goto LAB_00011632;" if (parenthesized_expression "(iVar2 == 0x100)" ( (binary_expression "iVar2 == 0x100" identifier == number_literal) )) (goto_statement "goto LAB_00011632;" goto statement_identifier ;)) (labeled_statement "LAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);" statement_identifier : (do_statement "do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);" do (compound_statement "{\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        }" { (while_statement "while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (expression_statement "puVar6 = puVar5 + -0x10;" (assignment_expression "puVar6 = puVar5 + -0x10" identifier = (binary_expression "puVar5 + -0x10" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";" (assignment_expression "*(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style"" (pointer_expression "*(char **)(puVar5 + -0x10)" * (cast_expression "(char **)(puVar5 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + -0x10)" ( (binary_expression "puVar5 + -0x10" identifier + number_literal) )))) = (string_literal ""Internal error: no symbol alphabet for current style"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar5 + -0x14) = 0x115ed;" (assignment_expression "*(undefined4 *)(puVar5 + -0x14) = 0x115ed" (pointer_expression "*(undefined4 *)(puVar5 + -0x14)" * (cast_expression "(undefined4 *)(puVar5 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x14)" ( (binary_expression "puVar5 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = FUN_00011f50();" (assignment_expression "iVar2 = FUN_00011f50()" identifier = (call_expression "FUN_00011f50()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_000115ed:\n            puVar7 = puVar6;" statement_identifier : (expression_statement "puVar7 = puVar6;" (assignment_expression "puVar7 = puVar6" identifier = identifier) ;)) (if_statement "if (iVar2 == 0x8000) goto LAB_0001170d;" if (parenthesized_expression "(iVar2 == 0x8000)" ( (binary_expression "iVar2 == 0x8000" identifier == number_literal) )) (goto_statement "goto LAB_0001170d;" goto statement_identifier ;)) (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (if_statement "if (0x8000 < iVar2) break;" if (parenthesized_expression "(0x8000 < iVar2)" ( (binary_expression "0x8000 < iVar2" number_literal < identifier) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0x2000) goto LAB_0001170d;" if (parenthesized_expression "(iVar2 == 0x2000)" ( (binary_expression "iVar2 == 0x2000" identifier == number_literal) )) (goto_statement "goto LAB_0001170d;" goto statement_identifier ;)) (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (if_statement "if (iVar2 == 0x4000) goto LAB_00011632;" if (parenthesized_expression "(iVar2 == 0x4000)" ( (binary_expression "iVar2 == 0x4000" identifier == number_literal) )) (goto_statement "goto LAB_00011632;" goto statement_identifier ;)) })) (if_statement "if (iVar2 == 0x10000) goto LAB_0001170d;" if (parenthesized_expression "(iVar2 == 0x10000)" ( (binary_expression "iVar2 == 0x10000" identifier == number_literal) )) (goto_statement "goto LAB_0001170d;" goto statement_identifier ;)) (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) }) while (parenthesized_expression "(iVar2 != 0x20000)" ( (binary_expression "iVar2 != 0x20000" identifier != number_literal) )) ;)) (goto_statement "goto LAB_00011632;" goto statement_identifier ;) })) }) (else_clause "else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" else (compound_statement "{\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" { (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }" if (parenthesized_expression "(iVar2 != 0x400)" ( (binary_expression "iVar2 != 0x400" identifier != number_literal) )) (compound_statement "{\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }" { (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" identifier = identifier) ;) (expression_statement "puVar5 = auStack_40;" (assignment_expression "puVar5 = auStack_40" identifier = identifier) ;) (if_statement "if (iVar2 == 0x800) goto LAB_00011632;" if (parenthesized_expression "(iVar2 == 0x800)" ( (binary_expression "iVar2 == 0x800" identifier == number_literal) )) (goto_statement "goto LAB_00011632;" goto statement_identifier ;)) (goto_statement "goto LAB_000115de;" goto statement_identifier ;) })) }))) })) (labeled_statement "LAB_0001170d:\n  local_2c = "_$.";" statement_identifier : (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" identifier = (string_literal ""_$."" " string_content ")) ;)) (labeled_statement "LAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;" statement_identifier : (expression_statement "puVar1 = PTR_stdin_00016fdc;" (assignment_expression "puVar1 = PTR_stdin_00016fdc" identifier = identifier) ;)) (expression_statement "local_30 = (undefined4 *)PTR_stdout_00016fe4;" (assignment_expression "local_30 = (undefined4 *)PTR_stdout_00016fe4" identifier = (cast_expression "(undefined4 *)PTR_stdout_00016fe4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_24 = PTR__sch_istable_00016fd0;" (assignment_expression "local_24 = PTR__sch_istable_00016fd0" identifier = identifier) ;) (do_statement "do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );" do (compound_statement "{\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  }" { (expression_statement "local_34 = &DAT_00017140;" (assignment_expression "local_34 = &DAT_00017140" identifier = (pointer_expression "&DAT_00017140" & identifier)) ;) (do_statement "do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);" do (compound_statement "{\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    }" { (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x11662;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x11662" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));" (assignment_expression "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" identifier = (cast_expression "(undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getc(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))))) ;) (if_statement "if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }" if (parenthesized_expression "(puVar3 == (undefined4 *)0xffffffff)" ( (binary_expression "puVar3 == (undefined4 *)0xffffffff" identifier == (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }" { (labeled_statement "LAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;" statement_identifier : (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_30" * identifier)) ;)) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x116e3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x116e3" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar7 + -0x10));" (call_expression "fflush(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00011670:\n      iVar8 = iVar2;" statement_identifier : (expression_statement "iVar8 = iVar2;" (assignment_expression "iVar8 = iVar2" identifier = identifier) ;)) (if_statement "if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }" if (parenthesized_expression "((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0)" ( (binary_expression "(local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0" (parenthesized_expression "(local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU)" ( (binary_expression "local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU" (subscript_expression "local_24[((uint)puVar3 & 0xff) * 2]" identifier [ (binary_expression "((uint)puVar3 & 0xff) * 2" (parenthesized_expression "((uint)puVar3 & 0xff)" ( (binary_expression "(uint)puVar3 & 0xff" (cast_expression "(uint)puVar3" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }" { (labeled_statement "LAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;" statement_identifier : (if_statement "if (iVar8 == 0x7ffe) goto LAB_00011754;" if (parenthesized_expression "(iVar8 == 0x7ffe)" ( (binary_expression "iVar8 == 0x7ffe" identifier == number_literal) )) (goto_statement "goto LAB_00011754;" goto statement_identifier ;))) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar1" * (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(&DAT_00017140)[iVar8] = (char)puVar3;" (assignment_expression "(&DAT_00017140)[iVar8] = (char)puVar3" (subscript_expression "(&DAT_00017140)[iVar8]" (parenthesized_expression "(&DAT_00017140)" ( (pointer_expression "&DAT_00017140" & identifier) )) [ identifier ]) = (cast_expression "(char)puVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x116b9;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x116b9" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));" (assignment_expression "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" identifier = (cast_expression "(undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "getc(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar2 = iVar8 + 1;" (assignment_expression "iVar2 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }" if (parenthesized_expression "(puVar3 == (undefined4 *)0xffffffff)" ( (binary_expression "puVar3 == (undefined4 *)0xffffffff" identifier == (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }" { (expression_statement "(&DAT_00017141)[iVar8] = 0;" (assignment_expression "(&DAT_00017141)[iVar8] = 0" (subscript_expression "(&DAT_00017141)[iVar8]" (parenthesized_expression "(&DAT_00017141)" ( (pointer_expression "&DAT_00017141" & identifier) )) [ identifier ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x116d6;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x116d6" (pointer_expression "*(undefined4 *)(puVar7 + -4)" * (cast_expression "(undefined4 *)(puVar7 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000116d6;" goto statement_identifier ;) })) (goto_statement "goto LAB_00011670;" goto statement_identifier ;) })) (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" identifier = identifier) ;) (expression_statement "*(undefined4 **)(puVar7 + -0xc) = puVar3;" (assignment_expression "*(undefined4 **)(puVar7 + -0xc) = puVar3" (pointer_expression "*(undefined4 **)(puVar7 + -0xc)" * (cast_expression "(undefined4 **)(puVar7 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar7 + -0x10) = local_2c;" (assignment_expression "*(char **)(puVar7 + -0x10) = local_2c" (pointer_expression "*(char **)(puVar7 + -0x10)" * (cast_expression "(char **)(puVar7 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1168b;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1168b" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));" (assignment_expression "pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" identifier = (call_expression "strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" identifier (argument_list "(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" ( (pointer_expression "*(char **)(puVar7 + -0x10)" * (cast_expression "(char **)(puVar7 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar7 + -0xc)" * (cast_expression "(int *)(puVar7 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "puVar3 = local_28;" (assignment_expression "puVar3 = local_28" identifier = identifier) ;) (if_statement "if (pcVar4 != (char *)0x0) goto LAB_00011699;" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00011699;" goto statement_identifier ;)) (if_statement "if (iVar8 == 0) goto LAB_0001171f;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001171f;" goto statement_identifier ;)) (labeled_statement "LAB_00011754:\n      local_34[iVar8] = 0;" statement_identifier : (expression_statement "local_34[iVar8] = 0;" (assignment_expression "local_34[iVar8] = 0" (subscript_expression "local_34[iVar8]" identifier [ identifier ]) = number_literal) ;)) (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x11763;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x11763" (pointer_expression "*(undefined4 *)(puVar7 + -4)" * (cast_expression "(undefined4 *)(puVar7 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar3 = local_28;" (assignment_expression "puVar3 = local_28" identifier = identifier) ;) (labeled_statement "LAB_0001171f:\n      local_28 = puVar3;" statement_identifier : (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(puVar7 + -0xc) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0xc) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0xc)" * (cast_expression "(undefined4 *)(puVar7 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) = (pointer_expression "*local_30" * identifier)) ;) (expression_statement "*(undefined4 **)(puVar7 + -0x10) = puVar3;" (assignment_expression "*(undefined4 **)(puVar7 + -0x10) = puVar3" (pointer_expression "*(undefined4 **)(puVar7 + -0x10)" * (cast_expression "(undefined4 **)(puVar7 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x11730;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x11730" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));" (call_expression "putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc))" identifier (argument_list "(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc))" ( (pointer_expression "*(int *)(puVar7 + -0x10)" * (cast_expression "(int *)(puVar7 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar7 + -0xc)" * (cast_expression "(FILE **)(puVar7 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "(local_28 != (undefined4 *)0xa)" ( (binary_expression "local_28 != (undefined4 *)0xa" identifier != (cast_expression "(undefined4 *)0xa" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" * (cast_expression "(undefined4 *)(puVar7 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) = (pointer_expression "*local_30" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1174c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1174c" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" * (cast_expression "(undefined4 *)(puVar7 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x14)" ( (binary_expression "puVar7 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fflush(*(FILE **)(puVar7 + -0x10));" (call_expression "fflush(*(FILE **)(puVar7 + -0x10))" identifier (argument_list "(*(FILE **)(puVar7 + -0x10))" ( (pointer_expression "*(FILE **)(puVar7 + -0x10)" * (cast_expression "(FILE **)(puVar7 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0x10)" ( (binary_expression "puVar7 + -0x10" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (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 ( ))) ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) < IDENT) )) ;) (return_statement return LIT ;)) (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 ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (string_literal " string_content escape_sequence escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (pointer_expression * 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 ( (pointer_expression & IDENT) ))) ;) (return_statement return LIT ;)) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (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 LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) (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) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) * LIT) ]) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (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 IDENT [ IDENT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined4 FUN_00011440(int param_1,undefined4 *param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}" (type_identifier "undefined4") (function_declarator "FUN_00011440(int param_1,undefined4 *param_2)" (identifier "FUN_00011440") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  char *pcVar4;\n  undefined1 *puVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  int iVar8;\n  undefined **ppuVar9;\n  undefined1 auStack_40 [12];\n  undefined1 *local_34;\n  undefined4 *local_30;\n  char *local_2c;\n  undefined4 *local_28;\n  char *local_24;\n  undefined4 *local_18;\n  \n  DAT_0001f150 = *param_2;\n  local_2c = (char *)&DAT_0001f150;\n  local_18 = &param_1;\n  xmalloc_set_program_name(DAT_0001f150);\n  bfd_set_error_program_name(DAT_0001f150);\n  FUN_00013220(&param_1,&param_2);\n  local_24 = "_hinps:tv";\n  puVar6 = auStack_40;\n  puVar7 = auStack_40;\n  local_28 = (undefined4 *)PTR_optarg_00016ff0;\n  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }\n  ppuVar9 = (undefined **)PTR_optind_00016fcc;\n  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;\n  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;\n  if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }\n  if (0x1000 < iVar2) goto LAB_000115ed;\n  puVar7 = auStack_40;\n  if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }\nLAB_0001170d:\n  local_2c = "_$.";\nLAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;\n  local_30 = (undefined4 *)PTR_stdout_00016fe4;\n  local_24 = PTR__sch_istable_00016fd0;\n  do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined **ppuVar9;" (type_identifier "undefined") (pointer_declarator "**ppuVar9" (* "*") (pointer_declarator "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (declaration "undefined1 auStack_40 [12];" (type_identifier "undefined1") (array_declarator "auStack_40 [12]" (identifier "auStack_40") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined1 *local_34;" (type_identifier "undefined1") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined4 *local_30;" (type_identifier "undefined4") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "char *local_2c;" (primitive_type "char") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined4 *local_28;" (type_identifier "undefined4") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "char *local_24;" (primitive_type "char") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (expression_statement "DAT_0001f150 = *param_2;" (assignment_expression "DAT_0001f150 = *param_2" (identifier "DAT_0001f150") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "local_2c = (char *)&DAT_0001f150;" (assignment_expression "local_2c = (char *)&DAT_0001f150" (identifier "local_2c") (= "=") (cast_expression "(char *)&DAT_0001f150" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0001f150" (& "&") (identifier "DAT_0001f150")))) (; ";")) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" (identifier "local_18") (= "=") (pointer_expression "&param_1" (& "&") (identifier "param_1"))) (; ";")) (expression_statement "xmalloc_set_program_name(DAT_0001f150);" (call_expression "xmalloc_set_program_name(DAT_0001f150)" (identifier "xmalloc_set_program_name") (argument_list "(DAT_0001f150)" (( "(") (identifier "DAT_0001f150") () ")"))) (; ";")) (expression_statement "bfd_set_error_program_name(DAT_0001f150);" (call_expression "bfd_set_error_program_name(DAT_0001f150)" (identifier "bfd_set_error_program_name") (argument_list "(DAT_0001f150)" (( "(") (identifier "DAT_0001f150") () ")"))) (; ";")) (expression_statement "FUN_00013220(&param_1,&param_2);" (call_expression "FUN_00013220(&param_1,&param_2)" (identifier "FUN_00013220") (argument_list "(&param_1,&param_2)" (( "(") (pointer_expression "&param_1" (& "&") (identifier "param_1")) (, ",") (pointer_expression "&param_2" (& "&") (identifier "param_2")) () ")"))) (; ";")) (expression_statement "local_24 = "_hinps:tv";" (assignment_expression "local_24 = "_hinps:tv"" (identifier "local_24") (= "=") (string_literal ""_hinps:tv"" (" """) (string_content "_hinps:tv") (" """))) (; ";")) (expression_statement "puVar6 = auStack_40;" (assignment_expression "puVar6 = auStack_40" (identifier "puVar6") (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" (identifier "puVar7") (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "local_28 = (undefined4 *)PTR_optarg_00016ff0;" (assignment_expression "local_28 = (undefined4 *)PTR_optarg_00016ff0" (identifier "local_28") (= "=") (cast_expression "(undefined4 *)PTR_optarg_00016ff0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_00016ff0"))) (; ";")) (while_statement "while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1) {\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }" (while "while") (parenthesized_expression "(iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1)" (( "(") (comma_expression "iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),\n        iVar2 != -1" (assignment_expression "iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" (identifier "iVar2") (= "=") (call_expression "getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" (identifier "getopt_long") (argument_list "(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "local_24") (, ",") (pointer_expression "&PTR_s_strip_underscore_00016e40" (& "&") (identifier "PTR_s_strip_underscore_00016e40")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1"))) () ")")) (compound_statement "{\n    switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }\n  }" ({ "{") (switch_statement "switch(iVar2) {\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }" (switch "switch") (parenthesized_expression "(iVar2)" (( "(") (identifier "iVar2") () ")")) (compound_statement "{\n    case 0x3f:\n      FUN_00011980();\n    case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;\n    case 0x5f:\n      DAT_0001f140 = 1;\n      break;\n    case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;\n    case 0x6e:\n      DAT_0001f140 = 0;\n      break;\n    case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;\n    case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;\n    case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;\n    case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;\n    }" ({ "{") (case_statement "case 0x3f:\n      FUN_00011980();" (case "case") (number_literal "0x3f") (: ":") (expression_statement "FUN_00011980();" (call_expression "FUN_00011980()" (identifier "FUN_00011980") (argument_list "()" (( "(") () ")"))) (; ";"))) (case_statement "case 0x68:\n      FUN_00011980();\n      ppuVar9 = &PTR_s_strip_underscore_00016e40;\nLAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;\n      do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);\n      return 0;" (case "case") (number_literal "0x68") (: ":") (expression_statement "FUN_00011980();" (call_expression "FUN_00011980()" (identifier "FUN_00011980") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar9 = &PTR_s_strip_underscore_00016e40;" (assignment_expression "ppuVar9 = &PTR_s_strip_underscore_00016e40" (identifier "ppuVar9") (= "=") (pointer_expression "&PTR_s_strip_underscore_00016e40" (& "&") (identifier "PTR_s_strip_underscore_00016e40"))) (; ";")) (labeled_statement "LAB_00011797:\n      local_30 = (undefined4 *)PTR_stdout_00016fe4;" (statement_identifier "LAB_00011797") (: ":") (expression_statement "local_30 = (undefined4 *)PTR_stdout_00016fe4;" (assignment_expression "local_30 = (undefined4 *)PTR_stdout_00016fe4" (identifier "local_30") (= "=") (cast_expression "(undefined4 *)PTR_stdout_00016fe4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_00016fe4"))) (; ";"))) (do_statement "do {\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      } while ((int)(puVar1 + 1) < param_1);" (do "do") (compound_statement "{\n        FUN_00011ab0();\n        putc(10,(FILE *)*local_30);\n        puVar1 = *ppuVar9;\n        *ppuVar9 = puVar1 + 1;\n      }" ({ "{") (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" (identifier "FUN_00011ab0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "putc(10,(FILE *)*local_30);" (call_expression "putc(10,(FILE *)*local_30)" (identifier "putc") (argument_list "(10,(FILE *)*local_30)" (( "(") (number_literal "10") (, ",") (cast_expression "(FILE *)*local_30" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_30" (* "*") (identifier "local_30"))) () ")"))) (; ";")) (expression_statement "puVar1 = *ppuVar9;" (assignment_expression "puVar1 = *ppuVar9" (identifier "puVar1") (= "=") (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (expression_statement "*ppuVar9 = puVar1 + 1;" (assignment_expression "*ppuVar9 = puVar1 + 1" (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9")) (= "=") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(puVar1 + 1) < param_1)" (( "(") (binary_expression "(int)(puVar1 + 1) < param_1" (cast_expression "(int)(puVar1 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar1 + 1)" (( "(") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1")) () ")"))) (< "<") (identifier "param_1")) () ")")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";"))) (case_statement "case 0x5f:\n      DAT_0001f140 = 1;\n      break;" (case "case") (number_literal "0x5f") (: ":") (expression_statement "DAT_0001f140 = 1;" (assignment_expression "DAT_0001f140 = 1" (identifier "DAT_0001f140") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x69:\n      DAT_0001710c = DAT_0001710c & 0xfffffff7;\n      break;" (case "case") (number_literal "0x69") (: ":") (expression_statement "DAT_0001710c = DAT_0001710c & 0xfffffff7;" (assignment_expression "DAT_0001710c = DAT_0001710c & 0xfffffff7" (identifier "DAT_0001710c") (= "=") (binary_expression "DAT_0001710c & 0xfffffff7" (identifier "DAT_0001710c") (& "&") (number_literal "0xfffffff7"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6e:\n      DAT_0001f140 = 0;\n      break;" (case "case") (number_literal "0x6e") (: ":") (expression_statement "DAT_0001f140 = 0;" (assignment_expression "DAT_0001f140 = 0" (identifier "DAT_0001f140") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x70:\n      DAT_0001710c = DAT_0001710c & 0xfffffffe;\n      break;" (case "case") (number_literal "0x70") (: ":") (expression_statement "DAT_0001710c = DAT_0001710c & 0xfffffffe;" (assignment_expression "DAT_0001710c = DAT_0001710c & 0xfffffffe" (identifier "DAT_0001710c") (= "=") (binary_expression "DAT_0001710c & 0xfffffffe" (identifier "DAT_0001710c") (& "&") (number_literal "0xfffffffe"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x73:\n      iVar2 = func_0x00011040(*local_28);\n      if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }\n      func_0x000110d0(iVar2);\n      break;" (case "case") (number_literal "0x73") (: ":") (expression_statement "iVar2 = func_0x00011040(*local_28);" (assignment_expression "iVar2 = func_0x00011040(*local_28)" (identifier "iVar2") (= "=") (call_expression "func_0x00011040(*local_28)" (identifier "func_0x00011040") (argument_list "(*local_28)" (( "(") (pointer_expression "*local_28" (* "*") (identifier "local_28")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);\n        return 1;\n      }" ({ "{") (expression_statement "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28);" (call_expression "fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28)" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",\n                *(undefined4 *)local_2c,*local_28)" (( "(") (pointer_expression "*(FILE **)PTR_stderr_00016fc8" (* "*") (cast_expression "(FILE **)PTR_stderr_00016fc8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_00016fc8"))) (, ",") (string_literal ""%s: unknown demangling style `%s\'\n"" (" """) (string_content "%s: unknown demangling style `%s") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*(undefined4 *)local_2c" (* "*") (cast_expression "(undefined4 *)local_2c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_2c"))) (, ",") (pointer_expression "*local_28" (* "*") (identifier "local_28")) () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "func_0x000110d0(iVar2);" (call_expression "func_0x000110d0(iVar2)" (identifier "func_0x000110d0") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x74:\n      DAT_0001710c = DAT_0001710c | 0x10;\n      break;" (case "case") (number_literal "0x74") (: ":") (expression_statement "DAT_0001710c = DAT_0001710c | 0x10;" (assignment_expression "DAT_0001710c = DAT_0001710c | 0x10" (identifier "DAT_0001710c") (= "=") (binary_expression "DAT_0001710c | 0x10" (identifier "DAT_0001710c") (| "|") (number_literal "0x10"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x76:\n      FUN_00012ba0(&UNK_000143b8);\n      return 0;" (case "case") (number_literal "0x76") (: ":") (expression_statement "FUN_00012ba0(&UNK_000143b8);" (call_expression "FUN_00012ba0(&UNK_000143b8)" (identifier "FUN_00012ba0") (argument_list "(&UNK_000143b8)" (( "(") (pointer_expression "&UNK_000143b8" (& "&") (identifier "UNK_000143b8")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";"))) (} "}"))) (} "}"))) (expression_statement "ppuVar9 = (undefined **)PTR_optind_00016fcc;" (assignment_expression "ppuVar9 = (undefined **)PTR_optind_00016fcc" (identifier "ppuVar9") (= "=") (cast_expression "(undefined **)PTR_optind_00016fcc" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_optind_00016fcc"))) (; ";")) (if_statement "if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;" (if "if") (parenthesized_expression "(*(int *)PTR_optind_00016fcc < param_1)" (( "(") (binary_expression "*(int *)PTR_optind_00016fcc < param_1" (pointer_expression "*(int *)PTR_optind_00016fcc" (* "*") (cast_expression "(int *)PTR_optind_00016fcc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_00016fcc"))) (< "<") (identifier "param_1")) () ")")) (goto_statement "goto LAB_00011797;" (goto "goto") (statement_identifier "LAB_00011797") (; ";"))) (expression_statement "iVar2 = *(int *)PTR_current_demangling_style_00016fc4;" (assignment_expression "iVar2 = *(int *)PTR_current_demangling_style_00016fc4" (identifier "iVar2") (= "=") (pointer_expression "*(int *)PTR_current_demangling_style_00016fc4" (* "*") (cast_expression "(int *)PTR_current_demangling_style_00016fc4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_current_demangling_style_00016fc4")))) (; ";")) (if_statement "if (iVar2 == 0x1000) {\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0x1000)" (( "(") (binary_expression "iVar2 == 0x1000" (identifier "iVar2") (== "==") (number_literal "0x1000")) () ")")) (compound_statement "{\n    local_2c = "_$.<>#,*&[]:(){}";\n    goto LAB_00011632;\n  }" ({ "{") (expression_statement "local_2c = "_$.<>#,*&[]:(){}";" (assignment_expression "local_2c = "_$.<>#,*&[]:(){}"" (identifier "local_2c") (= "=") (string_literal ""_$.<>#,*&[]:(){}"" (" """) (string_content "_$.<>#,*&[]:(){}") (" """))) (; ";")) (goto_statement "goto LAB_00011632;" (goto "goto") (statement_identifier "LAB_00011632") (; ";")) (} "}"))) (if_statement "if (0x1000 < iVar2) goto LAB_000115ed;" (if "if") (parenthesized_expression "(0x1000 < iVar2)" (( "(") (binary_expression "0x1000 < iVar2" (number_literal "0x1000") (< "<") (identifier "iVar2")) () ")")) (goto_statement "goto LAB_000115ed;" (goto "goto") (statement_identifier "LAB_000115ed") (; ";"))) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" (identifier "puVar7") (= "=") (identifier "auStack_40")) (; ";")) (if_statement "if (iVar2 != 0x200) {\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 != 0x200)" (( "(") (binary_expression "iVar2 != 0x200" (identifier "iVar2") (!= "!=") (number_literal "0x200")) () ")")) (compound_statement "{\n    if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }\n  }" ({ "{") (if_statement "if (iVar2 < 0x201) {\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }\n    else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 < 0x201)" (( "(") (binary_expression "iVar2 < 0x201" (identifier "iVar2") (< "<") (number_literal "0x201")) () ")")) (compound_statement "{\n      puVar7 = auStack_40;\n      if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }\n    }" ({ "{") (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" (identifier "puVar7") (= "=") (identifier "auStack_40")) (; ";")) (if_statement "if (iVar2 != 4) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }" (if "if") (parenthesized_expression "(iVar2 != 4)" (( "(") (binary_expression "iVar2 != 4" (identifier "iVar2") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x100) goto LAB_00011632;\nLAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);\n        goto LAB_00011632;\n      }" ({ "{") (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" (identifier "local_2c") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";")) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" (identifier "puVar7") (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "puVar5 = auStack_40;" (assignment_expression "puVar5 = auStack_40" (identifier "puVar5") (= "=") (identifier "auStack_40")) (; ";")) (if_statement "if (iVar2 == 0x100) goto LAB_00011632;" (if "if") (parenthesized_expression "(iVar2 == 0x100)" (( "(") (binary_expression "iVar2 == 0x100" (identifier "iVar2") (== "==") (number_literal "0x100")) () ")")) (goto_statement "goto LAB_00011632;" (goto "goto") (statement_identifier "LAB_00011632") (; ";"))) (labeled_statement "LAB_000115de:\n        do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);" (statement_identifier "LAB_000115de") (: ":") (do_statement "do {\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        } while (iVar2 != 0x20000);" (do "do") (compound_statement "{\n          while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }\n          if (iVar2 == 0x10000) goto LAB_0001170d;\n          local_2c = "_$.";\n        }" ({ "{") (while_statement "while( true ) {\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            local_2c = "_$.";\n            puVar6 = puVar5 + -0x10;\n            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";\n            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;\n            iVar2 = FUN_00011f50();\nLAB_000115ed:\n            puVar7 = puVar6;\n            if (iVar2 == 0x8000) goto LAB_0001170d;\n            puVar5 = puVar6;\n            if (0x8000 < iVar2) break;\n            if (iVar2 == 0x2000) goto LAB_0001170d;\n            local_2c = "_$.";\n            if (iVar2 == 0x4000) goto LAB_00011632;\n          }" ({ "{") (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" (identifier "local_2c") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";")) (expression_statement "puVar6 = puVar5 + -0x10;" (assignment_expression "puVar6 = puVar5 + -0x10" (identifier "puVar6") (= "=") (binary_expression "puVar5 + -0x10" (identifier "puVar5") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";" (assignment_expression "*(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style"" (pointer_expression "*(char **)(puVar5 + -0x10)" (* "*") (cast_expression "(char **)(puVar5 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + -0x10)" (( "(") (binary_expression "puVar5 + -0x10" (identifier "puVar5") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""Internal error: no symbol alphabet for current style"" (" """) (string_content "Internal error: no symbol alphabet for current style") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar5 + -0x14) = 0x115ed;" (assignment_expression "*(undefined4 *)(puVar5 + -0x14) = 0x115ed" (pointer_expression "*(undefined4 *)(puVar5 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar5 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + -0x14)" (( "(") (binary_expression "puVar5 + -0x14" (identifier "puVar5") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x115ed")) (; ";")) (expression_statement "iVar2 = FUN_00011f50();" (assignment_expression "iVar2 = FUN_00011f50()" (identifier "iVar2") (= "=") (call_expression "FUN_00011f50()" (identifier "FUN_00011f50") (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "LAB_000115ed:\n            puVar7 = puVar6;" (statement_identifier "LAB_000115ed") (: ":") (expression_statement "puVar7 = puVar6;" (assignment_expression "puVar7 = puVar6" (identifier "puVar7") (= "=") (identifier "puVar6")) (; ";"))) (if_statement "if (iVar2 == 0x8000) goto LAB_0001170d;" (if "if") (parenthesized_expression "(iVar2 == 0x8000)" (( "(") (binary_expression "iVar2 == 0x8000" (identifier "iVar2") (== "==") (number_literal "0x8000")) () ")")) (goto_statement "goto LAB_0001170d;" (goto "goto") (statement_identifier "LAB_0001170d") (; ";"))) (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" (identifier "puVar5") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if (0x8000 < iVar2) break;" (if "if") (parenthesized_expression "(0x8000 < iVar2)" (( "(") (binary_expression "0x8000 < iVar2" (number_literal "0x8000") (< "<") (identifier "iVar2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (iVar2 == 0x2000) goto LAB_0001170d;" (if "if") (parenthesized_expression "(iVar2 == 0x2000)" (( "(") (binary_expression "iVar2 == 0x2000" (identifier "iVar2") (== "==") (number_literal "0x2000")) () ")")) (goto_statement "goto LAB_0001170d;" (goto "goto") (statement_identifier "LAB_0001170d") (; ";"))) (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" (identifier "local_2c") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";")) (if_statement "if (iVar2 == 0x4000) goto LAB_00011632;" (if "if") (parenthesized_expression "(iVar2 == 0x4000)" (( "(") (binary_expression "iVar2 == 0x4000" (identifier "iVar2") (== "==") (number_literal "0x4000")) () ")")) (goto_statement "goto LAB_00011632;" (goto "goto") (statement_identifier "LAB_00011632") (; ";"))) (} "}"))) (if_statement "if (iVar2 == 0x10000) goto LAB_0001170d;" (if "if") (parenthesized_expression "(iVar2 == 0x10000)" (( "(") (binary_expression "iVar2 == 0x10000" (identifier "iVar2") (== "==") (number_literal "0x10000")) () ")")) (goto_statement "goto LAB_0001170d;" (goto "goto") (statement_identifier "LAB_0001170d") (; ";"))) (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" (identifier "local_2c") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar2 != 0x20000)" (( "(") (binary_expression "iVar2 != 0x20000" (identifier "iVar2") (!= "!=") (number_literal "0x20000")) () ")")) (; ";"))) (goto_statement "goto LAB_00011632;" (goto "goto") (statement_identifier "LAB_00011632") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" (else "else") (compound_statement "{\n      puVar7 = auStack_40;\n      if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }\n    }" ({ "{") (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" (identifier "puVar7") (= "=") (identifier "auStack_40")) (; ";")) (if_statement "if (iVar2 != 0x400) {\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0x400)" (( "(") (binary_expression "iVar2 != 0x400" (identifier "iVar2") (!= "!=") (number_literal "0x400")) () ")")) (compound_statement "{\n        local_2c = "_$.";\n        puVar7 = auStack_40;\n        puVar5 = auStack_40;\n        if (iVar2 == 0x800) goto LAB_00011632;\n        goto LAB_000115de;\n      }" ({ "{") (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" (identifier "local_2c") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";")) (expression_statement "puVar7 = auStack_40;" (assignment_expression "puVar7 = auStack_40" (identifier "puVar7") (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "puVar5 = auStack_40;" (assignment_expression "puVar5 = auStack_40" (identifier "puVar5") (= "=") (identifier "auStack_40")) (; ";")) (if_statement "if (iVar2 == 0x800) goto LAB_00011632;" (if "if") (parenthesized_expression "(iVar2 == 0x800)" (( "(") (binary_expression "iVar2 == 0x800" (identifier "iVar2") (== "==") (number_literal "0x800")) () ")")) (goto_statement "goto LAB_00011632;" (goto "goto") (statement_identifier "LAB_00011632") (; ";"))) (goto_statement "goto LAB_000115de;" (goto "goto") (statement_identifier "LAB_000115de") (; ";")) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_0001170d:\n  local_2c = "_$.";" (statement_identifier "LAB_0001170d") (: ":") (expression_statement "local_2c = "_$.";" (assignment_expression "local_2c = "_$."" (identifier "local_2c") (= "=") (string_literal ""_$."" (" """) (string_content "_$.") (" """))) (; ";"))) (labeled_statement "LAB_00011632:\n  puVar1 = PTR_stdin_00016fdc;" (statement_identifier "LAB_00011632") (: ":") (expression_statement "puVar1 = PTR_stdin_00016fdc;" (assignment_expression "puVar1 = PTR_stdin_00016fdc" (identifier "puVar1") (= "=") (identifier "PTR_stdin_00016fdc")) (; ";"))) (expression_statement "local_30 = (undefined4 *)PTR_stdout_00016fe4;" (assignment_expression "local_30 = (undefined4 *)PTR_stdout_00016fe4" (identifier "local_30") (= "=") (cast_expression "(undefined4 *)PTR_stdout_00016fe4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_00016fe4"))) (; ";")) (expression_statement "local_24 = PTR__sch_istable_00016fd0;" (assignment_expression "local_24 = PTR__sch_istable_00016fd0" (identifier "local_24") (= "=") (identifier "PTR__sch_istable_00016fd0")) (; ";")) (do_statement "do {\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  } while( true );" (do "do") (compound_statement "{\n    local_34 = &DAT_00017140;\n    do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);\n    *(undefined4 *)(puVar7 + -0x10) = *local_30;\n    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;\n    fflush(*(FILE **)(puVar7 + -0x10));\n  }" ({ "{") (expression_statement "local_34 = &DAT_00017140;" (assignment_expression "local_34 = &DAT_00017140" (identifier "local_34") (= "=") (pointer_expression "&DAT_00017140" (& "&") (identifier "DAT_00017140"))) (; ";")) (do_statement "do {\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    } while (local_28 != (undefined4 *)0xa);" (do "do") (compound_statement "{\n      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11662;\n      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n      if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }\n      iVar2 = 0;\nLAB_00011670:\n      iVar8 = iVar2;\n      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }\n      local_28 = puVar3;\n      *(undefined4 **)(puVar7 + -0xc) = puVar3;\n      *(char **)(puVar7 + -0x10) = local_2c;\n      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;\n      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));\n      puVar3 = local_28;\n      if (pcVar4 != (char *)0x0) goto LAB_00011699;\n      if (iVar8 == 0) goto LAB_0001171f;\nLAB_00011754:\n      local_34[iVar8] = 0;\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -4) = 0x11763;\n      FUN_00011ab0();\n      puVar3 = local_28;\nLAB_0001171f:\n      local_28 = puVar3;\n      *(undefined4 *)(puVar7 + -0xc) = *local_30;\n      *(undefined4 **)(puVar7 + -0x10) = puVar3;\n      *(undefined4 *)(puVar7 + -0x14) = 0x11730;\n      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x11662;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x11662" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11662")) (; ";")) (expression_statement "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));" (assignment_expression "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "getc(*(FILE **)(puVar7 + -0x10))" (identifier "getc") (argument_list "(*(FILE **)(puVar7 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar7 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar7 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))))) (; ";")) (if_statement "if (puVar3 == (undefined4 *)0xffffffff) {\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }" (if "if") (parenthesized_expression "(puVar3 == (undefined4 *)0xffffffff)" (( "(") (binary_expression "puVar3 == (undefined4 *)0xffffffff" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0xffffffff" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\nLAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;\n        fflush(*(FILE **)(puVar7 + -0x10));\n        return 0;\n      }" ({ "{") (labeled_statement "LAB_000116d6:\n        *(undefined4 *)(puVar7 + -0x10) = *local_30;" (statement_identifier "LAB_000116d6") (: ":") (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*local_30" (* "*") (identifier "local_30"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x116e3;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x116e3" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x116e3")) (; ";")) (expression_statement "fflush(*(FILE **)(puVar7 + -0x10));" (call_expression "fflush(*(FILE **)(puVar7 + -0x10))" (identifier "fflush") (argument_list "(*(FILE **)(puVar7 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar7 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar7 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00011670:\n      iVar8 = iVar2;" (statement_identifier "LAB_00011670") (: ":") (expression_statement "iVar8 = iVar2;" (assignment_expression "iVar8 = iVar2" (identifier "iVar8") (= "=") (identifier "iVar2")) (; ";"))) (if_statement "if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }" (if "if") (parenthesized_expression "((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0)" (( "(") (binary_expression "(local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0" (parenthesized_expression "(local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU)" (( "(") (binary_expression "local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU" (subscript_expression "local_24[((uint)puVar3 & 0xff) * 2]" (identifier "local_24") ([ "[") (binary_expression "((uint)puVar3 & 0xff) * 2" (parenthesized_expression "((uint)puVar3 & 0xff)" (( "(") (binary_expression "(uint)puVar3 & 0xff" (cast_expression "(uint)puVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar3")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "0x8cU")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;\n        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;\n        (&DAT_00017140)[iVar8] = (char)puVar3;\n        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;\n        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));\n        iVar2 = iVar8 + 1;\n        if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }\n        goto LAB_00011670;\n      }" ({ "{") (labeled_statement "LAB_00011699:\n        if (iVar8 == 0x7ffe) goto LAB_00011754;" (statement_identifier "LAB_00011699") (: ":") (if_statement "if (iVar8 == 0x7ffe) goto LAB_00011754;" (if "if") (parenthesized_expression "(iVar8 == 0x7ffe)" (( "(") (binary_expression "iVar8 == 0x7ffe" (identifier "iVar8") (== "==") (number_literal "0x7ffe")) () ")")) (goto_statement "goto LAB_00011754;" (goto "goto") (statement_identifier "LAB_00011754") (; ";")))) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)puVar1" (* "*") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (expression_statement "(&DAT_00017140)[iVar8] = (char)puVar3;" (assignment_expression "(&DAT_00017140)[iVar8] = (char)puVar3" (subscript_expression "(&DAT_00017140)[iVar8]" (parenthesized_expression "(&DAT_00017140)" (( "(") (pointer_expression "&DAT_00017140" (& "&") (identifier "DAT_00017140")) () ")")) ([ "[") (identifier "iVar8") (] "]")) (= "=") (cast_expression "(char)puVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x116b9;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x116b9" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x116b9")) (; ";")) (expression_statement "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));" (assignment_expression "puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)getc(*(FILE **)(puVar7 + -0x10))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "getc(*(FILE **)(puVar7 + -0x10))" (identifier "getc") (argument_list "(*(FILE **)(puVar7 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar7 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar7 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))))) (; ";")) (expression_statement "iVar2 = iVar8 + 1;" (assignment_expression "iVar2 = iVar8 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar3 == (undefined4 *)0xffffffff) {\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }" (if "if") (parenthesized_expression "(puVar3 == (undefined4 *)0xffffffff)" (( "(") (binary_expression "puVar3 == (undefined4 *)0xffffffff" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)0xffffffff" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          (&DAT_00017141)[iVar8] = 0;\n          *(undefined4 *)(puVar7 + -4) = 0x116d6;\n          FUN_00011ab0();\n          goto LAB_000116d6;\n        }" ({ "{") (expression_statement "(&DAT_00017141)[iVar8] = 0;" (assignment_expression "(&DAT_00017141)[iVar8] = 0" (subscript_expression "(&DAT_00017141)[iVar8]" (parenthesized_expression "(&DAT_00017141)" (( "(") (pointer_expression "&DAT_00017141" (& "&") (identifier "DAT_00017141")) () ")")) ([ "[") (identifier "iVar8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x116d6;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x116d6" (pointer_expression "*(undefined4 *)(puVar7 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -4)" (( "(") (binary_expression "puVar7 + -4" (identifier "puVar7") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x116d6")) (; ";")) (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" (identifier "FUN_00011ab0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000116d6;" (goto "goto") (statement_identifier "LAB_000116d6") (; ";")) (} "}"))) (goto_statement "goto LAB_00011670;" (goto "goto") (statement_identifier "LAB_00011670") (; ";")) (} "}"))) (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" (identifier "local_28") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0xc) = puVar3;" (assignment_expression "*(undefined4 **)(puVar7 + -0xc) = puVar3" (pointer_expression "*(undefined4 **)(puVar7 + -0xc)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(char **)(puVar7 + -0x10) = local_2c;" (assignment_expression "*(char **)(puVar7 + -0x10) = local_2c" (pointer_expression "*(char **)(puVar7 + -0x10)" (* "*") (cast_expression "(char **)(puVar7 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1168b;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1168b" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1168b")) (; ";")) (expression_statement "pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));" (assignment_expression "pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" (identifier "pcVar4") (= "=") (call_expression "strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" (identifier "strchr") (argument_list "(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar7 + -0x10)" (* "*") (cast_expression "(char **)(puVar7 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar7 + -0xc)" (* "*") (cast_expression "(int *)(puVar7 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar3 = local_28;" (assignment_expression "puVar3 = local_28" (identifier "puVar3") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (pcVar4 != (char *)0x0) goto LAB_00011699;" (if "if") (parenthesized_expression "(pcVar4 != (char *)0x0)" (( "(") (binary_expression "pcVar4 != (char *)0x0" (identifier "pcVar4") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00011699;" (goto "goto") (statement_identifier "LAB_00011699") (; ";"))) (if_statement "if (iVar8 == 0) goto LAB_0001171f;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001171f;" (goto "goto") (statement_identifier "LAB_0001171f") (; ";"))) (labeled_statement "LAB_00011754:\n      local_34[iVar8] = 0;" (statement_identifier "LAB_00011754") (: ":") (expression_statement "local_34[iVar8] = 0;" (assignment_expression "local_34[iVar8] = 0" (subscript_expression "local_34[iVar8]" (identifier "local_34") ([ "[") (identifier "iVar8") (] "]")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" (identifier "local_28") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x11763;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x11763" (pointer_expression "*(undefined4 *)(puVar7 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -4)" (( "(") (binary_expression "puVar7 + -4" (identifier "puVar7") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x11763")) (; ";")) (expression_statement "FUN_00011ab0();" (call_expression "FUN_00011ab0()" (identifier "FUN_00011ab0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar3 = local_28;" (assignment_expression "puVar3 = local_28" (identifier "puVar3") (= "=") (identifier "local_28")) (; ";")) (labeled_statement "LAB_0001171f:\n      local_28 = puVar3;" (statement_identifier "LAB_0001171f") (: ":") (expression_statement "local_28 = puVar3;" (assignment_expression "local_28 = puVar3" (identifier "local_28") (= "=") (identifier "puVar3")) (; ";"))) (expression_statement "*(undefined4 *)(puVar7 + -0xc) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0xc) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*local_30" (* "*") (identifier "local_30"))) (; ";")) (expression_statement "*(undefined4 **)(puVar7 + -0x10) = puVar3;" (assignment_expression "*(undefined4 **)(puVar7 + -0x10) = puVar3" (pointer_expression "*(undefined4 **)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 **)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x11730;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x11730" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x11730")) (; ";")) (expression_statement "putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));" (call_expression "putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc))" (identifier "putc") (argument_list "(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc))" (( "(") (pointer_expression "*(int *)(puVar7 + -0x10)" (* "*") (cast_expression "(int *)(puVar7 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar7 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar7 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_28 != (undefined4 *)0xa)" (( "(") (binary_expression "local_28 != (undefined4 *)0xa" (identifier "local_28") (!= "!=") (cast_expression "(undefined4 *)0xa" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xa"))) () ")")) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x10) = *local_30;" (assignment_expression "*(undefined4 *)(puVar7 + -0x10) = *local_30" (pointer_expression "*(undefined4 *)(puVar7 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*local_30" (* "*") (identifier "local_30"))) (; ";")) (expression_statement "*(undefined4 *)(puVar7 + -0x14) = 0x1174c;" (assignment_expression "*(undefined4 *)(puVar7 + -0x14) = 0x1174c" (pointer_expression "*(undefined4 *)(puVar7 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x14)" (( "(") (binary_expression "puVar7 + -0x14" (identifier "puVar7") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1174c")) (; ";")) (expression_statement "fflush(*(FILE **)(puVar7 + -0x10));" (call_expression "fflush(*(FILE **)(puVar7 + -0x10))" (identifier "fflush") (argument_list "(*(FILE **)(puVar7 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar7 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar7 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0x10)" (( "(") (binary_expression "puVar7 + -0x10" (identifier "puVar7") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

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

int function_1(int var_12,char **argv)

{
  type_1 *__stream;
  type_2 *puVar1;
  type_2 *puVar2;
  type_2 *puVar3;
  type_2 *puVar4;
  type_2 *puVar5;
  int var_5;
  type_3 var_17;
  char *var_20;
  int var_21;
  char *local_2c;
  
  program_name = *argv;
  var_1(program_name);
  var_2(program_name);
  var_3(&var_12,&argv);
  puVar5 = PTR_optarg_00016ff0;
  while (var_5 = var_4(var_12,argv,"_hinps:tv",long_options,0), puVar4 = PTR_stdout_00016fe4,
        puVar3 = PTR_stdin_00016fdc, puVar2 = PTR__sch_istable_00016fd0,
        puVar1 = PTR_optind_00016fcc, var_5 != -1) {
    switch(var_5) {
    case 0x3f:
                    /* WARNING: Subroutine does not return */
      var_6(*(type_1 **)PTR_stderr_00016fc8,1);
    case 0x5f:
      strip_underscore = 1;
      break;
    case 0x68:
                    /* WARNING: Subroutine does not return */
      var_6(*(type_1 **)PTR_stdout_00016fe4,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(*(type_4 *)puVar5);
      if (var_5 == 0) {
        var_9(*(type_1 **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",program_name,
                *(type_4 *)puVar5);
        return 1;
      }
      var_10(var_5);
      break;
    case 0x74:
      var_7 = var_7 | 0x10;
      break;
    case 0x76:
      var_11("c++filt");
      return 0;
    }
  }
  var_5 = *(int *)PTR_optind_00016fcc;
  if (var_5 < var_12) {
    do {
      var_13(argv[var_5]);
      var_14(10,*(type_1 **)puVar4);
      var_5 = *(int *)puVar1 + 1;
      *(int *)puVar1 = var_5;
    } while (var_5 < var_12);
    return 0;
  }
  var_5 = *(int *)PTR_current_demangling_style_00016fc4;
  if (var_5 == 0x1000) {
    local_2c = "_$.<>#,*&[]:(){}";
    goto LAB_00011658;
  }
  if (var_5 < 0x1001) {
    if (var_5 != 0x200) {
      if (var_5 < 0x201) {
        if (var_5 != 4) {
          local_2c = "_$.";
          if (var_5 != 0x100) {
LAB_000115de:
                    /* WARNING: Subroutine does not return */
            var_15("Internal error: no symbol alphabet for current style");
          }
          goto LAB_00011658;
        }
      }
      else if (var_5 != 0x400) {
        local_2c = "_$.";
        if (var_5 != 0x800) goto LAB_000115de;
        goto LAB_00011658;
      }
    }
  }
  else if (var_5 != 0x8000) {
    if (var_5 < 0x8001) {
      if (var_5 != 0x2000) {
        local_2c = "_$.";
        if (var_5 != 0x4000) goto LAB_000115de;
        goto LAB_00011658;
      }
    }
    else if (var_5 != 0x10000) {
      local_2c = "_$.";
      if (var_5 != 0x20000) goto LAB_000115de;
      goto LAB_00011658;
    }
  }
  local_2c = "_$.";
LAB_00011658:
  do {
    var_17 = var_16(*(type_1 **)puVar3);
    if (var_17 == 0xffffffff) {
LAB_000116d6:
      var_18(*(type_1 **)puVar4);
      return 0;
    }
    var_5 = 0;
    while ((var_21 = var_5, (puVar2[(var_17 & 0xff) * 2] & 0x8c) != 0 ||
           (var_20 = var_19(local_2c,var_17), var_20 != (char *)0x0))) {
      if (var_21 == 0x7ffe) goto LAB_00011754;
      __stream = *(type_1 **)puVar3;
      main::lexical_block_5::mbuffer[var_21] = (char)var_17;
      var_17 = var_16(__stream);
      var_5 = var_21 + 1;
      if (var_17 == 0xffffffff) {
        main::lexical_block_5::mbuffer[var_21 + 1] = '\0';
        demangle_it(function_1::lexical_block_5::mbuffer);
        goto LAB_000116d6;
      }
    }
    if (var_21 == 0) goto LAB_0001171f;
LAB_00011754:
    main::lexical_block_5::mbuffer[var_21] = '\0';
    demangle_it(function_1::lexical_block_5::mbuffer);
LAB_0001171f:
    var_14(var_17,*(type_1 **)puVar4);
    if (var_17 == 10) {
      var_18(*(type_1 **)puVar4);
    }
  } 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (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)))) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier)))) (return_statement (number_literal))) (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 (pointer_expression argument: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) (string_literal (string_content) (escape_sequence) (escape_sequence)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (pointer_expression argument: (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 (pointer_expression argument: (identifier))))) (return_statement (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (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: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (break_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: (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))) (goto_statement label: (statement_identifier))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) condition: (parenthesized_expression (true))))))

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

undefined4 MASKED(int param_1,undefined4 *param_2)

{
  undefined *puVar1;
  int iVar2;
  undefined4 *puVar3;
  char *pcVar4;
  undefined1 *puVar5;
  undefined1 *puVar6;
  undefined1 *puVar7;
  int iVar8;
  undefined **ppuVar9;
  undefined1 auStack_40 [12];
  undefined1 *local_34;
  undefined4 *local_30;
  char *local_2c;
  undefined4 *local_28;
  char *local_24;
  undefined4 *local_18;
  
  DAT_0001f150 = *param_2;
  local_2c = (char *)&DAT_0001f150;
  local_18 = &param_1;
  xmalloc_set_program_name(DAT_0001f150);
  bfd_set_error_program_name(DAT_0001f150);
  FUN_00013220(&param_1,&param_2);
  local_24 = "_hinps:tv";
  puVar6 = auStack_40;
  puVar7 = auStack_40;
  local_28 = (undefined4 *)PTR_optarg_00016ff0;
  while (iVar2 = getopt_long(param_1,param_2,local_24,&PTR_s_strip_underscore_00016e40,0),
        iVar2 != -1) {
    switch(iVar2) {
    case 0x3f:
      FUN_00011980();
    case 0x68:
      FUN_00011980();
      ppuVar9 = &PTR_s_strip_underscore_00016e40;
LAB_00011797:
      local_30 = (undefined4 *)PTR_stdout_00016fe4;
      do {
        FUN_00011ab0();
        putc(10,(FILE *)*local_30);
        puVar1 = *ppuVar9;
        *ppuVar9 = puVar1 + 1;
      } while ((int)(puVar1 + 1) < param_1);
      return 0;
    case 0x5f:
      DAT_0001f140 = 1;
      break;
    case 0x69:
      DAT_0001710c = DAT_0001710c & 0xfffffff7;
      break;
    case 0x6e:
      DAT_0001f140 = 0;
      break;
    case 0x70:
      DAT_0001710c = DAT_0001710c & 0xfffffffe;
      break;
    case 0x73:
      iVar2 = func_0x00011040(*local_28);
      if (iVar2 == 0) {
        fprintf(*(FILE **)PTR_stderr_00016fc8,"%s: unknown demangling style `%s\'\n",
                *(undefined4 *)local_2c,*local_28);
        return 1;
      }
      func_0x000110d0(iVar2);
      break;
    case 0x74:
      DAT_0001710c = DAT_0001710c | 0x10;
      break;
    case 0x76:
      FUN_00012ba0(&UNK_000143b8);
      return 0;
    }
  }
  ppuVar9 = (undefined **)PTR_optind_00016fcc;
  if (*(int *)PTR_optind_00016fcc < param_1) goto LAB_00011797;
  iVar2 = *(int *)PTR_current_demangling_style_00016fc4;
  if (iVar2 == 0x1000) {
    local_2c = "_$.<>#,*&[]:(){}";
    goto LAB_00011632;
  }
  if (0x1000 < iVar2) goto LAB_000115ed;
  puVar7 = auStack_40;
  if (iVar2 != 0x200) {
    if (iVar2 < 0x201) {
      puVar7 = auStack_40;
      if (iVar2 != 4) {
        local_2c = "_$.";
        puVar7 = auStack_40;
        puVar5 = auStack_40;
        if (iVar2 == 0x100) goto LAB_00011632;
LAB_000115de:
        do {
          while( true ) {
            local_2c = "_$.";
            puVar6 = puVar5 + -0x10;
            *(char **)(puVar5 + -0x10) = "Internal error: no symbol alphabet for current style";
            *(undefined4 *)(puVar5 + -0x14) = 0x115ed;
            iVar2 = FUN_00011f50();
LAB_000115ed:
            puVar7 = puVar6;
            if (iVar2 == 0x8000) goto LAB_0001170d;
            puVar5 = puVar6;
            if (0x8000 < iVar2) break;
            if (iVar2 == 0x2000) goto LAB_0001170d;
            local_2c = "_$.";
            if (iVar2 == 0x4000) goto LAB_00011632;
          }
          if (iVar2 == 0x10000) goto LAB_0001170d;
          local_2c = "_$.";
        } while (iVar2 != 0x20000);
        goto LAB_00011632;
      }
    }
    else {
      puVar7 = auStack_40;
      if (iVar2 != 0x400) {
        local_2c = "_$.";
        puVar7 = auStack_40;
        puVar5 = auStack_40;
        if (iVar2 == 0x800) goto LAB_00011632;
        goto LAB_000115de;
      }
    }
  }
LAB_0001170d:
  local_2c = "_$.";
LAB_00011632:
  puVar1 = PTR_stdin_00016fdc;
  local_30 = (undefined4 *)PTR_stdout_00016fe4;
  local_24 = PTR__sch_istable_00016fd0;
  do {
    local_34 = &DAT_00017140;
    do {
      *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;
      *(undefined4 *)(puVar7 + -0x14) = 0x11662;
      puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));
      if (puVar3 == (undefined4 *)0xffffffff) {
LAB_000116d6:
        *(undefined4 *)(puVar7 + -0x10) = *local_30;
        *(undefined4 *)(puVar7 + -0x14) = 0x116e3;
        fflush(*(FILE **)(puVar7 + -0x10));
        return 0;
      }
      iVar2 = 0;
LAB_00011670:
      iVar8 = iVar2;
      if ((local_24[((uint)puVar3 & 0xff) * 2] & 0x8cU) != 0) {
LAB_00011699:
        if (iVar8 == 0x7ffe) goto LAB_00011754;
        *(undefined4 *)(puVar7 + -0x10) = *(undefined4 *)puVar1;
        (&DAT_00017140)[iVar8] = (char)puVar3;
        *(undefined4 *)(puVar7 + -0x14) = 0x116b9;
        puVar3 = (undefined4 *)getc(*(FILE **)(puVar7 + -0x10));
        iVar2 = iVar8 + 1;
        if (puVar3 == (undefined4 *)0xffffffff) {
          (&DAT_00017141)[iVar8] = 0;
          *(undefined4 *)(puVar7 + -4) = 0x116d6;
          FUN_00011ab0();
          goto LAB_000116d6;
        }
        goto LAB_00011670;
      }
      local_28 = puVar3;
      *(undefined4 **)(puVar7 + -0xc) = puVar3;
      *(char **)(puVar7 + -0x10) = local_2c;
      *(undefined4 *)(puVar7 + -0x14) = 0x1168b;
      pcVar4 = strchr(*(char **)(puVar7 + -0x10),*(int *)(puVar7 + -0xc));
      puVar3 = local_28;
      if (pcVar4 != (char *)0x0) goto LAB_00011699;
      if (iVar8 == 0) goto LAB_0001171f;
LAB_00011754:
      local_34[iVar8] = 0;
      local_28 = puVar3;
      *(undefined4 *)(puVar7 + -4) = 0x11763;
      FUN_00011ab0();
      puVar3 = local_28;
LAB_0001171f:
      local_28 = puVar3;
      *(undefined4 *)(puVar7 + -0xc) = *local_30;
      *(undefined4 **)(puVar7 + -0x10) = puVar3;
      *(undefined4 *)(puVar7 + -0x14) = 0x11730;
      putc(*(int *)(puVar7 + -0x10),*(FILE **)(puVar7 + -0xc));
    } while (local_28 != (undefined4 *)0xa);
    *(undefined4 *)(puVar7 + -0x10) = *local_30;
    *(undefined4 *)(puVar7 + -0x14) = 0x1174c;
    fflush(*(FILE **)(puVar7 + -0x10));
  } while( true );
}

