
/* WARNING: Unknown calling convention */

fix * obj_elf_get_vtable_entry(void)

{
  symbolS *add_symbol;
  offsetT offset;
  addressT aVar1;
  fixS *pfVar2;
  char *pcVar3;
  
  if (*input_line_pointer == '#') {
    input_line_pointer = input_line_pointer + 1;
  }
  add_symbol = get_sym_from_input_line_and_check();
  if (*input_line_pointer == ',') {
    pcVar3 = input_line_pointer + 1;
    if (input_line_pointer[1] == '#') {
      pcVar3 = input_line_pointer + 2;
    }
    input_line_pointer = pcVar3;
    offset = get_absolute_expression();
    demand_empty_rest_of_line();
    aVar1 = frag_now_fix();
    pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);
    return pfVar2;
  }
  pcVar3 = (char *)dcgettext(0,"expected comma after name in .vtable_entry",5);
  as_bad(pcVar3);
  ignore_rest_of_line();
  return (fix *)0x0;
}



undefined1  [16] FUN_00146670(void)

{
  undefined1 auVar1 [16];
  char *pcVar2;
  undefined4 uVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  ulong extraout_RDX;
  undefined1 auVar6 [16];
  
  if (*DAT_001e4780 == '#') {
    DAT_001e4780 = DAT_001e4780 + 1;
  }
  uVar4 = FUN_001447d0();
  if (*DAT_001e4780 == ',') {
    pcVar2 = DAT_001e4780 + 1;
    if (DAT_001e4780[1] == '#') {
      pcVar2 = DAT_001e4780 + 2;
    }
    DAT_001e4780 = pcVar2;
    uVar5 = FUN_0011f430();
    FUN_0011ffa0();
    uVar3 = FUN_001171d0();
    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);
    auVar6._8_8_ = 0x5a4;
    return auVar6;
  }
  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);
  FUN_0011da70(uVar4);
  FUN_0011fd80();
  auVar1._8_8_ = 0;
  auVar1._0_8_ = extraout_RDX;
  return auVar1 << 0x40;
}


