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

int __regparm3 fchmod_or_lchmod(int desc,char *name,mode_t mode)

{
  int iVar1;
  
  if (desc < 0) {
    iVar1 = chmod(name,mode);
    return iVar1;
  }
  iVar1 = fchmod(desc,mode);
  return iVar1;
}



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

void __regparm3 FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)

{
  if (param_1 < 0) {
    chmod(param_2,param_3);
    return;
  }
  fchmod(param_1,param_3);
  return;
}


PUSH EBX
CALL 0x000132d0
ADD EBX,0x2443a
SUB ESP,0x8
TEST EAX,EAX
JNS 0x00014be8
SUB ESP,0x8
PUSH ECX
PUSH EDX
CALL 0x00012840
ADD ESP,0x10
ADD ESP,0x8
POP EBX
RET
SUB ESP,0x8
PUSH ECX
PUSH EAX
CALL 0x00012980
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 __regparm3 FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)\n\n{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)\n\n{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)" identifier (parameter_list "(int param_1,char *param_2,__mode_t param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "__mode_t param_3" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}" { (if_statement "if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n    chmod(param_2,param_3);\n    return;\n  }" { (expression_statement "chmod(param_2,param_3);" (call_expression "chmod(param_2,param_3)" identifier (argument_list "(param_2,param_3)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "fchmod(param_1,param_3);" (call_expression "fchmod(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 fchmod_or_lchmod(int desc,char *name,mode_t mode)\n\n{\n  int iVar1;\n  \n  if (desc < 0) {\n    iVar1 = chmod(name,mode);\n    return iVar1;\n  }\n  iVar1 = fchmod(desc,mode);\n  return iVar1;\n}\n\n" comment (function_definition "int __regparm3 fchmod_or_lchmod(int desc,char *name,mode_t mode)\n\n{\n  int iVar1;\n  \n  if (desc < 0) {\n    iVar1 = chmod(name,mode);\n    return iVar1;\n  }\n  iVar1 = fchmod(desc,mode);\n  return iVar1;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "fchmod_or_lchmod(int desc,char *name,mode_t mode)" identifier (parameter_list "(int desc,char *name,mode_t mode)" ( (parameter_declaration "int desc" primitive_type identifier) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "mode_t mode" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  if (desc < 0) {\n    iVar1 = chmod(name,mode);\n    return iVar1;\n  }\n  iVar1 = fchmod(desc,mode);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (desc < 0) {\n    iVar1 = chmod(name,mode);\n    return iVar1;\n  }" if (parenthesized_expression "(desc < 0)" ( (binary_expression "desc < 0" identifier < number_literal) )) (compound_statement "{\n    iVar1 = chmod(name,mode);\n    return iVar1;\n  }" { (expression_statement "iVar1 = chmod(name,mode);" (assignment_expression "iVar1 = chmod(name,mode)" identifier = (call_expression "chmod(name,mode)" identifier (argument_list "(name,mode)" ( identifier , identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "iVar1 = fchmod(desc,mode);" (assignment_expression "iVar1 = fchmod(desc,mode)" identifier = (call_expression "fchmod(desc,mode)" identifier (argument_list "(desc,mode)" ( identifier , identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "void __regparm3 FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)\n\n{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)\n\n{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)" identifier (parameter_list "(int param_1,char *param_2,__mode_t param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "__mode_t param_3" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}" { (if_statement "if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n    chmod(param_2,param_3);\n    return;\n  }" { (expression_statement "chmod(param_2,param_3);" (call_expression "chmod(param_2,param_3)" identifier (argument_list "(param_2,param_3)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "fchmod(param_1,param_3);" (call_expression "fchmod(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)\n\n{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00014bc0(int param_1,char *param_2,__mode_t param_3)" (identifier "FUN_00014bc0") (parameter_list "(int param_1,char *param_2,__mode_t param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "__mode_t param_3" (type_identifier "__mode_t") (identifier "param_3")) () ")"))) (compound_statement "{\n  if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }\n  fchmod(param_1,param_3);\n  return;\n}" ({ "{") (if_statement "if (param_1 < 0) {\n    chmod(param_2,param_3);\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 < 0)" (( "(") (binary_expression "param_1 < 0" (identifier "param_1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    chmod(param_2,param_3);\n    return;\n  }" ({ "{") (expression_statement "chmod(param_2,param_3);" (call_expression "chmod(param_2,param_3)" (identifier "chmod") (argument_list "(param_2,param_3)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "fchmod(param_1,param_3);" (call_expression "fchmod(param_1,param_3)" (identifier "fchmod") (argument_list "(param_1,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

int __regparm3 function_1(int var_1,char *name,type_1 mode)

{
  int iVar1;
  
  if (var_1 < 0) {
    iVar1 = var_2(name,mode);
    return iVar1;
  }
  iVar1 = var_3(var_1,mode);
  return iVar1;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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 __regparm3 MASKED(int param_1,char *param_2,__mode_t param_3)

{
  if (param_1 < 0) {
    chmod(param_2,param_3);
    return;
  }
  fchmod(param_1,param_3);
  return;
}

