
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void gld_i386pep_after_parse(void)

{
  int *piVar1;
  int iVar2;
  size_t sVar3;
  char *name;
  char *pcVar4;
  
  if ((link_info._0_1_ & 0x10) != 0) {
    pcVar4 = (char *)dcgettext(0,
                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"
                               ,5);
    einfo(pcVar4);
  }
  pcVar4 = "DllMainCRTStartup";
  if (((link_info._0_1_ & 1) == 0) && (dll == 0)) {
    if (pep_subsystem == 1) {
      pcVar4 = "NtProcessStartup";
    }
    else {
      pcVar4 = "WinMainCRTStartup";
      piVar1 = (int *)v_12427;
      do {
        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;
        pcVar4 = (char *)piVar1[5];
        piVar1 = piVar1 + 2;
      } while (pcVar4 != (char *)0x0);
      pcVar4 = "mainCRTStartup";
    }
  }
LAB_000540d8:
  iVar2 = is_underscoring();
  name = pcVar4;
  if (iVar2 != 0) {
    sVar3 = strlen(pcVar4);
    name = (char *)xmalloc(sVar3 + 2);
    *name = '_';
    strcpy(name + 1,pcVar4);
  }
  lang_default_entry(name);
  after_parse_default();
  return;
}



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

void FUN_00054070(void)