PUSH RBP
PUSH RBX
SUB RSP,0x8
MOV RAX,qword ptr [0x001e4780]
CMP byte ptr [RAX],0x23
JNZ 0x0014668d
ADD RAX,0x1
MOV qword ptr [0x001e4780],RAX
CALL 0x001447d0
MOV RBX,RAX
MOV RAX,qword ptr [0x001e4780]
CMP byte ptr [RAX],0x2c
JNZ 0x00146700
LEA RDX,[RAX + 0x1]
MOV qword ptr [0x001e4780],RDX
CMP byte ptr [RAX + 0x1],0x23
JNZ 0x001466bd
ADD RAX,0x2
MOV qword ptr [0x001e4780],RAX
CALL 0x0011f430
MOV RBP,RAX
CALL 0x0011ffa0
CALL 0x001171d0
SUB RSP,0x8
MOV RCX,RBX
MOV R8,RBP
PUSH 0x5a4
MOV RDI,qword ptr [0x001e4648]
XOR EDX,EDX
MOV ESI,EAX
XOR R9D,R9D
CALL 0x0012ede0
POP RDX
POP RCX
ADD RSP,0x8
POP RBX
POP RBP
RET
MOV EDX,0x5
LEA RSI,[0x154530]
XOR EDI,EDI
CALL 0x001081c0
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011da70
CALL 0x0011fd80
ADD RSP,0x8
XOR EAX,EAX
POP RBX
POP RBP
RET
(translation_unit "undefined1  [16] FUN_00146670(void)\n\n{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (function_definition "FUN_00146670(void)\n\n{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}" type_identifier (parenthesized_declarator "(void)" ( identifier )) (compound_statement "{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}" { (declaration "undefined1 auVar1 [16];" type_identifier (array_declarator "auVar1 [16]" identifier [ number_literal ]) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "undefined1 auVar6 [16];" type_identifier (array_declarator "auVar6 [16]" identifier [ number_literal ]) ;) (if_statement "if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }" if (parenthesized_expression "(*DAT_001e4780 == '#')" ( (binary_expression "*DAT_001e4780 == '#'" (pointer_expression "*DAT_001e4780" * identifier) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }" { (expression_statement "DAT_001e4780 = DAT_001e4780 + 1;" (assignment_expression "DAT_001e4780 = DAT_001e4780 + 1" identifier = (binary_expression "DAT_001e4780 + 1" identifier + number_literal)) ;) })) (expression_statement "uVar4 = FUN_001447d0();" (assignment_expression "uVar4 = FUN_001447d0()" identifier = (call_expression "FUN_001447d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }" if (parenthesized_expression "(*DAT_001e4780 == ',')" ( (binary_expression "*DAT_001e4780 == ','" (pointer_expression "*DAT_001e4780" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }" { (expression_statement "pcVar2 = DAT_001e4780 + 1;" (assignment_expression "pcVar2 = DAT_001e4780 + 1" identifier = (binary_expression "DAT_001e4780 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }" if (parenthesized_expression "(DAT_001e4780[1] == '#')" ( (binary_expression "DAT_001e4780[1] == '#'" (subscript_expression "DAT_001e4780[1]" identifier [ number_literal ]) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n      pcVar2 = DAT_001e4780 + 2;\n    }" { (expression_statement "pcVar2 = DAT_001e4780 + 2;" (assignment_expression "pcVar2 = DAT_001e4780 + 2" identifier = (binary_expression "DAT_001e4780 + 2" identifier + number_literal)) ;) })) (expression_statement "DAT_001e4780 = pcVar2;" (assignment_expression "DAT_001e4780 = pcVar2" identifier = identifier) ;) (expression_statement "uVar5 = FUN_0011f430();" (assignment_expression "uVar5 = FUN_0011f430()" identifier = (call_expression "FUN_0011f430()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0011ffa0();" (call_expression "FUN_0011ffa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar3 = FUN_001171d0();" (assignment_expression "uVar3 = FUN_001171d0()" identifier = (call_expression "FUN_001171d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);" (assignment_expression "auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" (field_expression "auVar6._0_8_" identifier . field_identifier) = (call_expression "FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" identifier (argument_list "(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" ( identifier , identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "auVar6._8_8_ = 0x5a4;" (assignment_expression "auVar6._8_8_ = 0x5a4" (field_expression "auVar6._8_8_" identifier . field_identifier) = number_literal) ;) (return_statement "return auVar6;" return identifier ;) })) (expression_statement "uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);" (assignment_expression "uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5)" identifier = (call_expression "dcgettext(0,"expected comma after name in .vtable_entry",5)" identifier (argument_list "(0,"expected comma after name in .vtable_entry",5)" ( number_literal , (string_literal ""expected comma after name in .vtable_entry"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar4);" (call_expression "FUN_0011da70(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_0011fd80();" (call_expression "FUN_0011fd80()" identifier (argument_list "()" ( ))) ;) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar1._0_8_ = extraout_RDX;" (assignment_expression "auVar1._0_8_ = extraout_RDX" (field_expression "auVar1._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar1 << 0x40;" return (binary_expression "auVar1 << 0x40" identifier << number_literal) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nfix * obj_elf_get_vtable_entry(void)\n\n{\n  symbolS *add_symbol;\n  offsetT offset;\n  addressT aVar1;\n  fixS *pfVar2;\n  char *pcVar3;\n  \n  if (*input_line_pointer == '#') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  add_symbol = get_sym_from_input_line_and_check();\n  if (*input_line_pointer == ',') {\n    pcVar3 = input_line_pointer + 1;\n    if (input_line_pointer[1] == '#') {\n      pcVar3 = input_line_pointer + 2;\n    }\n    input_line_pointer = pcVar3;\n    offset = get_absolute_expression();\n    demand_empty_rest_of_line();\n    aVar1 = frag_now_fix();\n    pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);\n    return pfVar2;\n  }\n  pcVar3 = (char *)dcgettext(0,"expected comma after name in .vtable_entry",5);\n  as_bad(pcVar3);\n  ignore_rest_of_line();\n  return (fix *)0x0;\n}\n\n" comment (function_definition "fix * obj_elf_get_vtable_entry(void)\n\n{\n  symbolS *add_symbol;\n  offsetT offset;\n  addressT aVar1;\n  fixS *pfVar2;\n  char *pcVar3;\n  \n  if (*input_line_pointer == '#') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  add_symbol = get_sym_from_input_line_and_check();\n  if (*input_line_pointer == ',') {\n    pcVar3 = input_line_pointer + 1;\n    if (input_line_pointer[1] == '#') {\n      pcVar3 = input_line_pointer + 2;\n    }\n    input_line_pointer = pcVar3;\n    offset = get_absolute_expression();\n    demand_empty_rest_of_line();\n    aVar1 = frag_now_fix();\n    pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);\n    return pfVar2;\n  }\n  pcVar3 = (char *)dcgettext(0,"expected comma after name in .vtable_entry",5);\n  as_bad(pcVar3);\n  ignore_rest_of_line();\n  return (fix *)0x0;\n}" type_identifier (pointer_declarator "* obj_elf_get_vtable_entry(void)" * (function_declarator "obj_elf_get_vtable_entry(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  symbolS *add_symbol;\n  offsetT offset;\n  addressT aVar1;\n  fixS *pfVar2;\n  char *pcVar3;\n  \n  if (*input_line_pointer == '#') {\n    input_line_pointer = input_line_pointer + 1;\n  }\n  add_symbol = get_sym_from_input_line_and_check();\n  if (*input_line_pointer == ',') {\n    pcVar3 = input_line_pointer + 1;\n    if (input_line_pointer[1] == '#') {\n      pcVar3 = input_line_pointer + 2;\n    }\n    input_line_pointer = pcVar3;\n    offset = get_absolute_expression();\n    demand_empty_rest_of_line();\n    aVar1 = frag_now_fix();\n    pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);\n    return pfVar2;\n  }\n  pcVar3 = (char *)dcgettext(0,"expected comma after name in .vtable_entry",5);\n  as_bad(pcVar3);\n  ignore_rest_of_line();\n  return (fix *)0x0;\n}" { (declaration "symbolS *add_symbol;" type_identifier (pointer_declarator "*add_symbol" * identifier) ;) (declaration "offsetT offset;" type_identifier identifier ;) (declaration "addressT aVar1;" type_identifier identifier ;) (declaration "fixS *pfVar2;" type_identifier (pointer_declarator "*pfVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (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 "add_symbol = get_sym_from_input_line_and_check();" (assignment_expression "add_symbol = get_sym_from_input_line_and_check()" identifier = (call_expression "get_sym_from_input_line_and_check()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*input_line_pointer == ',') {\n    pcVar3 = input_line_pointer + 1;\n    if (input_line_pointer[1] == '#') {\n      pcVar3 = input_line_pointer + 2;\n    }\n    input_line_pointer = pcVar3;\n    offset = get_absolute_expression();\n    demand_empty_rest_of_line();\n    aVar1 = frag_now_fix();\n    pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);\n    return pfVar2;\n  }" if (parenthesized_expression "(*input_line_pointer == ',')" ( (binary_expression "*input_line_pointer == ','" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n    pcVar3 = input_line_pointer + 1;\n    if (input_line_pointer[1] == '#') {\n      pcVar3 = input_line_pointer + 2;\n    }\n    input_line_pointer = pcVar3;\n    offset = get_absolute_expression();\n    demand_empty_rest_of_line();\n    aVar1 = frag_now_fix();\n    pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);\n    return pfVar2;\n  }" { (expression_statement "pcVar3 = input_line_pointer + 1;" (assignment_expression "pcVar3 = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (if_statement "if (input_line_pointer[1] == '#') {\n      pcVar3 = input_line_pointer + 2;\n    }" if (parenthesized_expression "(input_line_pointer[1] == '#')" ( (binary_expression "input_line_pointer[1] == '#'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n      pcVar3 = input_line_pointer + 2;\n    }" { (expression_statement "pcVar3 = input_line_pointer + 2;" (assignment_expression "pcVar3 = input_line_pointer + 2" identifier = (binary_expression "input_line_pointer + 2" identifier + number_literal)) ;) })) (expression_statement "input_line_pointer = pcVar3;" (assignment_expression "input_line_pointer = pcVar3" identifier = identifier) ;) (expression_statement "offset = get_absolute_expression();" (assignment_expression "offset = get_absolute_expression()" identifier = (call_expression "get_absolute_expression()" identifier (argument_list "()" ( )))) ;) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (expression_statement "aVar1 = frag_now_fix();" (assignment_expression "aVar1 = frag_now_fix()" identifier = (call_expression "frag_now_fix()" identifier (argument_list "()" ( )))) ;) (expression_statement "pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);" (assignment_expression "pfVar2 = fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY)" identifier = (call_expression "fix_new(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY)" identifier (argument_list "(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY)" ( identifier , (cast_expression "(int)aVar1" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal , identifier , identifier , number_literal , identifier )))) ;) (return_statement "return pfVar2;" return identifier ;) })) (expression_statement "pcVar3 = (char *)dcgettext(0,"expected comma after name in .vtable_entry",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"expected comma after name in .vtable_entry",5)" identifier = (cast_expression "(char *)dcgettext(0,"expected comma after name in .vtable_entry",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"expected comma after name in .vtable_entry",5)" identifier (argument_list "(0,"expected comma after name in .vtable_entry",5)" ( number_literal , (string_literal ""expected comma after name in .vtable_entry"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar3);" (call_expression "as_bad(pcVar3)" identifier (argument_list "(pcVar3)" ( 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 "undefined1  [16] FUN_00146670(void)\n\n{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}\n\n" (expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" identifier [ number_literal ]) ;) (function_definition "FUN_00146670(void)\n\n{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}" type_identifier (parenthesized_declarator "(void)" ( identifier )) (compound_statement "{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}" { (declaration "undefined1 auVar1 [16];" type_identifier (array_declarator "auVar1 [16]" identifier [ number_literal ]) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "undefined1 auVar6 [16];" type_identifier (array_declarator "auVar6 [16]" identifier [ number_literal ]) ;) (if_statement "if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }" if (parenthesized_expression "(*DAT_001e4780 == '#')" ( (binary_expression "*DAT_001e4780 == '#'" (pointer_expression "*DAT_001e4780" * identifier) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }" { (expression_statement "DAT_001e4780 = DAT_001e4780 + 1;" (assignment_expression "DAT_001e4780 = DAT_001e4780 + 1" identifier = (binary_expression "DAT_001e4780 + 1" identifier + number_literal)) ;) })) (expression_statement "uVar4 = FUN_001447d0();" (assignment_expression "uVar4 = FUN_001447d0()" identifier = (call_expression "FUN_001447d0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }" if (parenthesized_expression "(*DAT_001e4780 == ',')" ( (binary_expression "*DAT_001e4780 == ','" (pointer_expression "*DAT_001e4780" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }" { (expression_statement "pcVar2 = DAT_001e4780 + 1;" (assignment_expression "pcVar2 = DAT_001e4780 + 1" identifier = (binary_expression "DAT_001e4780 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }" if (parenthesized_expression "(DAT_001e4780[1] == '#')" ( (binary_expression "DAT_001e4780[1] == '#'" (subscript_expression "DAT_001e4780[1]" identifier [ number_literal ]) == (char_literal "'#'" ' character ')) )) (compound_statement "{\n      pcVar2 = DAT_001e4780 + 2;\n    }" { (expression_statement "pcVar2 = DAT_001e4780 + 2;" (assignment_expression "pcVar2 = DAT_001e4780 + 2" identifier = (binary_expression "DAT_001e4780 + 2" identifier + number_literal)) ;) })) (expression_statement "DAT_001e4780 = pcVar2;" (assignment_expression "DAT_001e4780 = pcVar2" identifier = identifier) ;) (expression_statement "uVar5 = FUN_0011f430();" (assignment_expression "uVar5 = FUN_0011f430()" identifier = (call_expression "FUN_0011f430()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0011ffa0();" (call_expression "FUN_0011ffa0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar3 = FUN_001171d0();" (assignment_expression "uVar3 = FUN_001171d0()" identifier = (call_expression "FUN_001171d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);" (assignment_expression "auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" (field_expression "auVar6._0_8_" identifier . field_identifier) = (call_expression "FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" identifier (argument_list "(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" ( identifier , identifier , number_literal , identifier , identifier , number_literal )))) ;) (expression_statement "auVar6._8_8_ = 0x5a4;" (assignment_expression "auVar6._8_8_ = 0x5a4" (field_expression "auVar6._8_8_" identifier . field_identifier) = number_literal) ;) (return_statement "return auVar6;" return identifier ;) })) (expression_statement "uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);" (assignment_expression "uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5)" identifier = (call_expression "dcgettext(0,"expected comma after name in .vtable_entry",5)" identifier (argument_list "(0,"expected comma after name in .vtable_entry",5)" ( number_literal , (string_literal ""expected comma after name in .vtable_entry"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar4);" (call_expression "FUN_0011da70(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_0011fd80();" (call_expression "FUN_0011fd80()" identifier (argument_list "()" ( ))) ;) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar1._0_8_ = extraout_RDX;" (assignment_expression "auVar1._0_8_ = extraout_RDX" (field_expression "auVar1._0_8_" identifier . field_identifier) = identifier) ;) (return_statement "return auVar1 << 0x40;" return (binary_expression "auVar1 << 0x40" identifier << number_literal) ;) })))
(translation_unit (expression_statement (subscript_expression IDENT [ LIT ]) ;) (function_definition TYPE (parenthesized_declarator ( IDENT )) (compound_statement { (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator 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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (return_statement return IDENT ;) })) (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 ( ))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (return_statement return (binary_expression IDENT << LIT) ;) })))
(expression_statement "undefined1  [16]" (subscript_expression "undefined1  [16]" (identifier "undefined1") ([ "[") (number_literal "16") (] "]")) (; "")) (function_definition "FUN_00146670(void)\n\n{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}" (type_identifier "FUN_00146670") (parenthesized_declarator "(void)" (( "(") (identifier "void") () ")")) (compound_statement "{\n  undefined1 auVar1 [16];\n  char *pcVar2;\n  undefined4 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  ulong extraout_RDX;\n  undefined1 auVar6 [16];\n  \n  if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }\n  uVar4 = FUN_001447d0();\n  if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }\n  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);\n  FUN_0011da70(uVar4);\n  FUN_0011fd80();\n  auVar1._8_8_ = 0;\n  auVar1._0_8_ = extraout_RDX;\n  return auVar1 << 0x40;\n}" ({ "{") (declaration "undefined1 auVar1 [16];" (type_identifier "undefined1") (array_declarator "auVar1 [16]" (identifier "auVar1") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "ulong extraout_RDX;" (type_identifier "ulong") (identifier "extraout_RDX") (; ";")) (declaration "undefined1 auVar6 [16];" (type_identifier "undefined1") (array_declarator "auVar6 [16]" (identifier "auVar6") ([ "[") (number_literal "16") (] "]")) (; ";")) (if_statement "if (*DAT_001e4780 == '#') {\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }" (if "if") (parenthesized_expression "(*DAT_001e4780 == '#')" (( "(") (binary_expression "*DAT_001e4780 == '#'" (pointer_expression "*DAT_001e4780" (* "*") (identifier "DAT_001e4780")) (== "==") (char_literal "'#'" (' "'") (character "#") (' "'"))) () ")")) (compound_statement "{\n    DAT_001e4780 = DAT_001e4780 + 1;\n  }" ({ "{") (expression_statement "DAT_001e4780 = DAT_001e4780 + 1;" (assignment_expression "DAT_001e4780 = DAT_001e4780 + 1" (identifier "DAT_001e4780") (= "=") (binary_expression "DAT_001e4780 + 1" (identifier "DAT_001e4780") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uVar4 = FUN_001447d0();" (assignment_expression "uVar4 = FUN_001447d0()" (identifier "uVar4") (= "=") (call_expression "FUN_001447d0()" (identifier "FUN_001447d0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*DAT_001e4780 == ',') {\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }" (if "if") (parenthesized_expression "(*DAT_001e4780 == ',')" (( "(") (binary_expression "*DAT_001e4780 == ','" (pointer_expression "*DAT_001e4780" (* "*") (identifier "DAT_001e4780")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n    pcVar2 = DAT_001e4780 + 1;\n    if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }\n    DAT_001e4780 = pcVar2;\n    uVar5 = FUN_0011f430();\n    FUN_0011ffa0();\n    uVar3 = FUN_001171d0();\n    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);\n    auVar6._8_8_ = 0x5a4;\n    return auVar6;\n  }" ({ "{") (expression_statement "pcVar2 = DAT_001e4780 + 1;" (assignment_expression "pcVar2 = DAT_001e4780 + 1" (identifier "pcVar2") (= "=") (binary_expression "DAT_001e4780 + 1" (identifier "DAT_001e4780") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_001e4780[1] == '#') {\n      pcVar2 = DAT_001e4780 + 2;\n    }" (if "if") (parenthesized_expression "(DAT_001e4780[1] == '#')" (( "(") (binary_expression "DAT_001e4780[1] == '#'" (subscript_expression "DAT_001e4780[1]" (identifier "DAT_001e4780") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'#'" (' "'") (character "#") (' "'"))) () ")")) (compound_statement "{\n      pcVar2 = DAT_001e4780 + 2;\n    }" ({ "{") (expression_statement "pcVar2 = DAT_001e4780 + 2;" (assignment_expression "pcVar2 = DAT_001e4780 + 2" (identifier "pcVar2") (= "=") (binary_expression "DAT_001e4780 + 2" (identifier "DAT_001e4780") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "DAT_001e4780 = pcVar2;" (assignment_expression "DAT_001e4780 = pcVar2" (identifier "DAT_001e4780") (= "=") (identifier "pcVar2")) (; ";")) (expression_statement "uVar5 = FUN_0011f430();" (assignment_expression "uVar5 = FUN_0011f430()" (identifier "uVar5") (= "=") (call_expression "FUN_0011f430()" (identifier "FUN_0011f430") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0011ffa0();" (call_expression "FUN_0011ffa0()" (identifier "FUN_0011ffa0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_001171d0();" (assignment_expression "uVar3 = FUN_001171d0()" (identifier "uVar3") (= "=") (call_expression "FUN_001171d0()" (identifier "FUN_001171d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);" (assignment_expression "auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" (field_expression "auVar6._0_8_" (identifier "auVar6") (. ".") (field_identifier "_0_8_")) (= "=") (call_expression "FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" (identifier "FUN_0012ede0") (argument_list "(DAT_001e4648,uVar3,0,uVar4,uVar5,0)" (( "(") (identifier "DAT_001e4648") (, ",") (identifier "uVar3") (, ",") (number_literal "0") (, ",") (identifier "uVar4") (, ",") (identifier "uVar5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "auVar6._8_8_ = 0x5a4;" (assignment_expression "auVar6._8_8_ = 0x5a4" (field_expression "auVar6._8_8_" (identifier "auVar6") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0x5a4")) (; ";")) (return_statement "return auVar6;" (return "return") (identifier "auVar6") (; ";")) (} "}"))) (expression_statement "uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);" (assignment_expression "uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"expected comma after name in .vtable_entry",5)" (identifier "dcgettext") (argument_list "(0,"expected comma after name in .vtable_entry",5)" (( "(") (number_literal "0") (, ",") (string_literal ""expected comma after name in .vtable_entry"" (" """) (string_content "expected comma after name in .vtable_entry") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011da70(uVar4);" (call_expression "FUN_0011da70(uVar4)" (identifier "FUN_0011da70") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "FUN_0011fd80();" (call_expression "FUN_0011fd80()" (identifier "FUN_0011fd80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" (identifier "auVar1") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar1._0_8_ = extraout_RDX;" (assignment_expression "auVar1._0_8_ = extraout_RDX" (field_expression "auVar1._0_8_" (identifier "auVar1") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "extraout_RDX")) (; ";")) (return_statement "return auVar1 << 0x40;" (return "return") (binary_expression "auVar1 << 0x40" (identifier "auVar1") (<< "<<") (number_literal "0x40")) (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

type_1 * function_1(void)

{
  type_2 *add_symbol;
  type_3 offset;
  type_4 aVar1;
  type_5 *pfVar2;
  char *pcVar3;
  
  if (*var_1 == '#') {
    var_1 = var_1 + 1;
  }
  add_symbol = var_2();
  if (*var_1 == ',') {
    pcVar3 = var_1 + 1;
    if (var_1[1] == '#') {
      pcVar3 = var_1 + 2;
    }
    var_1 = pcVar3;
    offset = var_3();
    var_4();
    aVar1 = var_5();
    pfVar2 = var_6(frag_now,(int)aVar1,0,add_symbol,offset,0,BFD_RELOC_VTABLE_ENTRY);
    return pfVar2;
  }
  pcVar3 = (char *)var_7(0,"expected comma after name in .vtable_entry",5);
  var_8(pcVar3);
  var_9();
  return (type_1 *)0x0;
}


(translation_unit (expression_statement (subscript_expression argument: (identifier) index: (number_literal)) (MISSING ";")) (function_definition type: (type_identifier) declarator: (parenthesized_declarator (identifier)) body: (compound_statement (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (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)))) (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (return_statement (identifier)))) (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))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (return_statement (binary_expression left: (identifier) right: (number_literal))))))

undefined1  [16] MASKED(void)

{
  undefined1 auVar1 [16];
  char *pcVar2;
  undefined4 uVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  ulong extraout_RDX;
  undefined1 auVar6 [16];
  
  if (*DAT_001e4780 == '#') {
    DAT_001e4780 = DAT_001e4780 + 1;
  }
  uVar4 = FUN_001447d0();
  if (*DAT_001e4780 == ',') {
    pcVar2 = DAT_001e4780 + 1;
    if (DAT_001e4780[1] == '#') {
      pcVar2 = DAT_001e4780 + 2;
    }
    DAT_001e4780 = pcVar2;
    uVar5 = FUN_0011f430();
    FUN_0011ffa0();
    uVar3 = FUN_001171d0();
    auVar6._0_8_ = FUN_0012ede0(DAT_001e4648,uVar3,0,uVar4,uVar5,0);
    auVar6._8_8_ = 0x5a4;
    return auVar6;
  }
  uVar4 = dcgettext(0,"expected comma after name in .vtable_entry",5);
  FUN_0011da70(uVar4);
  FUN_0011fd80();
  auVar1._8_8_ = 0;
  auVar1._0_8_ = extraout_RDX;
  return auVar1 << 0x40;
}

