
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::ostream::TEMPNAMEPLACEHOLDERVALUE(short) */

void __thiscall std::ostream::operator<<(ostream *this,short param_1)

{
}



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

void FUN_003bbee0(int *param_1,short param_2)

{
  uint uVar1;
  
  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;
  if ((uVar1 != 0x40) && (uVar1 != 8)) {
    FUN_003bbcd0(param_1,(int)param_2);
    return;
  }
  FUN_003bbcd0(param_1,param_2);
  return;
}


PUSH EBX
CALL 0x00050b50
ADD EBX,0x22e11a
SUB ESP,0x8
MOV EDX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EDX]
MOV EAX,dword ptr [EAX + -0xc]
MOV EAX,dword ptr [EDX + EAX*0x1 + 0xc]
AND EAX,0x4a
CMP EAX,0x40
JZ 0x003bbf28
CMP EAX,0x8
JZ 0x003bbf28
SUB ESP,0x8
MOVSX ECX,CX
PUSH ECX
PUSH EDX
CALL 0x003bbcd0
ADD ESP,0x10
ADD ESP,0x8
POP EBX
RET
SUB ESP,0x8
MOVZX ECX,CX
PUSH ECX
PUSH EDX
CALL 0x003bbcd0
ADD ESP,0x10
ADD ESP,0x8
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_003bbee0(int *param_1,short param_2)\n\n{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}\n\n" comment (function_definition "void FUN_003bbee0(int *param_1,short param_2)\n\n{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_003bbee0(int *param_1,short param_2)" identifier (parameter_list "(int *param_1,short param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "short param_2" (sized_type_specifier "short" short) identifier) ))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;" (assignment_expression "uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a" identifier = (binary_expression "*(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a" (pointer_expression "*(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" * (cast_expression "(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" ( (binary_expression "(int)param_1 + *(int *)(*param_1 + -0xc) + 0xc" (binary_expression "(int)param_1 + *(int *)(*param_1 + -0xc)" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(*param_1 + -0xc)" * (cast_expression "(int *)(*param_1 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + -0xc)" ( (binary_expression "*param_1 + -0xc" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) )))) & number_literal)) ;) (if_statement "if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }" if (parenthesized_expression "((uVar1 != 0x40) && (uVar1 != 8))" ( (binary_expression "(uVar1 != 0x40) && (uVar1 != 8)" (parenthesized_expression "(uVar1 != 0x40)" ( (binary_expression "uVar1 != 0x40" identifier != number_literal) )) && (parenthesized_expression "(uVar1 != 8)" ( (binary_expression "uVar1 != 8" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }" { (expression_statement "FUN_003bbcd0(param_1,(int)param_2);" (call_expression "FUN_003bbcd0(param_1,(int)param_2)" identifier (argument_list "(param_1,(int)param_2)" ( identifier , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_003bbcd0(param_1,param_2);" (call_expression "FUN_003bbcd0(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* std::ostream::TEMPNAMEPLACEHOLDERVALUE(short) */\n\nvoid __thiscall std::ostream::operator<<(ostream *this,short param_1)\n\n{\n}\n\n" comment comment (ERROR "void __thiscall std::ostream::operator<<(ostream *this,short param_1)" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::ostream::operator<<(ostream" identifier : : identifier : : identifier << ( identifier) (pointer_declarator "*this" * identifier) , identifier identifier )) (compound_statement "{\n}" { }))
(translation_unit "void FUN_003bbee0(int *param_1,short param_2)\n\n{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}\n\n" (function_definition "void FUN_003bbee0(int *param_1,short param_2)\n\n{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_003bbee0(int *param_1,short param_2)" identifier (parameter_list "(int *param_1,short param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "short param_2" (sized_type_specifier "short" short) identifier) ))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;" (assignment_expression "uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a" identifier = (binary_expression "*(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a" (pointer_expression "*(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" * (cast_expression "(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" ( (binary_expression "(int)param_1 + *(int *)(*param_1 + -0xc) + 0xc" (binary_expression "(int)param_1 + *(int *)(*param_1 + -0xc)" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(*param_1 + -0xc)" * (cast_expression "(int *)(*param_1 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + -0xc)" ( (binary_expression "*param_1 + -0xc" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) )))) & number_literal)) ;) (if_statement "if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }" if (parenthesized_expression "((uVar1 != 0x40) && (uVar1 != 8))" ( (binary_expression "(uVar1 != 0x40) && (uVar1 != 8)" (parenthesized_expression "(uVar1 != 0x40)" ( (binary_expression "uVar1 != 0x40" identifier != number_literal) )) && (parenthesized_expression "(uVar1 != 8)" ( (binary_expression "uVar1 != 8" identifier != number_literal) ))) )) (compound_statement "{\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }" { (expression_statement "FUN_003bbcd0(param_1,(int)param_2);" (call_expression "FUN_003bbcd0(param_1,(int)param_2)" identifier (argument_list "(param_1,(int)param_2)" ( identifier , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_003bbcd0(param_1,param_2);" (call_expression "FUN_003bbcd0(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier short) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_003bbee0(int *param_1,short param_2)\n\n{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_003bbee0(int *param_1,short param_2)" (identifier "FUN_003bbee0") (parameter_list "(int *param_1,short param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "short param_2" (sized_type_specifier "short" (short "short")) (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;\n  if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }\n  FUN_003bbcd0(param_1,param_2);\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (expression_statement "uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;" (assignment_expression "uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a" (identifier "uVar1") (= "=") (binary_expression "*(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a" (pointer_expression "*(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" (* "*") (cast_expression "(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc)" (( "(") (binary_expression "(int)param_1 + *(int *)(*param_1 + -0xc) + 0xc" (binary_expression "(int)param_1 + *(int *)(*param_1 + -0xc)" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (pointer_expression "*(int *)(*param_1 + -0xc)" (* "*") (cast_expression "(int *)(*param_1 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + -0xc)" (( "(") (binary_expression "*param_1 + -0xc" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "-0xc")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0x4a"))) (; ";")) (if_statement "if ((uVar1 != 0x40) && (uVar1 != 8)) {\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }" (if "if") (parenthesized_expression "((uVar1 != 0x40) && (uVar1 != 8))" (( "(") (binary_expression "(uVar1 != 0x40) && (uVar1 != 8)" (parenthesized_expression "(uVar1 != 0x40)" (( "(") (binary_expression "uVar1 != 0x40" (identifier "uVar1") (!= "!=") (number_literal "0x40")) () ")")) (&& "&&") (parenthesized_expression "(uVar1 != 8)" (( "(") (binary_expression "uVar1 != 8" (identifier "uVar1") (!= "!=") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n    FUN_003bbcd0(param_1,(int)param_2);\n    return;\n  }" ({ "{") (expression_statement "FUN_003bbcd0(param_1,(int)param_2);" (call_expression "FUN_003bbcd0(param_1,(int)param_2)" (identifier "FUN_003bbcd0") (argument_list "(param_1,(int)param_2)" (( "(") (identifier "param_1") (, ",") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_003bbcd0(param_1,param_2);" (call_expression "FUN_003bbcd0(param_1,param_2)" (identifier "FUN_003bbcd0") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::ostream::TEMPNAMEPLACEHOLDERVALUE(short) */

void __thiscall std::ostream::operator<<(ostream *this,short param_1)

{
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement))))

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

void MASKED(int *param_1,short param_2)

{
  uint uVar1;
  
  uVar1 = *(uint *)((int)param_1 + *(int *)(*param_1 + -0xc) + 0xc) & 0x4a;
  if ((uVar1 != 0x40) && (uVar1 != 8)) {
    FUN_003bbcd0(param_1,(int)param_2);
    return;
  }
  FUN_003bbcd0(param_1,param_2);
  return;
}

