
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void set_view_to_nop(Target * this, uchar * view, section_size_type
   view_size, section_offset_type offset, size_t len) */

void __thiscall
gold::Target::set_view_to_nop
          (Target *this,uchar *view,section_size_type view_size,section_offset_type offset,
          size_t len)

{
  string fill;
  
}



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

void FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)

{
  undefined1 *local_38;
  undefined1 local_34 [4];
  undefined1 local_30 [28];
  undefined4 uStack_14;
  
  uStack_14 = 0x1fef29;
  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {
    if (*(char *)(param_1[1] + 0xe) != '\0') {
      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);
      memcpy((void *)(param_4 + param_2),local_38,param_5);
      if (local_38 != local_30) {
        FUN_00248220(local_38);
      }
      return;
    }
    memset((void *)(param_4 + param_2),0,param_5);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0003a210
ADD EBX,0x2150d7
SUB ESP,0x2c
MOV EAX,dword ptr [ESP + 0x4c]
MOV EDX,dword ptr [ESP + 0x40]
MOV EDI,dword ptr [ESP + 0x50]
TEST EAX,EAX
JS 0x001fefb7
LEA ECX,[EAX + EDI*0x1]
CMP ECX,dword ptr [ESP + 0x48]
JA 0x001fefb7
ADD EAX,dword ptr [ESP + 0x44]
MOV ESI,EAX
MOV EAX,dword ptr [EDX + 0x4]
CMP byte ptr [EAX + 0xe],0x0
JZ 0x001fefa0
MOV EAX,dword ptr [EDX]
LEA ECX,[ESP + 0x8]
SUB ESP,0x4
PUSH EDI
PUSH EDX
PUSH ECX
CALL dword ptr [EAX + 0x18]
MOV EBP,dword ptr [ESP + 0x14]
SUB ESP,0x8
PUSH EDI
PUSH EBP
PUSH ESI
CALL 0x0002c2d0
LEA EAX,[ESP + 0x30]
ADD ESP,0x20
CMP EBP,EAX
JZ 0x001fef8f
SUB ESP,0xc
PUSH EBP
CALL 0x00248220
ADD ESP,0x10
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
PUSH EDI
PUSH 0x0
PUSH ESI
CALL 0x0002c8f0
ADD ESP,0x10
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH EAX
LEA EAX,[EBX + 0xffef9c14]
PUSH EAX
LEA EAX,[EBX + 0xffef960b]
PUSH 0xc6
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)\n\n{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}\n\n" comment (function_definition "void FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)\n\n{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}" primitive_type (function_declarator "FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)" identifier (parameter_list "(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "size_t param_5" primitive_type identifier) ))) (compound_statement "{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}" { (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined1 local_34 [4];" type_identifier (array_declarator "local_34 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_30 [28];" type_identifier (array_declarator "local_30 [28]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1fef29;" (assignment_expression "uStack_14 = 0x1fef29" identifier = number_literal) ;) (if_statement "if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }" if (parenthesized_expression "((-1 < param_4) && (param_4 + param_5 <= param_3))" ( (binary_expression "(-1 < param_4) && (param_4 + param_5 <= param_3)" (parenthesized_expression "(-1 < param_4)" ( (binary_expression "-1 < param_4" number_literal < identifier) )) && (parenthesized_expression "(param_4 + param_5 <= param_3)" ( (binary_expression "param_4 + param_5 <= param_3" (binary_expression "param_4 + param_5" identifier + identifier) <= identifier) ))) )) (compound_statement "{\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }" { (if_statement "if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }" if (parenthesized_expression "(*(char *)(param_1[1] + 0xe) != '\0')" ( (binary_expression "*(char *)(param_1[1] + 0xe) != '\0'" (pointer_expression "*(char *)(param_1[1] + 0xe)" * (cast_expression "(char *)(param_1[1] + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 0xe)" ( (binary_expression "param_1[1] + 0xe" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }" { (expression_statement "(**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);" (call_expression "(**(code **)(*param_1 + 0x18))(local_34,param_1,param_5)" (parenthesized_expression "(**(code **)(*param_1 + 0x18))" ( (pointer_expression "**(code **)(*param_1 + 0x18)" * (pointer_expression "*(code **)(*param_1 + 0x18)" * (cast_expression "(code **)(*param_1 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x18)" ( (binary_expression "*param_1 + 0x18" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(local_34,param_1,param_5)" ( identifier , identifier , identifier ))) ;) (expression_statement "memcpy((void *)(param_4 + param_2),local_38,param_5);" (call_expression "memcpy((void *)(param_4 + param_2),local_38,param_5)" identifier (argument_list "((void *)(param_4 + param_2),local_38,param_5)" ( (cast_expression "(void *)(param_4 + param_2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + param_2)" ( (binary_expression "param_4 + param_2" identifier + identifier) ))) , identifier , identifier ))) ;) (if_statement "if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }" if (parenthesized_expression "(local_38 != local_30)" ( (binary_expression "local_38 != local_30" identifier != identifier) )) (compound_statement "{\n        FUN_00248220(local_38);\n      }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "memset((void *)(param_4 + param_2),0,param_5);" (call_expression "memset((void *)(param_4 + param_2),0,param_5)" identifier (argument_list "((void *)(param_4 + param_2),0,param_5)" ( (cast_expression "(void *)(param_4 + param_2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + param_2)" ( (binary_expression "param_4 + param_2" identifier + identifier) ))) , number_literal , identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);" (call_expression "FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4)" identifier (argument_list "("../../gold/target.cc",0xc6,"set_view_to_nop",param_4)" ( (string_literal ""../../gold/target.cc"" " string_content ") , number_literal , (string_literal ""set_view_to_nop"" " string_content ") , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void set_view_to_nop(Target * this, uchar * view, section_size_type\n   view_size, section_offset_type offset, size_t len) */\n\nvoid __thiscall\ngold::Target::set_view_to_nop\n          (Target *this,uchar *view,section_size_type view_size,section_offset_type offset,\n          size_t len)\n\n{\n  string fill;\n  \n}\n\n" comment comment comment (function_definition "void __thiscall\ngold::Target::set_view_to_nop\n          (Target *this,uchar *view,section_size_type view_size,section_offset_type offset,\n          size_t len)\n\n{\n  string fill;\n  \n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Target::" identifier : : identifier : :) (function_declarator "set_view_to_nop\n          (Target *this,uchar *view,section_size_type view_size,section_offset_type offset,\n          size_t len)" identifier (parameter_list "(Target *this,uchar *view,section_size_type view_size,section_offset_type offset,\n          size_t len)" ( (parameter_declaration "Target *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "uchar *view" type_identifier (pointer_declarator "*view" * identifier)) , (parameter_declaration "section_size_type view_size" type_identifier identifier) , (parameter_declaration "section_offset_type offset" type_identifier identifier) , (parameter_declaration "size_t len" primitive_type identifier) ))) (compound_statement "{\n  string fill;\n  \n}" { (declaration "string fill;" type_identifier identifier ;) })))
(translation_unit "void FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)\n\n{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}\n\n" (function_definition "void FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)\n\n{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}" primitive_type (function_declarator "FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)" identifier (parameter_list "(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "size_t param_5" primitive_type identifier) ))) (compound_statement "{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}" { (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined1 local_34 [4];" type_identifier (array_declarator "local_34 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_30 [28];" type_identifier (array_declarator "local_30 [28]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1fef29;" (assignment_expression "uStack_14 = 0x1fef29" identifier = number_literal) ;) (if_statement "if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }" if (parenthesized_expression "((-1 < param_4) && (param_4 + param_5 <= param_3))" ( (binary_expression "(-1 < param_4) && (param_4 + param_5 <= param_3)" (parenthesized_expression "(-1 < param_4)" ( (binary_expression "-1 < param_4" number_literal < identifier) )) && (parenthesized_expression "(param_4 + param_5 <= param_3)" ( (binary_expression "param_4 + param_5 <= param_3" (binary_expression "param_4 + param_5" identifier + identifier) <= identifier) ))) )) (compound_statement "{\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }" { (if_statement "if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }" if (parenthesized_expression "(*(char *)(param_1[1] + 0xe) != '\0')" ( (binary_expression "*(char *)(param_1[1] + 0xe) != '\0'" (pointer_expression "*(char *)(param_1[1] + 0xe)" * (cast_expression "(char *)(param_1[1] + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 0xe)" ( (binary_expression "param_1[1] + 0xe" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }" { (expression_statement "(**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);" (call_expression "(**(code **)(*param_1 + 0x18))(local_34,param_1,param_5)" (parenthesized_expression "(**(code **)(*param_1 + 0x18))" ( (pointer_expression "**(code **)(*param_1 + 0x18)" * (pointer_expression "*(code **)(*param_1 + 0x18)" * (cast_expression "(code **)(*param_1 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x18)" ( (binary_expression "*param_1 + 0x18" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(local_34,param_1,param_5)" ( identifier , identifier , identifier ))) ;) (expression_statement "memcpy((void *)(param_4 + param_2),local_38,param_5);" (call_expression "memcpy((void *)(param_4 + param_2),local_38,param_5)" identifier (argument_list "((void *)(param_4 + param_2),local_38,param_5)" ( (cast_expression "(void *)(param_4 + param_2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + param_2)" ( (binary_expression "param_4 + param_2" identifier + identifier) ))) , identifier , identifier ))) ;) (if_statement "if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }" if (parenthesized_expression "(local_38 != local_30)" ( (binary_expression "local_38 != local_30" identifier != identifier) )) (compound_statement "{\n        FUN_00248220(local_38);\n      }" { (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "memset((void *)(param_4 + param_2),0,param_5);" (call_expression "memset((void *)(param_4 + param_2),0,param_5)" identifier (argument_list "((void *)(param_4 + param_2),0,param_5)" ( (cast_expression "(void *)(param_4 + param_2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + param_2)" ( (binary_expression "param_4 + param_2" identifier + identifier) ))) , number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);" (call_expression "FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4)" identifier (argument_list "("../../gold/target.cc",0xc6,"set_view_to_nop",param_4)" ( (string_literal ""../../gold/target.cc"" " string_content ") , number_literal , (string_literal ""set_view_to_nop"" " string_content ") , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) <= IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , LIT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })))
(function_definition "void FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)\n\n{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}" (primitive_type "void") (function_declarator "FUN_001fef20(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)" (identifier "FUN_001fef20") (parameter_list "(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "size_t param_5" (primitive_type "size_t") (identifier "param_5")) () ")"))) (compound_statement "{\n  undefined1 *local_38;\n  undefined1 local_34 [4];\n  undefined1 local_30 [28];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1fef29;\n  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }\n                    \n  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);\n}" ({ "{") (declaration "undefined1 *local_38;" (type_identifier "undefined1") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined1 local_34 [4];" (type_identifier "undefined1") (array_declarator "local_34 [4]" (identifier "local_34") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_30 [28];" (type_identifier "undefined1") (array_declarator "local_30 [28]" (identifier "local_30") ([ "[") (number_literal "28") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x1fef29;" (assignment_expression "uStack_14 = 0x1fef29" (identifier "uStack_14") (= "=") (number_literal "0x1fef29")) (; ";")) (if_statement "if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }" (if "if") (parenthesized_expression "((-1 < param_4) && (param_4 + param_5 <= param_3))" (( "(") (binary_expression "(-1 < param_4) && (param_4 + param_5 <= param_3)" (parenthesized_expression "(-1 < param_4)" (( "(") (binary_expression "-1 < param_4" (number_literal "-1") (< "<") (identifier "param_4")) () ")")) (&& "&&") (parenthesized_expression "(param_4 + param_5 <= param_3)" (( "(") (binary_expression "param_4 + param_5 <= param_3" (binary_expression "param_4 + param_5" (identifier "param_4") (+ "+") (identifier "param_5")) (<= "<=") (identifier "param_3")) () ")"))) () ")")) (compound_statement "{\n    if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }\n    memset((void *)(param_4 + param_2),0,param_5);\n    return;\n  }" ({ "{") (if_statement "if (*(char *)(param_1[1] + 0xe) != '\0') {\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1[1] + 0xe) != '\0')" (( "(") (binary_expression "*(char *)(param_1[1] + 0xe) != '\0'" (pointer_expression "*(char *)(param_1[1] + 0xe)" (* "*") (cast_expression "(char *)(param_1[1] + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 0xe)" (( "(") (binary_expression "param_1[1] + 0xe" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xe")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);\n      memcpy((void *)(param_4 + param_2),local_38,param_5);\n      if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }\n      return;\n    }" ({ "{") (expression_statement "(**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);" (call_expression "(**(code **)(*param_1 + 0x18))(local_34,param_1,param_5)" (parenthesized_expression "(**(code **)(*param_1 + 0x18))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x18)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x18)" (* "*") (cast_expression "(code **)(*param_1 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x18)" (( "(") (binary_expression "*param_1 + 0x18" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(local_34,param_1,param_5)" (( "(") (identifier "local_34") (, ",") (identifier "param_1") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "memcpy((void *)(param_4 + param_2),local_38,param_5);" (call_expression "memcpy((void *)(param_4 + param_2),local_38,param_5)" (identifier "memcpy") (argument_list "((void *)(param_4 + param_2),local_38,param_5)" (( "(") (cast_expression "(void *)(param_4 + param_2)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + param_2)" (( "(") (binary_expression "param_4 + param_2" (identifier "param_4") (+ "+") (identifier "param_2")) () ")"))) (, ",") (identifier "local_38") (, ",") (identifier "param_5") () ")"))) (; ";")) (if_statement "if (local_38 != local_30) {\n        FUN_00248220(local_38);\n      }" (if "if") (parenthesized_expression "(local_38 != local_30)" (( "(") (binary_expression "local_38 != local_30" (identifier "local_38") (!= "!=") (identifier "local_30")) () ")")) (compound_statement "{\n        FUN_00248220(local_38);\n      }" ({ "{") (expression_statement "FUN_00248220(local_38);" (call_expression "FUN_00248220(local_38)" (identifier "FUN_00248220") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "memset((void *)(param_4 + param_2),0,param_5);" (call_expression "memset((void *)(param_4 + param_2),0,param_5)" (identifier "memset") (argument_list "((void *)(param_4 + param_2),0,param_5)" (( "(") (cast_expression "(void *)(param_4 + param_2)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + param_2)" (( "(") (binary_expression "param_4 + param_2" (identifier "param_4") (+ "+") (identifier "param_2")) () ")"))) (, ",") (number_literal "0") (, ",") (identifier "param_5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);" (call_expression "FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4)" (identifier "FUN_000da200") (argument_list "("../../gold/target.cc",0xc6,"set_view_to_nop",param_4)" (( "(") (string_literal ""../../gold/target.cc"" (" """) (string_content "../../gold/target.cc") (" """)) (, ",") (number_literal "0xc6") (, ",") (string_literal ""set_view_to_nop"" (" """) (string_content "set_view_to_nop") (" """)) (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void set_view_to_nop(Target * this, uchar * view, section_size_type
   view_size, section_offset_type offset, size_t len) */

void __thiscall
gold::type_1::function_1
          (type_1 *this,type_2 *view,type_3 view_size,type_4 offset,
          size_t len)

{
  type_5 fill;
  
}


(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: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) consequence: (compound_statement (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (number_literal) (identifier)))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))))

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

void MASKED(int *param_1,int param_2,uint param_3,int param_4,size_t param_5)

{
  undefined1 *local_38;
  undefined1 local_34 [4];
  undefined1 local_30 [28];
  undefined4 uStack_14;
  
  uStack_14 = 0x1fef29;
  if ((-1 < param_4) && (param_4 + param_5 <= param_3)) {
    if (*(char *)(param_1[1] + 0xe) != '\0') {
      (**(code **)(*param_1 + 0x18))(local_34,param_1,param_5);
      memcpy((void *)(param_4 + param_2),local_38,param_5);
      if (local_38 != local_30) {
        FUN_00248220(local_38);
      }
      return;
    }
    memset((void *)(param_4 + param_2),0,param_5);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/target.cc",0xc6,"set_view_to_nop",param_4);
}