{
  int *piVar1;
  int iVar2;
  size_t sVar3;
  char *pcVar4;
  undefined4 uVar5;
  char *__s;
  
  if ((DAT_001d13e0 & 0x10) != 0) {
    uVar5 = dcgettext(0,
                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"
                      ,5);
    FUN_00034d20(uVar5);
  }
  __s = "DllMainCRTStartup";
  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {
    if (DAT_001cfc74 == 1) {
      __s = "NtProcessStartup";
    }
    else {
      __s = "WinMainCRTStartup";
      piVar1 = (int *)&DAT_001ce040;
      do {
        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;
        __s = (char *)piVar1[5];
        piVar1 = piVar1 + 2;
      } while (__s != (char *)0x0);
      __s = "mainCRTStartup";
    }
  }
LAB_000540d8:
  iVar2 = FUN_00052dd0();
  pcVar4 = __s;
  if (iVar2 != 0) {
    sVar3 = strlen(__s);
    pcVar4 = (char *)xmalloc(sVar3 + 2);
    *pcVar4 = '_';
    strcpy(pcVar4 + 1,__s);
  }
  FUN_00029410(pcVar4);
  FUN_00033850();
  return;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017b80
ADD EBX,0x17af88
LEA ESI,[EBX + 0x23e0]
MOVZX EAX,byte ptr [ESI]
TEST AL,0x10
JNZ 0x00054120
LEA ESI,[EBX + 0xfffdef67]
TEST AL,0x1
JNZ 0x000540d8
MOV ECX,dword ptr [EBX + 0x1e08]
TEST ECX,ECX
JNZ 0x000540d8
MOV EDX,dword ptr [EBX + 0xc74]
CMP EDX,0x1
JZ 0x00054150
LEA EAX,[EBX + 0xfffff040]
LEA ESI,[EBX + 0xfffc4d0c]
NOP
ADD EAX,0x8
CMP dword ptr [EAX],EDX
JZ 0x000540d8
MOV ESI,dword ptr [EAX + 0xc]
TEST ESI,ESI
JNZ 0x000540c0
LEA ESI,[EBX + 0xfffd23d8]
LEA ESI,[ESI]
CALL 0x00052dd0
TEST EAX,EAX
JZ 0x0005410b
SUB ESP,0xc
PUSH ESI
CALL 0x00016760
ADD EAX,0x2
MOV dword ptr [ESP],EAX
CALL 0x00016dc8
MOV EDI,EAX
MOV byte ptr [EAX],0x5f
POP EAX
LEA EAX,[EDI + 0x1]
POP EDX
PUSH ESI
MOV ESI,EDI
PUSH EAX
CALL 0x00016530
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00029410
CALL 0x00033850
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2180]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016310
MOV dword ptr [ESP],EAX
CALL 0x00034d20
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0005408f
LEA ESI,[EBX + 0xfffc4d1e]
JMP 0x000540d8
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00054070(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}\n\n" comment (function_definition "void FUN_00054070(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}" primitive_type (function_declarator "FUN_00054070(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (if_statement "if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }" if (parenthesized_expression "((DAT_001d13e0 & 0x10) != 0)" ( (binary_expression "(DAT_001d13e0 & 0x10) != 0" (parenthesized_expression "(DAT_001d13e0 & 0x10)" ( (binary_expression "DAT_001d13e0 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }" { (expression_statement "uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);" (assignment_expression "uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" identifier = (call_expression "dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" identifier (argument_list "(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" ( number_literal , (string_literal ""%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar5);" (call_expression "FUN_00034d20(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) })) (expression_statement "__s = "DllMainCRTStartup";" (assignment_expression "__s = "DllMainCRTStartup"" identifier = (string_literal ""DllMainCRTStartup"" " string_content ")) ;) (if_statement "if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }" if (parenthesized_expression "(((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0))" ( (binary_expression "((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)" (parenthesized_expression "((DAT_001d13e0 & 1) == 0)" ( (binary_expression "(DAT_001d13e0 & 1) == 0" (parenthesized_expression "(DAT_001d13e0 & 1)" ( (binary_expression "DAT_001d13e0 & 1" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_001d0e08 == 0)" ( (binary_expression "DAT_001d0e08 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }" { (if_statement "if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" if (parenthesized_expression "(DAT_001cfc74 == 1)" ( (binary_expression "DAT_001cfc74 == 1" identifier == number_literal) )) (compound_statement "{\n      __s = "NtProcessStartup";\n    }" { (expression_statement "__s = "NtProcessStartup";" (assignment_expression "__s = "NtProcessStartup"" identifier = (string_literal ""NtProcessStartup"" " string_content ")) ;) }) (else_clause "else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" else (compound_statement "{\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" { (expression_statement "__s = "WinMainCRTStartup";" (assignment_expression "__s = "WinMainCRTStartup"" identifier = (string_literal ""WinMainCRTStartup"" " string_content ")) ;) (expression_statement "piVar1 = (int *)&DAT_001ce040;" (assignment_expression "piVar1 = (int *)&DAT_001ce040" identifier = (cast_expression "(int *)&DAT_001ce040" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_001ce040" & identifier))) ;) (do_statement "do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);" do (compound_statement "{\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      }" { (if_statement "if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;" if (parenthesized_expression "(piVar1[2] == DAT_001cfc74)" ( (binary_expression "piVar1[2] == DAT_001cfc74" (subscript_expression "piVar1[2]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_000540d8;" goto statement_identifier ;)) (expression_statement "__s = (char *)piVar1[5];" (assignment_expression "__s = (char *)piVar1[5]" identifier = (cast_expression "(char *)piVar1[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar1[5]" identifier [ number_literal ]))) ;) (expression_statement "piVar1 = piVar1 + 2;" (assignment_expression "piVar1 = piVar1 + 2" identifier = (binary_expression "piVar1 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "__s = "mainCRTStartup";" (assignment_expression "__s = "mainCRTStartup"" identifier = (string_literal ""mainCRTStartup"" " string_content ")) ;) }))) })) (labeled_statement "LAB_000540d8:\n  iVar2 = FUN_00052dd0();" statement_identifier : (expression_statement "iVar2 = FUN_00052dd0();" (assignment_expression "iVar2 = FUN_00052dd0()" identifier = (call_expression "FUN_00052dd0()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pcVar4 = __s;" (assignment_expression "pcVar4 = __s" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }" { (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)xmalloc(sVar3 + 2);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar3 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 2)" identifier (argument_list "(sVar3 + 2)" ( (binary_expression "sVar3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*pcVar4 = '_';" (assignment_expression "*pcVar4 = '_'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'_'" ' character ')) ;) (expression_statement "strcpy(pcVar4 + 1,__s);" (call_expression "strcpy(pcVar4 + 1,__s)" identifier (argument_list "(pcVar4 + 1,__s)" ( (binary_expression "pcVar4 + 1" identifier + number_literal) , identifier ))) ;) })) (expression_statement "FUN_00029410(pcVar4);" (call_expression "FUN_00029410(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "FUN_00033850();" (call_expression "FUN_00033850()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid gld_i386pep_after_parse(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *name;\n  char *pcVar4;\n  \n  if ((link_info._0_1_ & 0x10) != 0) {\n    pcVar4 = (char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5);\n    einfo(pcVar4);\n  }\n  pcVar4 = "DllMainCRTStartup";\n  if (((link_info._0_1_ & 1) == 0) && (dll == 0)) {\n    if (pep_subsystem == 1) {\n      pcVar4 = "NtProcessStartup";\n    }\n    else {\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = is_underscoring();\n  name = pcVar4;\n  if (iVar2 != 0) {\n    sVar3 = strlen(pcVar4);\n    name = (char *)xmalloc(sVar3 + 2);\n    *name = '_';\n    strcpy(name + 1,pcVar4);\n  }\n  lang_default_entry(name);\n  after_parse_default();\n  return;\n}\n\n" comment comment (function_definition "void gld_i386pep_after_parse(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *name;\n  char *pcVar4;\n  \n  if ((link_info._0_1_ & 0x10) != 0) {\n    pcVar4 = (char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5);\n    einfo(pcVar4);\n  }\n  pcVar4 = "DllMainCRTStartup";\n  if (((link_info._0_1_ & 1) == 0) && (dll == 0)) {\n    if (pep_subsystem == 1) {\n      pcVar4 = "NtProcessStartup";\n    }\n    else {\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = is_underscoring();\n  name = pcVar4;\n  if (iVar2 != 0) {\n    sVar3 = strlen(pcVar4);\n    name = (char *)xmalloc(sVar3 + 2);\n    *name = '_';\n    strcpy(name + 1,pcVar4);\n  }\n  lang_default_entry(name);\n  after_parse_default();\n  return;\n}" primitive_type (function_declarator "gld_i386pep_after_parse(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *name;\n  char *pcVar4;\n  \n  if ((link_info._0_1_ & 0x10) != 0) {\n    pcVar4 = (char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5);\n    einfo(pcVar4);\n  }\n  pcVar4 = "DllMainCRTStartup";\n  if (((link_info._0_1_ & 1) == 0) && (dll == 0)) {\n    if (pep_subsystem == 1) {\n      pcVar4 = "NtProcessStartup";\n    }\n    else {\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = is_underscoring();\n  name = pcVar4;\n  if (iVar2 != 0) {\n    sVar3 = strlen(pcVar4);\n    name = (char *)xmalloc(sVar3 + 2);\n    *name = '_';\n    strcpy(name + 1,pcVar4);\n  }\n  lang_default_entry(name);\n  after_parse_default();\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *name;" primitive_type (pointer_declarator "*name" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (if_statement "if ((link_info._0_1_ & 0x10) != 0) {\n    pcVar4 = (char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5);\n    einfo(pcVar4);\n  }" if (parenthesized_expression "((link_info._0_1_ & 0x10) != 0)" ( (binary_expression "(link_info._0_1_ & 0x10) != 0" (parenthesized_expression "(link_info._0_1_ & 0x10)" ( (binary_expression "link_info._0_1_ & 0x10" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    pcVar4 = (char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5);\n    einfo(pcVar4);\n  }" { (expression_statement "pcVar4 = (char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5)" identifier (argument_list "(0,\n                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                               ,5)" ( number_literal , (string_literal ""%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar4);" (call_expression "einfo(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) })) (expression_statement "pcVar4 = "DllMainCRTStartup";" (assignment_expression "pcVar4 = "DllMainCRTStartup"" identifier = (string_literal ""DllMainCRTStartup"" " string_content ")) ;) (if_statement "if (((link_info._0_1_ & 1) == 0) && (dll == 0)) {\n    if (pep_subsystem == 1) {\n      pcVar4 = "NtProcessStartup";\n    }\n    else {\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }\n  }" if (parenthesized_expression "(((link_info._0_1_ & 1) == 0) && (dll == 0))" ( (binary_expression "((link_info._0_1_ & 1) == 0) && (dll == 0)" (parenthesized_expression "((link_info._0_1_ & 1) == 0)" ( (binary_expression "(link_info._0_1_ & 1) == 0" (parenthesized_expression "(link_info._0_1_ & 1)" ( (binary_expression "link_info._0_1_ & 1" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(dll == 0)" ( (binary_expression "dll == 0" identifier == number_literal) ))) )) (compound_statement "{\n    if (pep_subsystem == 1) {\n      pcVar4 = "NtProcessStartup";\n    }\n    else {\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }\n  }" { (if_statement "if (pep_subsystem == 1) {\n      pcVar4 = "NtProcessStartup";\n    }\n    else {\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }" if (parenthesized_expression "(pep_subsystem == 1)" ( (binary_expression "pep_subsystem == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = "NtProcessStartup";\n    }" { (expression_statement "pcVar4 = "NtProcessStartup";" (assignment_expression "pcVar4 = "NtProcessStartup"" identifier = (string_literal ""NtProcessStartup"" " string_content ")) ;) }) (else_clause "else {\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }" else (compound_statement "{\n      pcVar4 = "WinMainCRTStartup";\n      piVar1 = (int *)v_12427;\n      do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);\n      pcVar4 = "mainCRTStartup";\n    }" { (expression_statement "pcVar4 = "WinMainCRTStartup";" (assignment_expression "pcVar4 = "WinMainCRTStartup"" identifier = (string_literal ""WinMainCRTStartup"" " string_content ")) ;) (expression_statement "piVar1 = (int *)v_12427;" (assignment_expression "piVar1 = (int *)v_12427" identifier = (cast_expression "(int *)v_12427" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (pcVar4 != (char *)0x0);" do (compound_statement "{\n        if (piVar1[2] == pep_subsystem) goto LAB_000540d8;\n        pcVar4 = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      }" { (if_statement "if (piVar1[2] == pep_subsystem) goto LAB_000540d8;" if (parenthesized_expression "(piVar1[2] == pep_subsystem)" ( (binary_expression "piVar1[2] == pep_subsystem" (subscript_expression "piVar1[2]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_000540d8;" goto statement_identifier ;)) (expression_statement "pcVar4 = (char *)piVar1[5];" (assignment_expression "pcVar4 = (char *)piVar1[5]" identifier = (cast_expression "(char *)piVar1[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar1[5]" identifier [ number_literal ]))) ;) (expression_statement "piVar1 = piVar1 + 2;" (assignment_expression "piVar1 = piVar1 + 2" identifier = (binary_expression "piVar1 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pcVar4 = "mainCRTStartup";" (assignment_expression "pcVar4 = "mainCRTStartup"" identifier = (string_literal ""mainCRTStartup"" " string_content ")) ;) }))) })) (labeled_statement "LAB_000540d8:\n  iVar2 = is_underscoring();" statement_identifier : (expression_statement "iVar2 = is_underscoring();" (assignment_expression "iVar2 = is_underscoring()" identifier = (call_expression "is_underscoring()" identifier (argument_list "()" ( )))) ;)) (expression_statement "name = pcVar4;" (assignment_expression "name = pcVar4" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n    sVar3 = strlen(pcVar4);\n    name = (char *)xmalloc(sVar3 + 2);\n    *name = '_';\n    strcpy(name + 1,pcVar4);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    sVar3 = strlen(pcVar4);\n    name = (char *)xmalloc(sVar3 + 2);\n    *name = '_';\n    strcpy(name + 1,pcVar4);\n  }" { (expression_statement "sVar3 = strlen(pcVar4);" (assignment_expression "sVar3 = strlen(pcVar4)" identifier = (call_expression "strlen(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "name = (char *)xmalloc(sVar3 + 2);" (assignment_expression "name = (char *)xmalloc(sVar3 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 2)" identifier (argument_list "(sVar3 + 2)" ( (binary_expression "sVar3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*name = '_';" (assignment_expression "*name = '_'" (pointer_expression "*name" * identifier) = (char_literal "'_'" ' character ')) ;) (expression_statement "strcpy(name + 1,pcVar4);" (call_expression "strcpy(name + 1,pcVar4)" identifier (argument_list "(name + 1,pcVar4)" ( (binary_expression "name + 1" identifier + number_literal) , identifier ))) ;) })) (expression_statement "lang_default_entry(name);" (call_expression "lang_default_entry(name)" identifier (argument_list "(name)" ( identifier ))) ;) (expression_statement "after_parse_default();" (call_expression "after_parse_default()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00054070(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}\n\n" (function_definition "void FUN_00054070(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}" primitive_type (function_declarator "FUN_00054070(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (if_statement "if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }" if (parenthesized_expression "((DAT_001d13e0 & 0x10) != 0)" ( (binary_expression "(DAT_001d13e0 & 0x10) != 0" (parenthesized_expression "(DAT_001d13e0 & 0x10)" ( (binary_expression "DAT_001d13e0 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }" { (expression_statement "uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);" (assignment_expression "uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" identifier = (call_expression "dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" identifier (argument_list "(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" ( number_literal , (string_literal ""%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d20(uVar5);" (call_expression "FUN_00034d20(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) })) (expression_statement "__s = "DllMainCRTStartup";" (assignment_expression "__s = "DllMainCRTStartup"" identifier = (string_literal ""DllMainCRTStartup"" " string_content ")) ;) (if_statement "if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }" if (parenthesized_expression "(((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0))" ( (binary_expression "((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)" (parenthesized_expression "((DAT_001d13e0 & 1) == 0)" ( (binary_expression "(DAT_001d13e0 & 1) == 0" (parenthesized_expression "(DAT_001d13e0 & 1)" ( (binary_expression "DAT_001d13e0 & 1" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(DAT_001d0e08 == 0)" ( (binary_expression "DAT_001d0e08 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }" { (if_statement "if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" if (parenthesized_expression "(DAT_001cfc74 == 1)" ( (binary_expression "DAT_001cfc74 == 1" identifier == number_literal) )) (compound_statement "{\n      __s = "NtProcessStartup";\n    }" { (expression_statement "__s = "NtProcessStartup";" (assignment_expression "__s = "NtProcessStartup"" identifier = (string_literal ""NtProcessStartup"" " string_content ")) ;) }) (else_clause "else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" else (compound_statement "{\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" { (expression_statement "__s = "WinMainCRTStartup";" (assignment_expression "__s = "WinMainCRTStartup"" identifier = (string_literal ""WinMainCRTStartup"" " string_content ")) ;) (expression_statement "piVar1 = (int *)&DAT_001ce040;" (assignment_expression "piVar1 = (int *)&DAT_001ce040" identifier = (cast_expression "(int *)&DAT_001ce040" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_001ce040" & identifier))) ;) (do_statement "do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);" do (compound_statement "{\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      }" { (if_statement "if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;" if (parenthesized_expression "(piVar1[2] == DAT_001cfc74)" ( (binary_expression "piVar1[2] == DAT_001cfc74" (subscript_expression "piVar1[2]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_000540d8;" goto statement_identifier ;)) (expression_statement "__s = (char *)piVar1[5];" (assignment_expression "__s = (char *)piVar1[5]" identifier = (cast_expression "(char *)piVar1[5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar1[5]" identifier [ number_literal ]))) ;) (expression_statement "piVar1 = piVar1 + 2;" (assignment_expression "piVar1 = piVar1 + 2" identifier = (binary_expression "piVar1 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "__s = "mainCRTStartup";" (assignment_expression "__s = "mainCRTStartup"" identifier = (string_literal ""mainCRTStartup"" " string_content ")) ;) }))) })) (labeled_statement "LAB_000540d8:\n  iVar2 = FUN_00052dd0();" statement_identifier : (expression_statement "iVar2 = FUN_00052dd0();" (assignment_expression "iVar2 = FUN_00052dd0()" identifier = (call_expression "FUN_00052dd0()" identifier (argument_list "()" ( )))) ;)) (expression_statement "pcVar4 = __s;" (assignment_expression "pcVar4 = __s" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }" { (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)xmalloc(sVar3 + 2);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar3 + 2)" identifier = (cast_expression "(char *)xmalloc(sVar3 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(sVar3 + 2)" identifier (argument_list "(sVar3 + 2)" ( (binary_expression "sVar3 + 2" identifier + number_literal) ))))) ;) (expression_statement "*pcVar4 = '_';" (assignment_expression "*pcVar4 = '_'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'_'" ' character ')) ;) (expression_statement "strcpy(pcVar4 + 1,__s);" (call_expression "strcpy(pcVar4 + 1,__s)" identifier (argument_list "(pcVar4 + 1,__s)" ( (binary_expression "pcVar4 + 1" identifier + number_literal) , identifier ))) ;) })) (expression_statement "FUN_00029410(pcVar4);" (call_expression "FUN_00029410(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "FUN_00033850();" (call_expression "FUN_00033850()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00054070(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00054070(void)" (identifier "FUN_00054070") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  size_t sVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *__s;\n  \n  if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }\n  __s = "DllMainCRTStartup";\n  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }\nLAB_000540d8:\n  iVar2 = FUN_00052dd0();\n  pcVar4 = __s;\n  if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }\n  FUN_00029410(pcVar4);\n  FUN_00033850();\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (if_statement "if ((DAT_001d13e0 & 0x10) != 0) {\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }" (if "if") (parenthesized_expression "((DAT_001d13e0 & 0x10) != 0)" (( "(") (binary_expression "(DAT_001d13e0 & 0x10) != 0" (parenthesized_expression "(DAT_001d13e0 & 0x10)" (( "(") (binary_expression "DAT_001d13e0 & 0x10" (identifier "DAT_001d13e0") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);\n    FUN_00034d20(uVar5);\n  }" ({ "{") (expression_statement "uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5);" (assignment_expression "uVar5 = dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" (identifier "dcgettext") (argument_list "(0,\n                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"\n                      ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"" (" """) (string_content "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d20(uVar5);" (call_expression "FUN_00034d20(uVar5)" (identifier "FUN_00034d20") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "__s = "DllMainCRTStartup";" (assignment_expression "__s = "DllMainCRTStartup"" (identifier "__s") (= "=") (string_literal ""DllMainCRTStartup"" (" """) (string_content "DllMainCRTStartup") (" """))) (; ";")) (if_statement "if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }" (if "if") (parenthesized_expression "(((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0))" (( "(") (binary_expression "((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)" (parenthesized_expression "((DAT_001d13e0 & 1) == 0)" (( "(") (binary_expression "(DAT_001d13e0 & 1) == 0" (parenthesized_expression "(DAT_001d13e0 & 1)" (( "(") (binary_expression "DAT_001d13e0 & 1" (identifier "DAT_001d13e0") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_001d0e08 == 0)" (( "(") (binary_expression "DAT_001d0e08 == 0" (identifier "DAT_001d0e08") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }\n  }" ({ "{") (if_statement "if (DAT_001cfc74 == 1) {\n      __s = "NtProcessStartup";\n    }\n    else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" (if "if") (parenthesized_expression "(DAT_001cfc74 == 1)" (( "(") (binary_expression "DAT_001cfc74 == 1" (identifier "DAT_001cfc74") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      __s = "NtProcessStartup";\n    }" ({ "{") (expression_statement "__s = "NtProcessStartup";" (assignment_expression "__s = "NtProcessStartup"" (identifier "__s") (= "=") (string_literal ""NtProcessStartup"" (" """) (string_content "NtProcessStartup") (" """))) (; ";")) (} "}")) (else_clause "else {\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" (else "else") (compound_statement "{\n      __s = "WinMainCRTStartup";\n      piVar1 = (int *)&DAT_001ce040;\n      do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);\n      __s = "mainCRTStartup";\n    }" ({ "{") (expression_statement "__s = "WinMainCRTStartup";" (assignment_expression "__s = "WinMainCRTStartup"" (identifier "__s") (= "=") (string_literal ""WinMainCRTStartup"" (" """) (string_content "WinMainCRTStartup") (" """))) (; ";")) (expression_statement "piVar1 = (int *)&DAT_001ce040;" (assignment_expression "piVar1 = (int *)&DAT_001ce040" (identifier "piVar1") (= "=") (cast_expression "(int *)&DAT_001ce040" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_001ce040" (& "&") (identifier "DAT_001ce040")))) (; ";")) (do_statement "do {\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      } while (__s != (char *)0x0);" (do "do") (compound_statement "{\n        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;\n        __s = (char *)piVar1[5];\n        piVar1 = piVar1 + 2;\n      }" ({ "{") (if_statement "if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;" (if "if") (parenthesized_expression "(piVar1[2] == DAT_001cfc74)" (( "(") (binary_expression "piVar1[2] == DAT_001cfc74" (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]")) (== "==") (identifier "DAT_001cfc74")) () ")")) (goto_statement "goto LAB_000540d8;" (goto "goto") (statement_identifier "LAB_000540d8") (; ";"))) (expression_statement "__s = (char *)piVar1[5];" (assignment_expression "__s = (char *)piVar1[5]" (identifier "__s") (= "=") (cast_expression "(char *)piVar1[5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar1[5]" (identifier "piVar1") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "piVar1 = piVar1 + 2;" (assignment_expression "piVar1 = piVar1 + 2" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 2" (identifier "piVar1") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(__s != (char *)0x0)" (( "(") (binary_expression "__s != (char *)0x0" (identifier "__s") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "__s = "mainCRTStartup";" (assignment_expression "__s = "mainCRTStartup"" (identifier "__s") (= "=") (string_literal ""mainCRTStartup"" (" """) (string_content "mainCRTStartup") (" """))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_000540d8:\n  iVar2 = FUN_00052dd0();" (statement_identifier "LAB_000540d8") (: ":") (expression_statement "iVar2 = FUN_00052dd0();" (assignment_expression "iVar2 = FUN_00052dd0()" (identifier "iVar2") (= "=") (call_expression "FUN_00052dd0()" (identifier "FUN_00052dd0") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "pcVar4 = __s;" (assignment_expression "pcVar4 = __s" (identifier "pcVar4") (= "=") (identifier "__s")) (; ";")) (if_statement "if (iVar2 != 0) {\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    sVar3 = strlen(__s);\n    pcVar4 = (char *)xmalloc(sVar3 + 2);\n    *pcVar4 = '_';\n    strcpy(pcVar4 + 1,__s);\n  }" ({ "{") (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" (identifier "sVar3") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "pcVar4 = (char *)xmalloc(sVar3 + 2);" (assignment_expression "pcVar4 = (char *)xmalloc(sVar3 + 2)" (identifier "pcVar4") (= "=") (cast_expression "(char *)xmalloc(sVar3 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xmalloc(sVar3 + 2)" (identifier "xmalloc") (argument_list "(sVar3 + 2)" (( "(") (binary_expression "sVar3 + 2" (identifier "sVar3") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*pcVar4 = '_';" (assignment_expression "*pcVar4 = '_'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'_'" (' "'") (character "_") (' "'"))) (; ";")) (expression_statement "strcpy(pcVar4 + 1,__s);" (call_expression "strcpy(pcVar4 + 1,__s)" (identifier "strcpy") (argument_list "(pcVar4 + 1,__s)" (( "(") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1")) (, ",") (identifier "__s") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00029410(pcVar4);" (call_expression "FUN_00029410(pcVar4)" (identifier "FUN_00029410") (argument_list "(pcVar4)" (( "(") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "FUN_00033850();" (call_expression "FUN_00033850()" (identifier "FUN_00033850") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  int *var_5;
  int var_8;
  size_t var_11;
  char *var_13;
  char *var_6;
  
  if ((link_info._0_1_ & 0x10) != 0) {
    var_6 = (char *)var_1(0,
                               "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"
                               ,5);
    var_2(var_6);
  }
  var_6 = "DllMainCRTStartup";
  if (((link_info._0_1_ & 1) == 0) && (var_3 == 0)) {
    if (var_4 == 1) {
      var_6 = "NtProcessStartup";
    }
    else {
      var_6 = "WinMainCRTStartup";
      var_5 = (int *)v_12427;
      do {
        if (var_5[2] == var_4) goto LAB_000540d8;
        var_6 = (char *)var_5[5];
        var_5 = var_5 + 2;
      } while (var_6 != (char *)0x0);
      var_6 = "mainCRTStartup";
    }
  }
LAB_000540d8:
  var_8 = var_7();
  var_13 = var_6;
  if (var_8 != 0) {
    var_11 = var_9(var_6);
    var_13 = (char *)var_10(var_11 + 2);
    *var_13 = '_';
    var_12(var_13 + 1,var_6);
  }
  var_14(var_13);
  var_15();
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (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))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(void)

{
  int *piVar1;
  int iVar2;
  size_t sVar3;
  char *pcVar4;
  undefined4 uVar5;
  char *__s;
  
  if ((DAT_001d13e0 & 0x10) != 0) {
    uVar5 = dcgettext(0,
                      "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?\n"
                      ,5);
    FUN_00034d20(uVar5);
  }
  __s = "DllMainCRTStartup";
  if (((DAT_001d13e0 & 1) == 0) && (DAT_001d0e08 == 0)) {
    if (DAT_001cfc74 == 1) {
      __s = "NtProcessStartup";
    }
    else {
      __s = "WinMainCRTStartup";
      piVar1 = (int *)&DAT_001ce040;
      do {
        if (piVar1[2] == DAT_001cfc74) goto LAB_000540d8;
        __s = (char *)piVar1[5];
        piVar1 = piVar1 + 2;
      } while (__s != (char *)0x0);
      __s = "mainCRTStartup";
    }
  }
LAB_000540d8:
  iVar2 = FUN_00052dd0();
  pcVar4 = __s;
  if (iVar2 != 0) {
    sVar3 = strlen(__s);
    pcVar4 = (char *)xmalloc(sVar3 + 2);
    *pcVar4 = '_';
    strcpy(pcVar4 + 1,__s);
  }
  FUN_00029410(pcVar4);
  FUN_00033850();
  return;
}

