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

char * proper_name(char *name)

{
  _Bool _Var1;
  char *string;
  size_t sVar2;
  size_t sVar3;
  char *pcVar4;
  
  string = (char *)dcgettext(0,name,5);
  if (name != string) {
    _Var1 = mbsstr_trimmed_wordbounded(string,name);
    if (!_Var1) {
      sVar2 = strlen(string);
      sVar3 = strlen(name);
      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);
      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);
      return pcVar4;
    }
  }
  return string;
}



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

char * FUN_00014c40(char *param_1)

{
  char cVar1;
  char *__s;
  size_t sVar2;
  size_t sVar3;
  char *pcVar4;
  
  __s = (char *)dcgettext(0,param_1,5);
  if (param_1 != __s) {
    cVar1 = FUN_00014340();
    if (cVar1 == '\0') {
      sVar2 = strlen(__s);
      sVar3 = strlen(param_1);
      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);
      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);
      return pcVar4;
    }
  }
  return __s;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000131a0
ADD EBX,0xa3b7
SUB ESP,0x10
MOV EDI,dword ptr [ESP + 0x24]
PUSH 0x5
PUSH EDI
PUSH 0x0
CALL 0x00012120
ADD ESP,0x10
MOV ESI,EAX
CMP EDI,EAX
JZ 0x00014c74
MOV EDX,EDI
CALL 0x00014340
TEST AL,AL
JZ 0x00014c80
ADD ESP,0xc
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH ESI
CALL 0x000122b0
MOV dword ptr [ESP],EDI
MOV EBP,EAX
CALL 0x000122b0
LEA EAX,[EBP + EAX*0x1 + 0x4]
MOV dword ptr [ESP],EAX
CALL 0x00015be0
MOV EBP,EAX
POP EAX
LEA EAX,[EBX + 0xffffbe6a]
POP EDX
PUSH EDI
PUSH ESI
MOV ESI,EBP
PUSH EAX
PUSH -0x1
PUSH 0x1
PUSH EBP
CALL 0x000124e0
ADD ESP,0x20
MOV EAX,ESI
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * FUN_00014c40(char *param_1)\n\n{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}\n\n" comment (function_definition "char * FUN_00014c40(char *param_1)\n\n{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}" primitive_type (pointer_declarator "* FUN_00014c40(char *param_1)" * (function_declarator "FUN_00014c40(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "__s = (char *)dcgettext(0,param_1,5);" (assignment_expression "__s = (char *)dcgettext(0,param_1,5)" identifier = (cast_expression "(char *)dcgettext(0,param_1,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,param_1,5)" identifier (argument_list "(0,param_1,5)" ( number_literal , identifier , number_literal ))))) ;) (if_statement "if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }" if (parenthesized_expression "(param_1 != __s)" ( (binary_expression "param_1 != __s" identifier != identifier) )) (compound_statement "{\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }" { (expression_statement "cVar1 = FUN_00014340();" (assignment_expression "cVar1 = FUN_00014340()" identifier = (call_expression "FUN_00014340()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }" { (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);" (assignment_expression "pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3)" identifier = (cast_expression "(char *)FUN_00015be0(sVar2 + 4 + sVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00015be0(sVar2 + 4 + sVar3)" identifier (argument_list "(sVar2 + 4 + sVar3)" ( (binary_expression "sVar2 + 4 + sVar3" (binary_expression "sVar2 + 4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);" (call_expression "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1)" identifier (argument_list "(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1)" ( identifier , number_literal , number_literal , (string_literal ""%s (%s)"" " string_content ") , identifier , identifier ))) ;) (return_statement "return pcVar4;" return identifier ;) })) })) (return_statement "return __s;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nchar * proper_name(char *name)\n\n{\n  _Bool _Var1;\n  char *string;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  string = (char *)dcgettext(0,name,5);\n  if (name != string) {\n    _Var1 = mbsstr_trimmed_wordbounded(string,name);\n    if (!_Var1) {\n      sVar2 = strlen(string);\n      sVar3 = strlen(name);\n      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);\n      return pcVar4;\n    }\n  }\n  return string;\n}\n\n" comment comment (function_definition "char * proper_name(char *name)\n\n{\n  _Bool _Var1;\n  char *string;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  string = (char *)dcgettext(0,name,5);\n  if (name != string) {\n    _Var1 = mbsstr_trimmed_wordbounded(string,name);\n    if (!_Var1) {\n      sVar2 = strlen(string);\n      sVar3 = strlen(name);\n      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);\n      return pcVar4;\n    }\n  }\n  return string;\n}" primitive_type (pointer_declarator "* proper_name(char *name)" * (function_declarator "proper_name(char *name)" identifier (parameter_list "(char *name)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) )))) (compound_statement "{\n  _Bool _Var1;\n  char *string;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  string = (char *)dcgettext(0,name,5);\n  if (name != string) {\n    _Var1 = mbsstr_trimmed_wordbounded(string,name);\n    if (!_Var1) {\n      sVar2 = strlen(string);\n      sVar3 = strlen(name);\n      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);\n      return pcVar4;\n    }\n  }\n  return string;\n}" { (declaration "_Bool _Var1;" type_identifier identifier ;) (declaration "char *string;" primitive_type (pointer_declarator "*string" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "string = (char *)dcgettext(0,name,5);" (assignment_expression "string = (char *)dcgettext(0,name,5)" identifier = (cast_expression "(char *)dcgettext(0,name,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,name,5)" identifier (argument_list "(0,name,5)" ( number_literal , identifier , number_literal ))))) ;) (if_statement "if (name != string) {\n    _Var1 = mbsstr_trimmed_wordbounded(string,name);\n    if (!_Var1) {\n      sVar2 = strlen(string);\n      sVar3 = strlen(name);\n      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);\n      return pcVar4;\n    }\n  }" if (parenthesized_expression "(name != string)" ( (binary_expression "name != string" identifier != identifier) )) (compound_statement "{\n    _Var1 = mbsstr_trimmed_wordbounded(string,name);\n    if (!_Var1) {\n      sVar2 = strlen(string);\n      sVar3 = strlen(name);\n      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);\n      return pcVar4;\n    }\n  }" { (expression_statement "_Var1 = mbsstr_trimmed_wordbounded(string,name);" (assignment_expression "_Var1 = mbsstr_trimmed_wordbounded(string,name)" identifier = (call_expression "mbsstr_trimmed_wordbounded(string,name)" identifier (argument_list "(string,name)" ( identifier , identifier )))) ;) (if_statement "if (!_Var1) {\n      sVar2 = strlen(string);\n      sVar3 = strlen(name);\n      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);\n      return pcVar4;\n    }" if (parenthesized_expression "(!_Var1)" ( (unary_expression "!_Var1" ! identifier) )) (compound_statement "{\n      sVar2 = strlen(string);\n      sVar3 = strlen(name);\n      pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);\n      return pcVar4;\n    }" { (expression_statement "sVar2 = strlen(string);" (assignment_expression "sVar2 = strlen(string)" identifier = (call_expression "strlen(string)" identifier (argument_list "(string)" ( identifier )))) ;) (expression_statement "sVar3 = strlen(name);" (assignment_expression "sVar3 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar2 + 4 + sVar3)" identifier = (cast_expression "(char *)xmalloc(sVar2 + 4 + sVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar2 + 4 + sVar3)" identifier (argument_list "(sVar2 + 4 + sVar3)" ( (binary_expression "sVar2 + 4 + sVar3" (binary_expression "sVar2 + 4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name);" (call_expression "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",string,name)" identifier (argument_list "(pcVar4,1,0xffffffff,"%s (%s)",string,name)" ( identifier , number_literal , number_literal , (string_literal ""%s (%s)"" " string_content ") , identifier , identifier ))) ;) (return_statement "return pcVar4;" return identifier ;) })) })) (return_statement "return string;" return identifier ;) })))
(translation_unit "char * FUN_00014c40(char *param_1)\n\n{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}\n\n" (function_definition "char * FUN_00014c40(char *param_1)\n\n{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}" primitive_type (pointer_declarator "* FUN_00014c40(char *param_1)" * (function_declarator "FUN_00014c40(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (expression_statement "__s = (char *)dcgettext(0,param_1,5);" (assignment_expression "__s = (char *)dcgettext(0,param_1,5)" identifier = (cast_expression "(char *)dcgettext(0,param_1,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,param_1,5)" identifier (argument_list "(0,param_1,5)" ( number_literal , identifier , number_literal ))))) ;) (if_statement "if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }" if (parenthesized_expression "(param_1 != __s)" ( (binary_expression "param_1 != __s" identifier != identifier) )) (compound_statement "{\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }" { (expression_statement "cVar1 = FUN_00014340();" (assignment_expression "cVar1 = FUN_00014340()" identifier = (call_expression "FUN_00014340()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }" { (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);" (assignment_expression "pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3)" identifier = (cast_expression "(char *)FUN_00015be0(sVar2 + 4 + sVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00015be0(sVar2 + 4 + sVar3)" identifier (argument_list "(sVar2 + 4 + sVar3)" ( (binary_expression "sVar2 + 4 + sVar3" (binary_expression "sVar2 + 4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);" (call_expression "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1)" identifier (argument_list "(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1)" ( identifier , number_literal , number_literal , (string_literal ""%s (%s)"" " string_content ") , identifier , identifier ))) ;) (return_statement "return pcVar4;" return identifier ;) })) })) (return_statement "return __s;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (string_literal " string_content ") , IDENT , IDENT ))) ;) (return_statement return IDENT ;) })) })) (return_statement return IDENT ;) })))
(function_definition "char * FUN_00014c40(char *param_1)\n\n{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}" (primitive_type "char") (pointer_declarator "* FUN_00014c40(char *param_1)" (* "*") (function_declarator "FUN_00014c40(char *param_1)" (identifier "FUN_00014c40") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")")))) (compound_statement "{\n  char cVar1;\n  char *__s;\n  size_t sVar2;\n  size_t sVar3;\n  char *pcVar4;\n  \n  __s = (char *)dcgettext(0,param_1,5);\n  if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }\n  return __s;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "size_t sVar2;" (primitive_type "size_t") (identifier "sVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (expression_statement "__s = (char *)dcgettext(0,param_1,5);" (assignment_expression "__s = (char *)dcgettext(0,param_1,5)" (identifier "__s") (= "=") (cast_expression "(char *)dcgettext(0,param_1,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,param_1,5)" (identifier "dcgettext") (argument_list "(0,param_1,5)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (number_literal "5") () ")"))))) (; ";")) (if_statement "if (param_1 != __s) {\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 != __s)" (( "(") (binary_expression "param_1 != __s" (identifier "param_1") (!= "!=") (identifier "__s")) () ")")) (compound_statement "{\n    cVar1 = FUN_00014340();\n    if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }\n  }" ({ "{") (expression_statement "cVar1 = FUN_00014340();" (assignment_expression "cVar1 = FUN_00014340()" (identifier "cVar1") (= "=") (call_expression "FUN_00014340()" (identifier "FUN_00014340") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar1 == '\0') {\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      sVar2 = strlen(__s);\n      sVar3 = strlen(param_1);\n      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);\n      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);\n      return pcVar4;\n    }" ({ "{") (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" (identifier "sVar2") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "sVar3 = strlen(param_1);" (assignment_expression "sVar3 = strlen(param_1)" (identifier "sVar3") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);" (assignment_expression "pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3)" (identifier "pcVar4") (= "=") (cast_expression "(char *)FUN_00015be0(sVar2 + 4 + sVar3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00015be0(sVar2 + 4 + sVar3)" (identifier "FUN_00015be0") (argument_list "(sVar2 + 4 + sVar3)" (( "(") (binary_expression "sVar2 + 4 + sVar3" (binary_expression "sVar2 + 4" (identifier "sVar2") (+ "+") (number_literal "4")) (+ "+") (identifier "sVar3")) () ")"))))) (; ";")) (expression_statement "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);" (call_expression "__sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1)" (identifier "__sprintf_chk") (argument_list "(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1)" (( "(") (identifier "pcVar4") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") (, ",") (string_literal ""%s (%s)"" (" """) (string_content "%s (%s)") (" """)) (, ",") (identifier "__s") (, ",") (identifier "param_1") () ")"))) (; ";")) (return_statement "return pcVar4;" (return "return") (identifier "pcVar4") (; ";")) (} "}"))) (} "}"))) (return_statement "return __s;" (return "return") (identifier "__s") (; ";")) (} "}")))

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

char * function_1(char *var_2)

{
  type_1 _Var1;
  char *var_3;
  size_t var_7;
  size_t var_8;
  char *pcVar4;
  
  var_3 = (char *)var_1(0,var_2,5);
  if (var_2 != var_3) {
    _Var1 = var_4(var_3,var_2);
    if (!_Var1) {
      var_7 = var_5(var_3);
      var_8 = var_5(var_2);
      pcVar4 = (char *)var_6(var_7 + 4 + var_8);
      var_9(pcVar4,1,0xffffffff,"%s (%s)",var_3,var_2);
      return pcVar4;
    }
  }
  return var_3;
}


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

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

char * MASKED(char *param_1)

{
  char cVar1;
  char *__s;
  size_t sVar2;
  size_t sVar3;
  char *pcVar4;
  
  __s = (char *)dcgettext(0,param_1,5);
  if (param_1 != __s) {
    cVar1 = FUN_00014340();
    if (cVar1 == '\0') {
      sVar2 = strlen(__s);
      sVar3 = strlen(param_1);
      pcVar4 = (char *)FUN_00015be0(sVar2 + 4 + sVar3);
      __sprintf_chk(pcVar4,1,0xffffffff,"%s (%s)",__s,param_1);
      return pcVar4;
    }
  }
  return __s;
}

