
/* DWARF original prototype: void set_undefined(Symbol * this) */

void __thiscall gold::Symbol::set_undefined(Symbol *this)

{
  *(uint *)&this->field_0x28 = *(uint *)&this->field_0x28 & 0xffff1fff | 0x8000;
  this->field_0x2c = this->field_0x2c & 0xdf;
  return;
}



/* gold::Symbol::set_undefined() */

void __thiscall gold::Symbol::set_undefined(Symbol *this)

{
  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;
  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);
  return;
}


lw v1,0x28(a0)
li a1,0x4
lbu v0,0x2c(a0)
ins v1,a1,0xd,0x3
ins v0,zero,0x5,0x1
sw v1,0x28(a0)
jr ra
_sb v0,0x2c(a0)
(translation_unit "/* gold::Symbol::set_undefined() */\n\nvoid __thiscall gold::Symbol::set_undefined(Symbol *this)\n\n{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Symbol::set_undefined(Symbol *this)\n\n{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol::" identifier : : identifier : :) (function_declarator "set_undefined(Symbol *this)" identifier (parameter_list "(Symbol *this)" ( (parameter_declaration "Symbol *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}" { (expression_statement "*(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;" (assignment_expression "*(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000" (pointer_expression "*(uint *)(this + 0x28)" * (cast_expression "(uint *)(this + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) )))) = (binary_expression "*(uint *)(this + 0x28) & 0xffff1fff | 0x8000" (binary_expression "*(uint *)(this + 0x28) & 0xffff1fff" (pointer_expression "*(uint *)(this + 0x28)" * (cast_expression "(uint *)(this + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);" (assignment_expression "this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf)" (subscript_expression "this[0x2c]" identifier [ number_literal ]) = (call_expression "(Symbol)((byte)this[0x2c] & 0xdf)" (parenthesized_expression "(Symbol)" ( identifier )) (argument_list "((byte)this[0x2c] & 0xdf)" ( (binary_expression "(byte)this[0x2c] & 0xdf" (cast_expression "(byte)this[0x2c]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "this[0x2c]" identifier [ number_literal ])) & number_literal) )))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void set_undefined(Symbol * this) */\n\nvoid __thiscall gold::Symbol::set_undefined(Symbol *this)\n\n{\n  *(uint *)&this->field_0x28 = *(uint *)&this->field_0x28 & 0xffff1fff | 0x8000;\n  this->field_0x2c = this->field_0x2c & 0xdf;\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Symbol::set_undefined(Symbol *this)\n\n{\n  *(uint *)&this->field_0x28 = *(uint *)&this->field_0x28 & 0xffff1fff | 0x8000;\n  this->field_0x2c = this->field_0x2c & 0xdf;\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol::" identifier : : identifier : :) (function_declarator "set_undefined(Symbol *this)" identifier (parameter_list "(Symbol *this)" ( (parameter_declaration "Symbol *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  *(uint *)&this->field_0x28 = *(uint *)&this->field_0x28 & 0xffff1fff | 0x8000;\n  this->field_0x2c = this->field_0x2c & 0xdf;\n  return;\n}" { (expression_statement "*(uint *)&this->field_0x28 = *(uint *)&this->field_0x28 & 0xffff1fff | 0x8000;" (assignment_expression "*(uint *)&this->field_0x28 = *(uint *)&this->field_0x28 & 0xffff1fff | 0x8000" (pointer_expression "*(uint *)&this->field_0x28" * (cast_expression "(uint *)&this->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x28" & (field_expression "this->field_0x28" identifier -> field_identifier)))) = (binary_expression "*(uint *)&this->field_0x28 & 0xffff1fff | 0x8000" (binary_expression "*(uint *)&this->field_0x28 & 0xffff1fff" (pointer_expression "*(uint *)&this->field_0x28" * (cast_expression "(uint *)&this->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x28" & (field_expression "this->field_0x28" identifier -> field_identifier)))) & number_literal) | number_literal)) ;) (expression_statement "this->field_0x2c = this->field_0x2c & 0xdf;" (assignment_expression "this->field_0x2c = this->field_0x2c & 0xdf" (field_expression "this->field_0x2c" identifier -> field_identifier) = (binary_expression "this->field_0x2c & 0xdf" (field_expression "this->field_0x2c" identifier -> field_identifier) & number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall gold::Symbol::set_undefined(Symbol *this)\n\n{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}\n\n" (function_definition "void __thiscall gold::Symbol::set_undefined(Symbol *this)\n\n{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol::" identifier : : identifier : :) (function_declarator "set_undefined(Symbol *this)" identifier (parameter_list "(Symbol *this)" ( (parameter_declaration "Symbol *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}" { (expression_statement "*(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;" (assignment_expression "*(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000" (pointer_expression "*(uint *)(this + 0x28)" * (cast_expression "(uint *)(this + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) )))) = (binary_expression "*(uint *)(this + 0x28) & 0xffff1fff | 0x8000" (binary_expression "*(uint *)(this + 0x28) & 0xffff1fff" (pointer_expression "*(uint *)(this + 0x28)" * (cast_expression "(uint *)(this + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x28)" ( (binary_expression "this + 0x28" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);" (assignment_expression "this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf)" (subscript_expression "this[0x2c]" identifier [ number_literal ]) = (call_expression "(Symbol)((byte)this[0x2c] & 0xdf)" (parenthesized_expression "(Symbol)" ( identifier )) (argument_list "((byte)this[0x2c] & 0xdf)" ( (binary_expression "(byte)this[0x2c] & 0xdf" (cast_expression "(byte)this[0x2c]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "this[0x2c]" identifier [ number_literal ])) & number_literal) )))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (return_statement return ;) })))
(function_definition "void __thiscall gold::Symbol::set_undefined(Symbol *this)\n\n{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Symbol::" (identifier "gold") (: ":") (: ":") (identifier "Symbol") (: ":") (: ":")) (function_declarator "set_undefined(Symbol *this)" (identifier "set_undefined") (parameter_list "(Symbol *this)" (( "(") (parameter_declaration "Symbol *this" (type_identifier "Symbol") (pointer_declarator "*this" (* "*") (identifier "this"))) () ")"))) (compound_statement "{\n  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;\n  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);\n  return;\n}" ({ "{") (expression_statement "*(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;" (assignment_expression "*(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000" (pointer_expression "*(uint *)(this + 0x28)" (* "*") (cast_expression "(uint *)(this + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x28)" (( "(") (binary_expression "this + 0x28" (identifier "this") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "*(uint *)(this + 0x28) & 0xffff1fff | 0x8000" (binary_expression "*(uint *)(this + 0x28) & 0xffff1fff" (pointer_expression "*(uint *)(this + 0x28)" (* "*") (cast_expression "(uint *)(this + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x28)" (( "(") (binary_expression "this + 0x28" (identifier "this") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xffff1fff")) (| "|") (number_literal "0x8000"))) (; ";")) (expression_statement "this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);" (assignment_expression "this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf)" (subscript_expression "this[0x2c]" (identifier "this") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (call_expression "(Symbol)((byte)this[0x2c] & 0xdf)" (parenthesized_expression "(Symbol)" (( "(") (identifier "Symbol") () ")")) (argument_list "((byte)this[0x2c] & 0xdf)" (( "(") (binary_expression "(byte)this[0x2c] & 0xdf" (cast_expression "(byte)this[0x2c]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "this[0x2c]" (identifier "this") ([ "[") (number_literal "0x2c") (] "]"))) (& "&") (number_literal "0xdf")) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void set_undefined(Symbol * this) */

void __thiscall gold::type_1::function_1(type_1 *this)

{
  *(type_2 *)&this->field_0x28 = *(type_2 *)&this->field_0x28 & 0xffff1fff | 0x8000;
  this->field_0x2c = this->field_0x2c & 0xdf;
  return;
}


(translation_unit (function_definition type: (primitive_type) (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (return_statement))))

/* gold::Symbol::MASKED() */

void __thiscall gold::Symbol::MASKED(Symbol *this)

{
  *(uint *)(this + 0x28) = *(uint *)(this + 0x28) & 0xffff1fff | 0x8000;
  this[0x2c] = (Symbol)((byte)this[0x2c] & 0xdf);
  return;
}

