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

fix * obj_elf_get_vtable_inherit(void)

{
  bool bVar1;
  offsetT oVar2;
  char cVar3;
  symbolS *s;
  fragS *pfVar4;
  symbolS *add_symbol;
  expressionS *peVar5;
  fixS *pfVar6;
  char *pcVar7;
  char *cname;
  char *pname;
  undefined4 uStack_14;
  
  uStack_14 = 0x57d59;
  if (*input_line_pointer == '#') {
    input_line_pointer = input_line_pointer + 1;
  }
  cVar3 = get_symbol_name(&cname);
  s = symbol_find(cname);
  if ((s == (symbolS *)0x0) || (pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0)) {
    pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);
    as_bad(pcVar7,cname);
    bVar1 = true;
    *input_line_pointer = cVar3;
    cVar3 = *input_line_pointer;
  }
  else {
    bVar1 = false;
    *input_line_pointer = cVar3;
    cVar3 = *input_line_pointer;
  }
  if (cVar3 == '\"') {
    cVar3 = input_line_pointer[1];
    input_line_pointer = input_line_pointer + 1;
  }
  if (cVar3 == ' ') {
    cVar3 = input_line_pointer[1];
    input_line_pointer = input_line_pointer + 1;
  }
  if (cVar3 == ',') {
    pcVar7 = input_line_pointer + 1;
    cVar3 = input_line_pointer[1];
    if (cVar3 == ' ') {
      pcVar7 = input_line_pointer + 2;
      cVar3 = input_line_pointer[2];
    }
    input_line_pointer = pcVar7;
    if (cVar3 == '#') {
      input_line_pointer = pcVar7 + 1;
      cVar3 = pcVar7[1];
    }
    if ((cVar3 == '0') &&
       ((input_line_pointer[1] == 0 ||
        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))) {
      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));
      input_line_pointer = input_line_pointer + 1;
      demand_empty_rest_of_line();
    }
    else {
      cVar3 = get_symbol_name(&pname);
      add_symbol = symbol_find_or_make(pname);
      restore_line_pointer(cVar3);
      demand_empty_rest_of_line();
    }
    if (!bVar1) {
      peVar5 = symbol_get_value_expression(s);
      if (peVar5->field_0x10 != '\x02') {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");
      }
      peVar5 = symbol_get_value_expression(s);
      oVar2 = peVar5->X_add_number;
      pfVar4 = symbol_get_frag(s);
      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);
      return pfVar6;
    }
    return (fix *)0x0;
  }
  pcVar7 = (char *)dcgettext(0,"expected comma after name in .vtable_inherit",5);
  as_bad(pcVar7);
  ignore_rest_of_line();
  return (fix *)0x0;
}



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

undefined4 FUN_00057d50(void)

{
  undefined4 uVar1;
  bool bVar2;
  char cVar3;
  int iVar4;
  int iVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  char *pcVar8;
  undefined4 local_24;
  undefined4 local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x57d59;
  if (*DAT_00089978 == '#') {
    DAT_00089978 = DAT_00089978 + 1;
  }
  cVar3 = FUN_000220a0(&local_24);
  iVar4 = FUN_0003a9c0(local_24);
  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {
    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);
    FUN_0002bd60(uVar6,local_24);
    bVar2 = true;
    *DAT_00089978 = cVar3;
    cVar3 = *DAT_00089978;
  }
  else {
    bVar2 = false;
    *DAT_00089978 = cVar3;
    cVar3 = *DAT_00089978;
  }
  if (cVar3 == '\"') {
    cVar3 = DAT_00089978[1];
    DAT_00089978 = DAT_00089978 + 1;
  }
  if (cVar3 == ' ') {
    cVar3 = DAT_00089978[1];
    DAT_00089978 = DAT_00089978 + 1;
  }
  if (cVar3 == ',') {
    pcVar8 = DAT_00089978 + 1;
    cVar3 = DAT_00089978[1];
    if (cVar3 == ' ') {
      pcVar8 = DAT_00089978 + 2;
      cVar3 = DAT_00089978[2];
    }
    DAT_00089978 = pcVar8;
    if (cVar3 == '#') {
      DAT_00089978 = pcVar8 + 1;
      cVar3 = pcVar8[1];
    }
    if ((cVar3 == '0') &&
       ((DAT_00089978[1] == 0 ||
        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {
      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);
      DAT_00089978 = DAT_00089978 + 1;
      FUN_0002e4e0();
    }
    else {
      cVar3 = FUN_000220a0(local_20);
      uVar6 = FUN_0003a9e0(local_20[0]);
      FUN_000242c0((int)cVar3);
      FUN_0002e4e0();
    }
    if (!bVar2) {
      iVar5 = FUN_0003b610(iVar4);
      if (*(char *)(iVar5 + 0x10) != '\x02') {
                    /* WARNING: Subroutine does not return */
        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);
      }
      iVar5 = FUN_0003b610(iVar4);
      uVar1 = *(undefined4 *)(iVar5 + 8);
      uVar7 = FUN_0003b830(iVar4);
      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);
      return uVar6;
    }
    return 0;
  }
  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);
  FUN_0002bd60(uVar6);
  FUN_0002e290();
  return 0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x282a7
SUB ESP,0x2c
LEA EDI,[EBX + 0x9978]
MOV EAX,dword ptr [EDI]
CMP byte ptr [EAX],0x23
JNZ 0x00057d74
ADD EAX,0x1
MOV dword ptr [EDI],EAX
SUB ESP,0xc
LEA EAX,[ESP + 0x24]
PUSH EAX
CALL 0x000220a0
POP ECX
PUSH dword ptr [ESP + 0x24]
MOV EBP,EAX
CALL 0x0003a9c0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00057eb0
SUB ESP,0xc
PUSH EAX
CALL 0x0003b830
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00057eb0
MOV EAX,dword ptr [EDI]
MOV EDX,EBP
MOV byte ptr [ESP + 0xc],0x0
MOV byte ptr [EAX],DL
MOV EAX,dword ptr [EDI]
MOVZX ECX,byte ptr [EAX]
CMP CL,0x22
JZ 0x00057ef4
CMP CL,0x20
JNZ 0x00057dd7
LEA EBP,[EAX + 0x1]
MOV dword ptr [EDI],EBP
MOVZX ECX,byte ptr [EAX + 0x1]
MOV EAX,EBP
CMP CL,0x2c
JNZ 0x00057f40
LEA EBP,[EAX + 0x1]
MOV dword ptr [EDI],EBP
MOVZX ECX,byte ptr [EAX + 0x1]
CMP CL,0x20
JNZ 0x00057df7
LEA EBP,[EAX + 0x2]
MOV dword ptr [EDI],EBP
MOVZX ECX,byte ptr [EAX + 0x2]
CMP CL,0x23
JNZ 0x00057e07
LEA EAX,[EBP + 0x1]
MOV dword ptr [EDI],EAX
MOVZX ECX,byte ptr [EBP + 0x1]
MOV EBP,EAX
CMP CL,0x30
JNZ 0x00057e28
MOVZX EAX,byte ptr [EBP + 0x1]
TEST AL,AL
JZ 0x00057f08
MOV ECX,dword ptr [EBX + 0xffffff74]
TEST byte ptr [ECX + EAX*0x2],0x40
JNZ 0x00057f08
SUB ESP,0xc
LEA EAX,[ESP + 0x28]
PUSH EAX
CALL 0x000220a0
POP EDX
PUSH dword ptr [ESP + 0x28]
MOV EDI,EAX
CALL 0x0003a9e0
MOV EBP,EAX
MOV EAX,EDI
MOVSX EAX,AL
MOV dword ptr [ESP],EAX
CALL 0x000242c0
ADD ESP,0x10
CALL 0x0002e4e0
CMP byte ptr [ESP + 0xc],0x0
JNZ 0x00057f34
SUB ESP,0xc
PUSH ESI
CALL 0x0003b610
ADD ESP,0x10
CMP byte ptr [EAX + 0x10],0x2
JNZ 0x00057f6d
SUB ESP,0xc
PUSH ESI
CALL 0x0003b610
MOV EDI,dword ptr [EAX + 0x8]
MOV dword ptr [ESP],ESI
CALL 0x0003b830
PUSH 0x5a3
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH EBP
PUSH 0x0
PUSH EDI
PUSH EAX
CALL 0x0003ebc0
ADD ESP,0x30
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xfffe5f30]
SUB ESP,0x4
MOV dword ptr [ESP + 0x10],EDX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP ECX
POP EDX
MOV EDX,dword ptr [ESP + 0x14]
PUSH EDX
PUSH EAX
CALL 0x0002bd60
MOV EAX,dword ptr [EDI]
MOV EDX,EBP
ADD ESP,0x10
MOV byte ptr [ESP + 0xc],0x1
MOV byte ptr [EAX],DL
MOV EAX,dword ptr [EDI]
MOVZX ECX,byte ptr [EAX]
CMP CL,0x22
JNZ 0x00057dc7
LEA EBP,[EAX + 0x1]
MOV dword ptr [EDI],EBP
MOVZX ECX,byte ptr [EAX + 0x1]
MOV EAX,EBP
JMP 0x00057dc7
MOV EAX,dword ptr [EBX + 0xffffffb0]
SUB ESP,0xc
ADD EAX,0x180
PUSH EAX
CALL 0x00036bd0
ADD ESP,0x10
ADD dword ptr [EDI],0x1
MOV EBP,EAX
CALL 0x0002e4e0
CMP byte ptr [ESP + 0xc],0x0
JZ 0x00057e63
ADD ESP,0x2c
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe5f6c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bd60
CALL 0x0002e290
ADD ESP,0x10
XOR EAX,EAX
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH EAX
LEA EAX,[EBX + 0xfffe6124]
PUSH EAX
LEA EAX,[EBX + 0xfffe5743]
PUSH 0x5eb
PUSH EAX
CALL 0x0002be80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00057d50(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}\n\n" comment (function_definition "undefined4 FUN_00057d50(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}" type_identifier (function_declarator "FUN_00057d50(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x57d59;" (assignment_expression "uStack_14 = 0x57d59" identifier = number_literal) ;) (if_statement "if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }" if (parenthesized_expression "(*DAT_00089978 == '#')" ( (binary_expression "*DAT_00089978 == '#'" (pointer_expression "*DAT_00089978" * identifier) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n    DAT_00089978 = DAT_00089978 + 1;\n  }" { (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) })) (expression_statement "cVar3 = FUN_000220a0(&local_24);" (assignment_expression "cVar3 = FUN_000220a0(&local_24)" identifier = (call_expression "FUN_000220a0(&local_24)" identifier (argument_list "(&local_24)" ( (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "iVar4 = FUN_0003a9c0(local_24);" (assignment_expression "iVar4 = FUN_0003a9c0(local_24)" identifier = (call_expression "FUN_0003a9c0(local_24)" identifier (argument_list "(local_24)" ( identifier )))) ;) (if_statement "if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" if (parenthesized_expression "((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0))" ( (binary_expression "(iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = FUN_0003b830(iVar4), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_0003b830(iVar4), iVar5 == 0" (assignment_expression "iVar5 = FUN_0003b830(iVar4)" identifier = (call_expression "FUN_0003b830(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" { (expression_statement "uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);" (assignment_expression "uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" identifier = (call_expression "dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" identifier (argument_list "(0,"expected `%s\' to have already been set for .vtable_inherit",5)" ( number_literal , (string_literal ""expected `%s\' to have already been set for .vtable_inherit"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar6,local_24);" (call_expression "FUN_0002bd60(uVar6,local_24)" identifier (argument_list "(uVar6,local_24)" ( identifier , identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "*DAT_00089978 = cVar3;" (assignment_expression "*DAT_00089978 = cVar3" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "cVar3 = *DAT_00089978;" (assignment_expression "cVar3 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }) (else_clause "else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" else (compound_statement "{\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "*DAT_00089978 = cVar3;" (assignment_expression "*DAT_00089978 = cVar3" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "cVar3 = *DAT_00089978;" (assignment_expression "cVar3 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }))) (if_statement "if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" if (parenthesized_expression "(cVar3 == '\"')" ( (binary_expression "cVar3 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" { (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" { (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }" if (parenthesized_expression "(cVar3 == ',')" ( (binary_expression "cVar3 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }" { (expression_statement "pcVar8 = DAT_00089978 + 1;" (assignment_expression "pcVar8 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }" { (expression_statement "pcVar8 = DAT_00089978 + 2;" (assignment_expression "pcVar8 = DAT_00089978 + 2" identifier = (binary_expression "DAT_00089978 + 2" identifier + number_literal)) ;) (expression_statement "cVar3 = DAT_00089978[2];" (assignment_expression "cVar3 = DAT_00089978[2]" identifier = (subscript_expression "DAT_00089978[2]" identifier [ number_literal ])) ;) })) (expression_statement "DAT_00089978 = pcVar8;" (assignment_expression "DAT_00089978 = pcVar8" identifier = identifier) ;) (if_statement "if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }" if (parenthesized_expression "(cVar3 == '#')" ( (binary_expression "cVar3 == '#'" identifier == (char_literal "'#'" ' character ')) )) (compound_statement "{\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }" { (expression_statement "DAT_00089978 = pcVar8 + 1;" (assignment_expression "DAT_00089978 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = pcVar8[1];" (assignment_expression "cVar3 = pcVar8[1]" identifier = (subscript_expression "pcVar8[1]" identifier [ number_literal ])) ;) })) (if_statement "if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" if (parenthesized_expression "((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0))))" ( (binary_expression "(cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))" (parenthesized_expression "(cVar3 == '0')" ( (binary_expression "cVar3 == '0'" identifier == (char_literal "'0'" ' character ')) )) && (parenthesized_expression "((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))" ( (parenthesized_expression "(DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0))" ( (binary_expression "DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)" (binary_expression "DAT_00089978[1] == 0" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)" ( (binary_expression "(PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0" (parenthesized_expression "(PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40)" ( (binary_expression "PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40" (subscript_expression "PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2]" identifier [ (binary_expression "(uint)(byte)DAT_00089978[1] * 2" (cast_expression "(uint)(byte)DAT_00089978[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)DAT_00089978[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]))) * number_literal) ]) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }" { (expression_statement "uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);" (assignment_expression "uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180)" identifier = (call_expression "FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180)" identifier (argument_list "(PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal) )))) ;) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" else (compound_statement "{\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" { (expression_statement "cVar3 = FUN_000220a0(local_20);" (assignment_expression "cVar3 = FUN_000220a0(local_20)" identifier = (call_expression "FUN_000220a0(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_0003a9e0(local_20[0]);" (assignment_expression "uVar6 = FUN_0003a9e0(local_20[0])" identifier = (call_expression "FUN_0003a9e0(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) )))) ;) (expression_statement "FUN_000242c0((int)cVar3);" (call_expression "FUN_000242c0((int)cVar3)" identifier (argument_list "((int)cVar3)" ( (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }" { (expression_statement "iVar5 = FUN_0003b610(iVar4);" (assignment_expression "iVar5 = FUN_0003b610(iVar4)" identifier = (call_expression "FUN_0003b610(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }" if (parenthesized_expression "(*(char *)(iVar5 + 0x10) != '\x02')" ( (binary_expression "*(char *)(iVar5 + 0x10) != '\x02'" (pointer_expression "*(char *)(iVar5 + 0x10)" * (cast_expression "(char *)(iVar5 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }" { comment (expression_statement "FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);" (call_expression "FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5)" identifier (argument_list "("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5)" ( (string_literal ""../../gas/config/obj-elf.c"" " string_content ") , number_literal , (string_literal ""obj_elf_get_vtable_inherit"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar5 = FUN_0003b610(iVar4);" (assignment_expression "iVar5 = FUN_0003b610(iVar4)" identifier = (call_expression "FUN_0003b610(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "uVar1 = *(undefined4 *)(iVar5 + 8);" (assignment_expression "uVar1 = *(undefined4 *)(iVar5 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 8)" * (cast_expression "(undefined4 *)(iVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = FUN_0003b830(iVar4);" (assignment_expression "uVar7 = FUN_0003b830(iVar4)" identifier = (call_expression "FUN_0003b830(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);" (assignment_expression "uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" identifier = (call_expression "FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" identifier (argument_list "(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" ( identifier , identifier , number_literal , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (return_statement "return uVar6;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);" (assignment_expression "uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5)" identifier = (call_expression "dcgettext(0,"expected comma after name in .vtable_inherit",5)" identifier (argument_list "(0,"expected comma after name in .vtable_inherit",5)" ( number_literal , (string_literal ""expected comma after name in .vtable_inherit"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar6);" (call_expression "FUN_0002bd60(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "FUN_0002e290();" (call_expression "FUN_0002e290()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nfix * obj_elf_get_vtable_inherit(void)\n\n{\n  bool bVar1;\n  offsetT oVar2;\n  char cVar3;\n  symbolS *s;\n  fragS *pfVar4;\n  symbolS *add_symbol;\n  expressionS *peVar5;\n  fixS *pfVar6;\n  char *pcVar7;\n  char *cname;\n  char *pname;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*input_line_pointer == '#') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  cVar3 = get_symbol_name(&cname);\n  s = symbol_find(cname);\n  if ((s == (symbolS *)0x0) || (pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0)) {\n    pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    as_bad(pcVar7,cname);\n    bVar1 = true;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }\n  else {\n    bVar1 = false;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar7 = input_line_pointer + 1;\n    cVar3 = input_line_pointer[1];\n    if (cVar3 == ' ') {\n      pcVar7 = input_line_pointer + 2;\n      cVar3 = input_line_pointer[2];\n    }\n    input_line_pointer = pcVar7;\n    if (cVar3 == '#') {\n      input_line_pointer = pcVar7 + 1;\n      cVar3 = pcVar7[1];\n    }\n    if ((cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))) {\n      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));\n      input_line_pointer = input_line_pointer + 1;\n      demand_empty_rest_of_line();\n    }\n    else {\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }\n    if (!bVar1) {\n      peVar5 = symbol_get_value_expression(s);\n      if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }\n      peVar5 = symbol_get_value_expression(s);\n      oVar2 = peVar5->X_add_number;\n      pfVar4 = symbol_get_frag(s);\n      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);\n      return pfVar6;\n    }\n    return (fix *)0x0;\n  }\n  pcVar7 = (char *)dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  as_bad(pcVar7);\n  ignore_rest_of_line();\n  return (fix *)0x0;\n}\n\n" comment comment (function_definition "fix * obj_elf_get_vtable_inherit(void)\n\n{\n  bool bVar1;\n  offsetT oVar2;\n  char cVar3;\n  symbolS *s;\n  fragS *pfVar4;\n  symbolS *add_symbol;\n  expressionS *peVar5;\n  fixS *pfVar6;\n  char *pcVar7;\n  char *cname;\n  char *pname;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*input_line_pointer == '#') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  cVar3 = get_symbol_name(&cname);\n  s = symbol_find(cname);\n  if ((s == (symbolS *)0x0) || (pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0)) {\n    pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    as_bad(pcVar7,cname);\n    bVar1 = true;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }\n  else {\n    bVar1 = false;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar7 = input_line_pointer + 1;\n    cVar3 = input_line_pointer[1];\n    if (cVar3 == ' ') {\n      pcVar7 = input_line_pointer + 2;\n      cVar3 = input_line_pointer[2];\n    }\n    input_line_pointer = pcVar7;\n    if (cVar3 == '#') {\n      input_line_pointer = pcVar7 + 1;\n      cVar3 = pcVar7[1];\n    }\n    if ((cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))) {\n      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));\n      input_line_pointer = input_line_pointer + 1;\n      demand_empty_rest_of_line();\n    }\n    else {\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }\n    if (!bVar1) {\n      peVar5 = symbol_get_value_expression(s);\n      if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }\n      peVar5 = symbol_get_value_expression(s);\n      oVar2 = peVar5->X_add_number;\n      pfVar4 = symbol_get_frag(s);\n      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);\n      return pfVar6;\n    }\n    return (fix *)0x0;\n  }\n  pcVar7 = (char *)dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  as_bad(pcVar7);\n  ignore_rest_of_line();\n  return (fix *)0x0;\n}" type_identifier (pointer_declarator "* obj_elf_get_vtable_inherit(void)" * (function_declarator "obj_elf_get_vtable_inherit(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  bool bVar1;\n  offsetT oVar2;\n  char cVar3;\n  symbolS *s;\n  fragS *pfVar4;\n  symbolS *add_symbol;\n  expressionS *peVar5;\n  fixS *pfVar6;\n  char *pcVar7;\n  char *cname;\n  char *pname;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*input_line_pointer == '#') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  cVar3 = get_symbol_name(&cname);\n  s = symbol_find(cname);\n  if ((s == (symbolS *)0x0) || (pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0)) {\n    pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    as_bad(pcVar7,cname);\n    bVar1 = true;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }\n  else {\n    bVar1 = false;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar7 = input_line_pointer + 1;\n    cVar3 = input_line_pointer[1];\n    if (cVar3 == ' ') {\n      pcVar7 = input_line_pointer + 2;\n      cVar3 = input_line_pointer[2];\n    }\n    input_line_pointer = pcVar7;\n    if (cVar3 == '#') {\n      input_line_pointer = pcVar7 + 1;\n      cVar3 = pcVar7[1];\n    }\n    if ((cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))) {\n      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));\n      input_line_pointer = input_line_pointer + 1;\n      demand_empty_rest_of_line();\n    }\n    else {\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }\n    if (!bVar1) {\n      peVar5 = symbol_get_value_expression(s);\n      if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }\n      peVar5 = symbol_get_value_expression(s);\n      oVar2 = peVar5->X_add_number;\n      pfVar4 = symbol_get_frag(s);\n      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);\n      return pfVar6;\n    }\n    return (fix *)0x0;\n  }\n  pcVar7 = (char *)dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  as_bad(pcVar7);\n  ignore_rest_of_line();\n  return (fix *)0x0;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "offsetT oVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "symbolS *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "fragS *pfVar4;" type_identifier (pointer_declarator "*pfVar4" * identifier) ;) (declaration "symbolS *add_symbol;" type_identifier (pointer_declarator "*add_symbol" * identifier) ;) (declaration "expressionS *peVar5;" type_identifier (pointer_declarator "*peVar5" * identifier) ;) (declaration "fixS *pfVar6;" type_identifier (pointer_declarator "*pfVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "char *cname;" primitive_type (pointer_declarator "*cname" * identifier) ;) (declaration "char *pname;" primitive_type (pointer_declarator "*pname" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x57d59;" (assignment_expression "uStack_14 = 0x57d59" identifier = number_literal) ;) (if_statement "if (*input_line_pointer == '#') {\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(*input_line_pointer == '#')" ( (binary_expression "*input_line_pointer == '#'" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (expression_statement "cVar3 = get_symbol_name(&cname);" (assignment_expression "cVar3 = get_symbol_name(&cname)" identifier = (call_expression "get_symbol_name(&cname)" identifier (argument_list "(&cname)" ( (pointer_expression "&cname" & identifier) )))) ;) (expression_statement "s = symbol_find(cname);" (assignment_expression "s = symbol_find(cname)" identifier = (call_expression "symbol_find(cname)" identifier (argument_list "(cname)" ( identifier )))) ;) (if_statement "if ((s == (symbolS *)0x0) || (pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0)) {\n    pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    as_bad(pcVar7,cname);\n    bVar1 = true;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }\n  else {\n    bVar1 = false;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }" if (parenthesized_expression "((s == (symbolS *)0x0) || (pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0))" ( (binary_expression "(s == (symbolS *)0x0) || (pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0)" (parenthesized_expression "(s == (symbolS *)0x0)" ( (binary_expression "s == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0)" ( (comma_expression "pfVar4 = symbol_get_frag(s), pfVar4 == (fragS *)0x0" (assignment_expression "pfVar4 = symbol_get_frag(s)" identifier = (call_expression "symbol_get_frag(s)" identifier (argument_list "(s)" ( identifier )))) , (binary_expression "pfVar4 == (fragS *)0x0" identifier == (cast_expression "(fragS *)0x0" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    as_bad(pcVar7,cname);\n    bVar1 = true;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }" { (expression_statement "pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" identifier = (cast_expression "(char *)dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" identifier (argument_list "(0,"expected `%s\' to have already been set for .vtable_inherit",5)" ( number_literal , (string_literal ""expected `%s\' to have already been set for .vtable_inherit"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar7,cname);" (call_expression "as_bad(pcVar7,cname)" identifier (argument_list "(pcVar7,cname)" ( identifier , identifier ))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "*input_line_pointer = cVar3;" (assignment_expression "*input_line_pointer = cVar3" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (expression_statement "cVar3 = *input_line_pointer;" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) }) (else_clause "else {\n    bVar1 = false;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }" else (compound_statement "{\n    bVar1 = false;\n    *input_line_pointer = cVar3;\n    cVar3 = *input_line_pointer;\n  }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "*input_line_pointer = cVar3;" (assignment_expression "*input_line_pointer = cVar3" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (expression_statement "cVar3 = *input_line_pointer;" (assignment_expression "cVar3 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) }))) (if_statement "if (cVar3 == '\"') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(cVar3 == '\"')" ( (binary_expression "cVar3 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "cVar3 = input_line_pointer[1];" (assignment_expression "cVar3 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ' ') {\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar3 = input_line_pointer[1];\n    input_line_pointer = input_line_pointer + 1;\n  }" { (expression_statement "cVar3 = input_line_pointer[1];" (assignment_expression "cVar3 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ',') {\n    pcVar7 = input_line_pointer + 1;\n    cVar3 = input_line_pointer[1];\n    if (cVar3 == ' ') {\n      pcVar7 = input_line_pointer + 2;\n      cVar3 = input_line_pointer[2];\n    }\n    input_line_pointer = pcVar7;\n    if (cVar3 == '#') {\n      input_line_pointer = pcVar7 + 1;\n      cVar3 = pcVar7[1];\n    }\n    if ((cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))) {\n      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));\n      input_line_pointer = input_line_pointer + 1;\n      demand_empty_rest_of_line();\n    }\n    else {\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }\n    if (!bVar1) {\n      peVar5 = symbol_get_value_expression(s);\n      if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }\n      peVar5 = symbol_get_value_expression(s);\n      oVar2 = peVar5->X_add_number;\n      pfVar4 = symbol_get_frag(s);\n      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);\n      return pfVar6;\n    }\n    return (fix *)0x0;\n  }" if (parenthesized_expression "(cVar3 == ',')" ( (binary_expression "cVar3 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n    pcVar7 = input_line_pointer + 1;\n    cVar3 = input_line_pointer[1];\n    if (cVar3 == ' ') {\n      pcVar7 = input_line_pointer + 2;\n      cVar3 = input_line_pointer[2];\n    }\n    input_line_pointer = pcVar7;\n    if (cVar3 == '#') {\n      input_line_pointer = pcVar7 + 1;\n      cVar3 = pcVar7[1];\n    }\n    if ((cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))) {\n      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));\n      input_line_pointer = input_line_pointer + 1;\n      demand_empty_rest_of_line();\n    }\n    else {\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }\n    if (!bVar1) {\n      peVar5 = symbol_get_value_expression(s);\n      if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }\n      peVar5 = symbol_get_value_expression(s);\n      oVar2 = peVar5->X_add_number;\n      pfVar4 = symbol_get_frag(s);\n      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);\n      return pfVar6;\n    }\n    return (fix *)0x0;\n  }" { (expression_statement "pcVar7 = input_line_pointer + 1;" (assignment_expression "pcVar7 = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = input_line_pointer[1];" (assignment_expression "cVar3 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar3 == ' ') {\n      pcVar7 = input_line_pointer + 2;\n      cVar3 = input_line_pointer[2];\n    }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n      pcVar7 = input_line_pointer + 2;\n      cVar3 = input_line_pointer[2];\n    }" { (expression_statement "pcVar7 = input_line_pointer + 2;" (assignment_expression "pcVar7 = input_line_pointer + 2" identifier = (binary_expression "input_line_pointer + 2" identifier + number_literal)) ;) (expression_statement "cVar3 = input_line_pointer[2];" (assignment_expression "cVar3 = input_line_pointer[2]" identifier = (subscript_expression "input_line_pointer[2]" identifier [ number_literal ])) ;) })) (expression_statement "input_line_pointer = pcVar7;" (assignment_expression "input_line_pointer = pcVar7" identifier = identifier) ;) (if_statement "if (cVar3 == '#') {\n      input_line_pointer = pcVar7 + 1;\n      cVar3 = pcVar7[1];\n    }" if (parenthesized_expression "(cVar3 == '#')" ( (binary_expression "cVar3 == '#'" identifier == (char_literal "'#'" ' character ')) )) (compound_statement "{\n      input_line_pointer = pcVar7 + 1;\n      cVar3 = pcVar7[1];\n    }" { (expression_statement "input_line_pointer = pcVar7 + 1;" (assignment_expression "input_line_pointer = pcVar7 + 1" identifier = (binary_expression "pcVar7 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = pcVar7[1];" (assignment_expression "cVar3 = pcVar7[1]" identifier = (subscript_expression "pcVar7[1]" identifier [ number_literal ])) ;) })) (if_statement "if ((cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))) {\n      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));\n      input_line_pointer = input_line_pointer + 1;\n      demand_empty_rest_of_line();\n    }\n    else {\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }" if (parenthesized_expression "((cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0))))" ( (binary_expression "(cVar3 == '0') &&\n       ((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))" (parenthesized_expression "(cVar3 == '0')" ( (binary_expression "cVar3 == '0'" identifier == (char_literal "'0'" ' character ')) )) && (parenthesized_expression "((input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)))" ( (parenthesized_expression "(input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0))" ( (binary_expression "input_line_pointer[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)" (binary_expression "input_line_pointer[1] == 0" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "((PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0)" ( (binary_expression "(PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40) != 0" (parenthesized_expression "(PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40)" ( (binary_expression "PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2] & 0x40" (subscript_expression "PTR__sch_istable_0007ff74[(uint)(byte)input_line_pointer[1] * 2]" identifier [ (binary_expression "(uint)(byte)input_line_pointer[1] * 2" (cast_expression "(uint)(byte)input_line_pointer[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_line_pointer[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]))) * number_literal) ]) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n      add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));\n      input_line_pointer = input_line_pointer + 1;\n      demand_empty_rest_of_line();\n    }" { (expression_statement "add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180));" (assignment_expression "add_symbol = section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180))" identifier = (call_expression "section_symbol((segT)(PTR__bfd_std_section_0007ffb0 + 0x180))" identifier (argument_list "((segT)(PTR__bfd_std_section_0007ffb0 + 0x180))" ( (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal) ))) )))) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }" else (compound_statement "{\n      cVar3 = get_symbol_name(&pname);\n      add_symbol = symbol_find_or_make(pname);\n      restore_line_pointer(cVar3);\n      demand_empty_rest_of_line();\n    }" { (expression_statement "cVar3 = get_symbol_name(&pname);" (assignment_expression "cVar3 = get_symbol_name(&pname)" identifier = (call_expression "get_symbol_name(&pname)" identifier (argument_list "(&pname)" ( (pointer_expression "&pname" & identifier) )))) ;) (expression_statement "add_symbol = symbol_find_or_make(pname);" (assignment_expression "add_symbol = symbol_find_or_make(pname)" identifier = (call_expression "symbol_find_or_make(pname)" identifier (argument_list "(pname)" ( identifier )))) ;) (expression_statement "restore_line_pointer(cVar3);" (call_expression "restore_line_pointer(cVar3)" identifier (argument_list "(cVar3)" ( identifier ))) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (!bVar1) {\n      peVar5 = symbol_get_value_expression(s);\n      if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }\n      peVar5 = symbol_get_value_expression(s);\n      oVar2 = peVar5->X_add_number;\n      pfVar4 = symbol_get_frag(s);\n      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);\n      return pfVar6;\n    }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n      peVar5 = symbol_get_value_expression(s);\n      if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }\n      peVar5 = symbol_get_value_expression(s);\n      oVar2 = peVar5->X_add_number;\n      pfVar4 = symbol_get_frag(s);\n      pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);\n      return pfVar6;\n    }" { (expression_statement "peVar5 = symbol_get_value_expression(s);" (assignment_expression "peVar5 = symbol_get_value_expression(s)" identifier = (call_expression "symbol_get_value_expression(s)" identifier (argument_list "(s)" ( identifier )))) ;) (if_statement "if (peVar5->field_0x10 != '\x02') {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }" if (parenthesized_expression "(peVar5->field_0x10 != '\x02')" ( (binary_expression "peVar5->field_0x10 != '\x02'" (field_expression "peVar5->field_0x10" identifier -> field_identifier) != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");\n      }" { comment (expression_statement "as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");" (call_expression "as_abort("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit")" identifier (argument_list "("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit")" ( (string_literal ""../../gas/config/obj-elf.c"" " string_content ") , number_literal , (string_literal ""obj_elf_get_vtable_inherit"" " string_content ") ))) ;) })) (expression_statement "peVar5 = symbol_get_value_expression(s);" (assignment_expression "peVar5 = symbol_get_value_expression(s)" identifier = (call_expression "symbol_get_value_expression(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "oVar2 = peVar5->X_add_number;" (assignment_expression "oVar2 = peVar5->X_add_number" identifier = (field_expression "peVar5->X_add_number" identifier -> field_identifier)) ;) (expression_statement "pfVar4 = symbol_get_frag(s);" (assignment_expression "pfVar4 = symbol_get_frag(s)" identifier = (call_expression "symbol_get_frag(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);" (assignment_expression "pfVar6 = fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT)" identifier = (call_expression "fix_new(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT)" identifier (argument_list "(pfVar4,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT)" ( identifier , (cast_expression "(int)oVar2" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier , number_literal , number_literal , identifier )))) ;) (return_statement "return pfVar6;" return identifier ;) })) (return_statement "return (fix *)0x0;" return (cast_expression "(fix *)0x0" ( (type_descriptor "fix *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar7 = (char *)dcgettext(0,"expected comma after name in .vtable_inherit",5);" (assignment_expression "pcVar7 = (char *)dcgettext(0,"expected comma after name in .vtable_inherit",5)" identifier = (cast_expression "(char *)dcgettext(0,"expected comma after name in .vtable_inherit",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"expected comma after name in .vtable_inherit",5)" identifier (argument_list "(0,"expected comma after name in .vtable_inherit",5)" ( number_literal , (string_literal ""expected comma after name in .vtable_inherit"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar7);" (call_expression "as_bad(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))) ;) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return (fix *)0x0;" return (cast_expression "(fix *)0x0" ( (type_descriptor "fix *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "undefined4 FUN_00057d50(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_00057d50(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}" type_identifier (function_declarator "FUN_00057d50(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x57d59;" (assignment_expression "uStack_14 = 0x57d59" identifier = number_literal) ;) (if_statement "if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }" if (parenthesized_expression "(*DAT_00089978 == '#')" ( (binary_expression "*DAT_00089978 == '#'" (pointer_expression "*DAT_00089978" * identifier) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n    DAT_00089978 = DAT_00089978 + 1;\n  }" { (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) })) (expression_statement "cVar3 = FUN_000220a0(&local_24);" (assignment_expression "cVar3 = FUN_000220a0(&local_24)" identifier = (call_expression "FUN_000220a0(&local_24)" identifier (argument_list "(&local_24)" ( (pointer_expression "&local_24" & identifier) )))) ;) (expression_statement "iVar4 = FUN_0003a9c0(local_24);" (assignment_expression "iVar4 = FUN_0003a9c0(local_24)" identifier = (call_expression "FUN_0003a9c0(local_24)" identifier (argument_list "(local_24)" ( identifier )))) ;) (if_statement "if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" if (parenthesized_expression "((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0))" ( (binary_expression "(iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = FUN_0003b830(iVar4), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_0003b830(iVar4), iVar5 == 0" (assignment_expression "iVar5 = FUN_0003b830(iVar4)" identifier = (call_expression "FUN_0003b830(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" { (expression_statement "uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);" (assignment_expression "uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" identifier = (call_expression "dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" identifier (argument_list "(0,"expected `%s\' to have already been set for .vtable_inherit",5)" ( number_literal , (string_literal ""expected `%s\' to have already been set for .vtable_inherit"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar6,local_24);" (call_expression "FUN_0002bd60(uVar6,local_24)" identifier (argument_list "(uVar6,local_24)" ( identifier , identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "*DAT_00089978 = cVar3;" (assignment_expression "*DAT_00089978 = cVar3" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "cVar3 = *DAT_00089978;" (assignment_expression "cVar3 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }) (else_clause "else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" else (compound_statement "{\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "*DAT_00089978 = cVar3;" (assignment_expression "*DAT_00089978 = cVar3" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "cVar3 = *DAT_00089978;" (assignment_expression "cVar3 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) }))) (if_statement "if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" if (parenthesized_expression "(cVar3 == '\"')" ( (binary_expression "cVar3 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" { (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" { (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) })) (if_statement "if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }" if (parenthesized_expression "(cVar3 == ',')" ( (binary_expression "cVar3 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }" { (expression_statement "pcVar8 = DAT_00089978 + 1;" (assignment_expression "pcVar8 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }" if (parenthesized_expression "(cVar3 == ' ')" ( (binary_expression "cVar3 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }" { (expression_statement "pcVar8 = DAT_00089978 + 2;" (assignment_expression "pcVar8 = DAT_00089978 + 2" identifier = (binary_expression "DAT_00089978 + 2" identifier + number_literal)) ;) (expression_statement "cVar3 = DAT_00089978[2];" (assignment_expression "cVar3 = DAT_00089978[2]" identifier = (subscript_expression "DAT_00089978[2]" identifier [ number_literal ])) ;) })) (expression_statement "DAT_00089978 = pcVar8;" (assignment_expression "DAT_00089978 = pcVar8" identifier = identifier) ;) (if_statement "if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }" if (parenthesized_expression "(cVar3 == '#')" ( (binary_expression "cVar3 == '#'" identifier == (char_literal "'#'" ' character ')) )) (compound_statement "{\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }" { (expression_statement "DAT_00089978 = pcVar8 + 1;" (assignment_expression "DAT_00089978 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) (expression_statement "cVar3 = pcVar8[1];" (assignment_expression "cVar3 = pcVar8[1]" identifier = (subscript_expression "pcVar8[1]" identifier [ number_literal ])) ;) })) (if_statement "if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" if (parenthesized_expression "((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0))))" ( (binary_expression "(cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))" (parenthesized_expression "(cVar3 == '0')" ( (binary_expression "cVar3 == '0'" identifier == (char_literal "'0'" ' character ')) )) && (parenthesized_expression "((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))" ( (parenthesized_expression "(DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0))" ( (binary_expression "DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)" (binary_expression "DAT_00089978[1] == 0" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)" ( (binary_expression "(PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0" (parenthesized_expression "(PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40)" ( (binary_expression "PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40" (subscript_expression "PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2]" identifier [ (binary_expression "(uint)(byte)DAT_00089978[1] * 2" (cast_expression "(uint)(byte)DAT_00089978[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)DAT_00089978[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]))) * number_literal) ]) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }" { (expression_statement "uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);" (assignment_expression "uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180)" identifier = (call_expression "FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180)" identifier (argument_list "(PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal) )))) ;) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" else (compound_statement "{\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" { (expression_statement "cVar3 = FUN_000220a0(local_20);" (assignment_expression "cVar3 = FUN_000220a0(local_20)" identifier = (call_expression "FUN_000220a0(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_0003a9e0(local_20[0]);" (assignment_expression "uVar6 = FUN_0003a9e0(local_20[0])" identifier = (call_expression "FUN_0003a9e0(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) )))) ;) (expression_statement "FUN_000242c0((int)cVar3);" (call_expression "FUN_000242c0((int)cVar3)" identifier (argument_list "((int)cVar3)" ( (cast_expression "(int)cVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }" { (expression_statement "iVar5 = FUN_0003b610(iVar4);" (assignment_expression "iVar5 = FUN_0003b610(iVar4)" identifier = (call_expression "FUN_0003b610(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (if_statement "if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }" if (parenthesized_expression "(*(char *)(iVar5 + 0x10) != '\x02')" ( (binary_expression "*(char *)(iVar5 + 0x10) != '\x02'" (pointer_expression "*(char *)(iVar5 + 0x10)" * (cast_expression "(char *)(iVar5 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }" { (expression_statement "FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);" (call_expression "FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5)" identifier (argument_list "("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5)" ( (string_literal ""../../gas/config/obj-elf.c"" " string_content ") , number_literal , (string_literal ""obj_elf_get_vtable_inherit"" " string_content ") , identifier ))) ;) })) (expression_statement "iVar5 = FUN_0003b610(iVar4);" (assignment_expression "iVar5 = FUN_0003b610(iVar4)" identifier = (call_expression "FUN_0003b610(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "uVar1 = *(undefined4 *)(iVar5 + 8);" (assignment_expression "uVar1 = *(undefined4 *)(iVar5 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 8)" * (cast_expression "(undefined4 *)(iVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = FUN_0003b830(iVar4);" (assignment_expression "uVar7 = FUN_0003b830(iVar4)" identifier = (call_expression "FUN_0003b830(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);" (assignment_expression "uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" identifier = (call_expression "FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" identifier (argument_list "(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" ( identifier , identifier , number_literal , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (return_statement "return uVar6;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);" (assignment_expression "uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5)" identifier = (call_expression "dcgettext(0,"expected comma after name in .vtable_inherit",5)" identifier (argument_list "(0,"expected comma after name in .vtable_inherit",5)" ( number_literal , (string_literal ""expected comma after name in .vtable_inherit"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar6);" (call_expression "FUN_0002bd60(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "FUN_0002e290();" (call_expression "FUN_0002e290()" identifier (argument_list "()" ( ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) * LIT) ]) & LIT) )) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , LIT , LIT , LIT , LIT )))) ;) (return_statement return IDENT ;) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00057d50(void)\n\n{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_00057d50(void)" (identifier "FUN_00057d50") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  bool bVar2;\n  char cVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *pcVar8;\n  undefined4 local_24;\n  undefined4 local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x57d59;\n  if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  cVar3 = FUN_000220a0(&local_24);\n  iVar4 = FUN_0003a9c0(local_24);\n  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }\n  if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }\n  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);\n  FUN_0002bd60(uVar6);\n  FUN_0002e290();\n  return 0;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20 [3];" (type_identifier "undefined4") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x57d59;" (assignment_expression "uStack_14 = 0x57d59" (identifier "uStack_14") (= "=") (number_literal "0x57d59")) (; ";")) (if_statement "if (*DAT_00089978 == '#') {\n    DAT_00089978 = DAT_00089978 + 1;\n  }" (if "if") (parenthesized_expression "(*DAT_00089978 == '#')" (( "(") (binary_expression "*DAT_00089978 == '#'" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (== "==") (char_literal "'#'" (' "'") (character "#") (' "'"))) () ")")) (compound_statement "{\n    DAT_00089978 = DAT_00089978 + 1;\n  }" ({ "{") (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" (identifier "DAT_00089978") (= "=") (binary_expression "DAT_00089978 + 1" (identifier "DAT_00089978") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "cVar3 = FUN_000220a0(&local_24);" (assignment_expression "cVar3 = FUN_000220a0(&local_24)" (identifier "cVar3") (= "=") (call_expression "FUN_000220a0(&local_24)" (identifier "FUN_000220a0") (argument_list "(&local_24)" (( "(") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")")))) (; ";")) (expression_statement "iVar4 = FUN_0003a9c0(local_24);" (assignment_expression "iVar4 = FUN_0003a9c0(local_24)" (identifier "iVar4") (= "=") (call_expression "FUN_0003a9c0(local_24)" (identifier "FUN_0003a9c0") (argument_list "(local_24)" (( "(") (identifier "local_24") () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }\n  else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" (if "if") (parenthesized_expression "((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0))" (( "(") (binary_expression "(iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = FUN_0003b830(iVar4), iVar5 == 0)" (( "(") (comma_expression "iVar5 = FUN_0003b830(iVar4), iVar5 == 0" (assignment_expression "iVar5 = FUN_0003b830(iVar4)" (identifier "iVar5") (= "=") (call_expression "FUN_0003b830(iVar4)" (identifier "FUN_0003b830") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);\n    FUN_0002bd60(uVar6,local_24);\n    bVar2 = true;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" ({ "{") (expression_statement "uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);" (assignment_expression "uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5)" (identifier "dcgettext") (argument_list "(0,"expected `%s\' to have already been set for .vtable_inherit",5)" (( "(") (number_literal "0") (, ",") (string_literal ""expected `%s\' to have already been set for .vtable_inherit"" (" """) (string_content "expected `%s") (escape_sequence "\'") (string_content " to have already been set for .vtable_inherit") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar6,local_24);" (call_expression "FUN_0002bd60(uVar6,local_24)" (identifier "FUN_0002bd60") (argument_list "(uVar6,local_24)" (( "(") (identifier "uVar6") (, ",") (identifier "local_24") () ")"))) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (expression_statement "*DAT_00089978 = cVar3;" (assignment_expression "*DAT_00089978 = cVar3" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (= "=") (identifier "cVar3")) (; ";")) (expression_statement "cVar3 = *DAT_00089978;" (assignment_expression "cVar3 = *DAT_00089978" (identifier "cVar3") (= "=") (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978"))) (; ";")) (} "}")) (else_clause "else {\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" (else "else") (compound_statement "{\n    bVar2 = false;\n    *DAT_00089978 = cVar3;\n    cVar3 = *DAT_00089978;\n  }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "*DAT_00089978 = cVar3;" (assignment_expression "*DAT_00089978 = cVar3" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (= "=") (identifier "cVar3")) (; ";")) (expression_statement "cVar3 = *DAT_00089978;" (assignment_expression "cVar3 = *DAT_00089978" (identifier "cVar3") (= "=") (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978"))) (; ";")) (} "}")))) (if_statement "if (cVar3 == '\"') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" (if "if") (parenthesized_expression "(cVar3 == '\"')" (( "(") (binary_expression "cVar3 == '\"'" (identifier "cVar3") (== "==") (char_literal "'\"'" (' "'") (escape_sequence "\"") (' "'"))) () ")")) (compound_statement "{\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" ({ "{") (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" (identifier "cVar3") (= "=") (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" (identifier "DAT_00089978") (= "=") (binary_expression "DAT_00089978 + 1" (identifier "DAT_00089978") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (cVar3 == ' ') {\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" (if "if") (parenthesized_expression "(cVar3 == ' ')" (( "(") (binary_expression "cVar3 == ' '" (identifier "cVar3") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n    cVar3 = DAT_00089978[1];\n    DAT_00089978 = DAT_00089978 + 1;\n  }" ({ "{") (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" (identifier "cVar3") (= "=") (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" (identifier "DAT_00089978") (= "=") (binary_expression "DAT_00089978 + 1" (identifier "DAT_00089978") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (cVar3 == ',') {\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "(cVar3 == ',')" (( "(") (binary_expression "cVar3 == ','" (identifier "cVar3") (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n    pcVar8 = DAT_00089978 + 1;\n    cVar3 = DAT_00089978[1];\n    if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }\n    DAT_00089978 = pcVar8;\n    if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }\n    if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }\n    if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }\n    return 0;\n  }" ({ "{") (expression_statement "pcVar8 = DAT_00089978 + 1;" (assignment_expression "pcVar8 = DAT_00089978 + 1" (identifier "pcVar8") (= "=") (binary_expression "DAT_00089978 + 1" (identifier "DAT_00089978") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar3 = DAT_00089978[1];" (assignment_expression "cVar3 = DAT_00089978[1]" (identifier "cVar3") (= "=") (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (cVar3 == ' ') {\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }" (if "if") (parenthesized_expression "(cVar3 == ' ')" (( "(") (binary_expression "cVar3 == ' '" (identifier "cVar3") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n      pcVar8 = DAT_00089978 + 2;\n      cVar3 = DAT_00089978[2];\n    }" ({ "{") (expression_statement "pcVar8 = DAT_00089978 + 2;" (assignment_expression "pcVar8 = DAT_00089978 + 2" (identifier "pcVar8") (= "=") (binary_expression "DAT_00089978 + 2" (identifier "DAT_00089978") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "cVar3 = DAT_00089978[2];" (assignment_expression "cVar3 = DAT_00089978[2]" (identifier "cVar3") (= "=") (subscript_expression "DAT_00089978[2]" (identifier "DAT_00089978") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}"))) (expression_statement "DAT_00089978 = pcVar8;" (assignment_expression "DAT_00089978 = pcVar8" (identifier "DAT_00089978") (= "=") (identifier "pcVar8")) (; ";")) (if_statement "if (cVar3 == '#') {\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }" (if "if") (parenthesized_expression "(cVar3 == '#')" (( "(") (binary_expression "cVar3 == '#'" (identifier "cVar3") (== "==") (char_literal "'#'" (' "'") (character "#") (' "'"))) () ")")) (compound_statement "{\n      DAT_00089978 = pcVar8 + 1;\n      cVar3 = pcVar8[1];\n    }" ({ "{") (expression_statement "DAT_00089978 = pcVar8 + 1;" (assignment_expression "DAT_00089978 = pcVar8 + 1" (identifier "DAT_00089978") (= "=") (binary_expression "pcVar8 + 1" (identifier "pcVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar3 = pcVar8[1];" (assignment_expression "cVar3 = pcVar8[1]" (identifier "cVar3") (= "=") (subscript_expression "pcVar8[1]" (identifier "pcVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (if_statement "if ((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }\n    else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" (if "if") (parenthesized_expression "((cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0))))" (( "(") (binary_expression "(cVar3 == '0') &&\n       ((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))" (parenthesized_expression "(cVar3 == '0')" (( "(") (binary_expression "cVar3 == '0'" (identifier "cVar3") (== "==") (char_literal "'0'" (' "'") (character "0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))" (( "(") (parenthesized_expression "(DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0))" (( "(") (binary_expression "DAT_00089978[1] == 0 ||\n        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)" (binary_expression "DAT_00089978[1] == 0" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)" (( "(") (binary_expression "(PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0" (parenthesized_expression "(PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40)" (( "(") (binary_expression "PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40" (subscript_expression "PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2]" (identifier "PTR__sch_istable_0007ff74") ([ "[") (binary_expression "(uint)(byte)DAT_00089978[1] * 2" (cast_expression "(uint)(byte)DAT_00089978[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)DAT_00089978[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")))) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);\n      DAT_00089978 = DAT_00089978 + 1;\n      FUN_0002e4e0();\n    }" ({ "{") (expression_statement "uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);" (assignment_expression "uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180)" (identifier "uVar6") (= "=") (call_expression "FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180)" (identifier "FUN_00036bd0") (argument_list "(PTR__bfd_std_section_0007ffb0 + 0x180)" (( "(") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0x180")) () ")")))) (; ";")) (expression_statement "DAT_00089978 = DAT_00089978 + 1;" (assignment_expression "DAT_00089978 = DAT_00089978 + 1" (identifier "DAT_00089978") (= "=") (binary_expression "DAT_00089978 + 1" (identifier "DAT_00089978") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" (identifier "FUN_0002e4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" (else "else") (compound_statement "{\n      cVar3 = FUN_000220a0(local_20);\n      uVar6 = FUN_0003a9e0(local_20[0]);\n      FUN_000242c0((int)cVar3);\n      FUN_0002e4e0();\n    }" ({ "{") (expression_statement "cVar3 = FUN_000220a0(local_20);" (assignment_expression "cVar3 = FUN_000220a0(local_20)" (identifier "cVar3") (= "=") (call_expression "FUN_000220a0(local_20)" (identifier "FUN_000220a0") (argument_list "(local_20)" (( "(") (identifier "local_20") () ")")))) (; ";")) (expression_statement "uVar6 = FUN_0003a9e0(local_20[0]);" (assignment_expression "uVar6 = FUN_0003a9e0(local_20[0])" (identifier "uVar6") (= "=") (call_expression "FUN_0003a9e0(local_20[0])" (identifier "FUN_0003a9e0") (argument_list "(local_20[0])" (( "(") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (expression_statement "FUN_000242c0((int)cVar3);" (call_expression "FUN_000242c0((int)cVar3)" (identifier "FUN_000242c0") (argument_list "((int)cVar3)" (( "(") (cast_expression "(int)cVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar3")) () ")"))) (; ";")) (expression_statement "FUN_0002e4e0();" (call_expression "FUN_0002e4e0()" (identifier "FUN_0002e4e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (!bVar2) {\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n      iVar5 = FUN_0003b610(iVar4);\n      if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }\n      iVar5 = FUN_0003b610(iVar4);\n      uVar1 = *(undefined4 *)(iVar5 + 8);\n      uVar7 = FUN_0003b830(iVar4);\n      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);\n      return uVar6;\n    }" ({ "{") (expression_statement "iVar5 = FUN_0003b610(iVar4);" (assignment_expression "iVar5 = FUN_0003b610(iVar4)" (identifier "iVar5") (= "=") (call_expression "FUN_0003b610(iVar4)" (identifier "FUN_0003b610") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (*(char *)(iVar5 + 0x10) != '\x02') {\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar5 + 0x10) != '\x02')" (( "(") (binary_expression "*(char *)(iVar5 + 0x10) != '\x02'" (pointer_expression "*(char *)(iVar5 + 0x10)" (* "*") (cast_expression "(char *)(iVar5 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n                    \n        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);\n      }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);" (call_expression "FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5)" (( "(") (string_literal ""../../gas/config/obj-elf.c"" (" """) (string_content "../../gas/config/obj-elf.c") (" """)) (, ",") (number_literal "0x5eb") (, ",") (string_literal ""obj_elf_get_vtable_inherit"" (" """) (string_content "obj_elf_get_vtable_inherit") (" """)) (, ",") (identifier "iVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_0003b610(iVar4);" (assignment_expression "iVar5 = FUN_0003b610(iVar4)" (identifier "iVar5") (= "=") (call_expression "FUN_0003b610(iVar4)" (identifier "FUN_0003b610") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "uVar1 = *(undefined4 *)(iVar5 + 8);" (assignment_expression "uVar1 = *(undefined4 *)(iVar5 + 8)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined4 *)(iVar5 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar7 = FUN_0003b830(iVar4);" (assignment_expression "uVar7 = FUN_0003b830(iVar4)" (identifier "uVar7") (= "=") (call_expression "FUN_0003b830(iVar4)" (identifier "FUN_0003b830") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);" (assignment_expression "uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" (identifier "uVar6") (= "=") (call_expression "FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" (identifier "FUN_0003ebc0") (argument_list "(uVar7,uVar1,0,uVar6,0,0,0,0x5a3)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar1") (, ",") (number_literal "0") (, ",") (identifier "uVar6") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x5a3") () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);" (assignment_expression "uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"expected comma after name in .vtable_inherit",5)" (identifier "dcgettext") (argument_list "(0,"expected comma after name in .vtable_inherit",5)" (( "(") (number_literal "0") (, ",") (string_literal ""expected comma after name in .vtable_inherit"" (" """) (string_content "expected comma after name in .vtable_inherit") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar6);" (call_expression "FUN_0002bd60(uVar6)" (identifier "FUN_0002bd60") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "FUN_0002e290();" (call_expression "FUN_0002e290()" (identifier "FUN_0002e290") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

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

type_1 * function_1(void)

{
  bool bVar1;
  type_2 oVar2;
  char var_9;
  type_3 *var_4;
  type_4 *var_6;
  type_3 *add_symbol;
  type_5 *peVar5;
  type_6 *pfVar6;
  char *var_10;
  char *cname;
  char *pname;
  type_7 uStack_14;
  
  uStack_14 = 0x57d59;
  if (*var_1 == '#') {
    var_1 = var_1 + 1;
  }
  var_9 = var_2(&cname);
  var_4 = var_3(cname);
  if ((var_4 == (type_3 *)0x0) || (var_6 = var_5(var_4), var_6 == (type_4 *)0x0)) {
    var_10 = (char *)var_7(0,"expected `%s\' to have already been set for .vtable_inherit",5);
    var_8(var_10,cname);
    bVar1 = true;
    *var_1 = var_9;
    var_9 = *var_1;
  }
  else {
    bVar1 = false;
    *var_1 = var_9;
    var_9 = *var_1;
  }
  if (var_9 == '\"') {
    var_9 = var_1[1];
    var_1 = var_1 + 1;
  }
  if (var_9 == ' ') {
    var_9 = var_1[1];
    var_1 = var_1 + 1;
  }
  if (var_9 == ',') {
    var_10 = var_1 + 1;
    var_9 = var_1[1];
    if (var_9 == ' ') {
      var_10 = var_1 + 2;
      var_9 = var_1[2];
    }
    var_1 = var_10;
    if (var_9 == '#') {
      var_1 = var_10 + 1;
      var_9 = var_10[1];
    }
    if ((var_9 == '0') &&
       ((var_1[1] == 0 ||
        ((PTR__sch_istable_0007ff74[(type_8)(type_9)var_1[1] * 2] & 0x40) != 0)))) {
      add_symbol = var_11((segT)(var_12 + 0x180));
      var_1 = var_1 + 1;
      var_13();
    }
    else {
      var_9 = var_2(&pname);
      add_symbol = var_14(pname);
      var_15(var_9);
      var_13();
    }
    if (!bVar1) {
      peVar5 = var_16(var_4);
      if (peVar5->field_0x10 != '\x02') {
                    /* WARNING: Subroutine does not return */
        var_17("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit");
      }
      peVar5 = var_16(var_4);
      oVar2 = peVar5->X_add_number;
      var_6 = var_5(var_4);
      pfVar6 = var_18(var_6,(int)oVar2,0,add_symbol,0,0,BFD_RELOC_VTABLE_INHERIT);
      return pfVar6;
    }
    return (type_1 *)0x0;
  }
  var_10 = (char *)var_7(0,"expected comma after name in .vtable_inherit",5);
  var_8(var_10);
  var_19();
  return (type_1 *)0x0;
}


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

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

undefined4 MASKED(void)

{
  undefined4 uVar1;
  bool bVar2;
  char cVar3;
  int iVar4;
  int iVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  char *pcVar8;
  undefined4 local_24;
  undefined4 local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x57d59;
  if (*DAT_00089978 == '#') {
    DAT_00089978 = DAT_00089978 + 1;
  }
  cVar3 = FUN_000220a0(&local_24);
  iVar4 = FUN_0003a9c0(local_24);
  if ((iVar4 == 0) || (iVar5 = FUN_0003b830(iVar4), iVar5 == 0)) {
    uVar6 = dcgettext(0,"expected `%s\' to have already been set for .vtable_inherit",5);
    FUN_0002bd60(uVar6,local_24);
    bVar2 = true;
    *DAT_00089978 = cVar3;
    cVar3 = *DAT_00089978;
  }
  else {
    bVar2 = false;
    *DAT_00089978 = cVar3;
    cVar3 = *DAT_00089978;
  }
  if (cVar3 == '\"') {
    cVar3 = DAT_00089978[1];
    DAT_00089978 = DAT_00089978 + 1;
  }
  if (cVar3 == ' ') {
    cVar3 = DAT_00089978[1];
    DAT_00089978 = DAT_00089978 + 1;
  }
  if (cVar3 == ',') {
    pcVar8 = DAT_00089978 + 1;
    cVar3 = DAT_00089978[1];
    if (cVar3 == ' ') {
      pcVar8 = DAT_00089978 + 2;
      cVar3 = DAT_00089978[2];
    }
    DAT_00089978 = pcVar8;
    if (cVar3 == '#') {
      DAT_00089978 = pcVar8 + 1;
      cVar3 = pcVar8[1];
    }
    if ((cVar3 == '0') &&
       ((DAT_00089978[1] == 0 ||
        ((PTR__sch_istable_0007ff74[(uint)(byte)DAT_00089978[1] * 2] & 0x40) != 0)))) {
      uVar6 = FUN_00036bd0(PTR__bfd_std_section_0007ffb0 + 0x180);
      DAT_00089978 = DAT_00089978 + 1;
      FUN_0002e4e0();
    }
    else {
      cVar3 = FUN_000220a0(local_20);
      uVar6 = FUN_0003a9e0(local_20[0]);
      FUN_000242c0((int)cVar3);
      FUN_0002e4e0();
    }
    if (!bVar2) {
      iVar5 = FUN_0003b610(iVar4);
      if (*(char *)(iVar5 + 0x10) != '\x02') {
                    /* WARNING: Subroutine does not return */
        FUN_0002be80("../../gas/config/obj-elf.c",0x5eb,"obj_elf_get_vtable_inherit",iVar5);
      }
      iVar5 = FUN_0003b610(iVar4);
      uVar1 = *(undefined4 *)(iVar5 + 8);
      uVar7 = FUN_0003b830(iVar4);
      uVar6 = FUN_0003ebc0(uVar7,uVar1,0,uVar6,0,0,0,0x5a3);
      return uVar6;
    }
    return 0;
  }
  uVar6 = dcgettext(0,"expected comma after name in .vtable_inherit",5);
  FUN_0002bd60(uVar6);
  FUN_0002e290();
  return 0;
}

