
/* 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_i386pe_finish(void)

{
  int iVar1;
  
  finish_default();
  if (((link_info._0_1_ & 1) != 0) ||
     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)))) {
    pe_dll_fill_sections(link_info.output_bfd,&link_info);
    if (command_line.out_implib_filename != (char *)0x0) {
      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);
    }
  }
  if (pe_out_def_filename != (char *)0x0) {
    pe_dll_generate_def_file(pe_out_def_filename);
  }
  iVar1 = bfd_get_section_by_name(link_info.output_bfd,".idata");
  if (iVar1 != 0) {
    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;
  }
  return;
}



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

void FUN_00055a40(void)

{
  int iVar1;
  
  FUN_000339b0();
  if (((DAT_001d13e0 & 1) != 0) ||
     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {
    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);
    if (DAT_001d14a0 != 0) {
      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);
    }
  }
  if (DAT_001d0f98 != 0) {
    FUN_00063fa0(DAT_001d0f98);
  }
  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");
  if (iVar1 != 0) {
    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;
  }
  return;
}


PUSH ESI
PUSH EBX
CALL 0x00017b80
ADD EBX,0x1795b9
SUB ESP,0x4
CALL 0x000339b0
LEA ESI,[EBX + 0x23e0]
MOVZX EAX,byte ptr [ESI]
TEST AL,0x1
JNZ 0x00055ac0
AND EAX,0x3
CMP AL,0x2
JZ 0x00055a78
LEA EAX,[EBX + 0x2218]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x2c]
TEST EAX,EAX
JNZ 0x00055ac0
MOV EAX,dword ptr [EBX + 0x1f98]
TEST EAX,EAX
JZ 0x00055a8e
SUB ESP,0xc
PUSH EAX
CALL 0x00063fa0
ADD ESP,0x10
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc4cd0]
PUSH EAX
PUSH dword ptr [ESI + 0x34]
CALL 0x00016540
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00055ab3
MOV EDX,dword ptr [EAX + 0x14]
AND EDX,0xffffffef
OR EDX,0x20
MOV dword ptr [EAX + 0x14],EDX
ADD ESP,0x4
POP EBX
POP ESI
RET
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [ESI + 0x34]
CALL 0x00067ca0
LEA EAX,[EBX + 0x2480]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x20]
TEST EAX,EAX
JZ 0x00055a78
SUB ESP,0x4
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x2218]
PUSH dword ptr [EAX]
CALL 0x00065220
ADD ESP,0x10
JMP 0x00055a78
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00055a40(void)\n\n{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00055a40(void)\n\n{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00055a40(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "FUN_000339b0();" (call_expression "FUN_000339b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }" if (parenthesized_expression "(((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0))))" ( (binary_expression "((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 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_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))" ( (parenthesized_expression "((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0))" ( (binary_expression "(DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)" (binary_expression "(DAT_001d13e0 & 3) != 2" (parenthesized_expression "(DAT_001d13e0 & 3)" ( (binary_expression "DAT_001d13e0 & 3" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(*(int *)(DAT_001d1218 + 0x2c) != 0)" ( (binary_expression "*(int *)(DAT_001d1218 + 0x2c) != 0" (pointer_expression "*(int *)(DAT_001d1218 + 0x2c)" * (cast_expression "(int *)(DAT_001d1218 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1218 + 0x2c)" ( (binary_expression "DAT_001d1218 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) ))) )) (compound_statement "{\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }" { (expression_statement "FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_00067ca0(DAT_001d1414,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1414,&DAT_001d13e0)" ( identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) (if_statement "if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }" if (parenthesized_expression "(DAT_001d14a0 != 0)" ( (binary_expression "DAT_001d14a0 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }" { (expression_statement "FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);" (call_expression "FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0)" ( identifier , identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) })) })) (if_statement "if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }" if (parenthesized_expression "(DAT_001d0f98 != 0)" ( (binary_expression "DAT_001d0f98 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00063fa0(DAT_001d0f98);\n  }" { (expression_statement "FUN_00063fa0(DAT_001d0f98);" (call_expression "FUN_00063fa0(DAT_001d0f98)" identifier (argument_list "(DAT_001d0f98)" ( identifier ))) ;) })) (expression_statement "iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");" (assignment_expression "iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata")" identifier = (call_expression "bfd_get_section_by_name(DAT_001d1414,".idata")" identifier (argument_list "(DAT_001d1414,".idata")" ( identifier , (string_literal "".idata"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" { (expression_statement "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;" (assignment_expression "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (pointer_expression "*(uint *)(iVar1 + 0x14)" * (cast_expression "(uint *)(iVar1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef" (pointer_expression "*(uint *)(iVar1 + 0x14)" * (cast_expression "(uint *)(iVar1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })) (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_i386pe_finish(void)\n\n{\n  int iVar1;\n  \n  finish_default();\n  if (((link_info._0_1_ & 1) != 0) ||\n     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)))) {\n    pe_dll_fill_sections(link_info.output_bfd,&link_info);\n    if (command_line.out_implib_filename != (char *)0x0) {\n      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);\n    }\n  }\n  if (pe_out_def_filename != (char *)0x0) {\n    pe_dll_generate_def_file(pe_out_def_filename);\n  }\n  iVar1 = bfd_get_section_by_name(link_info.output_bfd,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}\n\n" comment comment (function_definition "void gld_i386pe_finish(void)\n\n{\n  int iVar1;\n  \n  finish_default();\n  if (((link_info._0_1_ & 1) != 0) ||\n     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)))) {\n    pe_dll_fill_sections(link_info.output_bfd,&link_info);\n    if (command_line.out_implib_filename != (char *)0x0) {\n      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);\n    }\n  }\n  if (pe_out_def_filename != (char *)0x0) {\n    pe_dll_generate_def_file(pe_out_def_filename);\n  }\n  iVar1 = bfd_get_section_by_name(link_info.output_bfd,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" primitive_type (function_declarator "gld_i386pe_finish(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  finish_default();\n  if (((link_info._0_1_ & 1) != 0) ||\n     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)))) {\n    pe_dll_fill_sections(link_info.output_bfd,&link_info);\n    if (command_line.out_implib_filename != (char *)0x0) {\n      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);\n    }\n  }\n  if (pe_out_def_filename != (char *)0x0) {\n    pe_dll_generate_def_file(pe_out_def_filename);\n  }\n  iVar1 = bfd_get_section_by_name(link_info.output_bfd,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "finish_default();" (call_expression "finish_default()" identifier (argument_list "()" ( ))) ;) (if_statement "if (((link_info._0_1_ & 1) != 0) ||\n     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)))) {\n    pe_dll_fill_sections(link_info.output_bfd,&link_info);\n    if (command_line.out_implib_filename != (char *)0x0) {\n      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);\n    }\n  }" if (parenthesized_expression "(((link_info._0_1_ & 1) != 0) ||\n     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0))))" ( (binary_expression "((link_info._0_1_ & 1) != 0) ||\n     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 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 "(((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)))" ( (parenthesized_expression "((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0))" ( (binary_expression "(link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)" (binary_expression "(link_info._0_1_ & 3) != 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) != number_literal) && (parenthesized_expression "(pe_def_file->num_exports != 0)" ( (binary_expression "pe_def_file->num_exports != 0" (field_expression "pe_def_file->num_exports" identifier -> field_identifier) != number_literal) ))) )) ))) )) (compound_statement "{\n    pe_dll_fill_sections(link_info.output_bfd,&link_info);\n    if (command_line.out_implib_filename != (char *)0x0) {\n      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);\n    }\n  }" { (expression_statement "pe_dll_fill_sections(link_info.output_bfd,&link_info);" (call_expression "pe_dll_fill_sections(link_info.output_bfd,&link_info)" identifier (argument_list "(link_info.output_bfd,&link_info)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , (pointer_expression "&link_info" & identifier) ))) ;) (if_statement "if (command_line.out_implib_filename != (char *)0x0) {\n      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);\n    }" if (parenthesized_expression "(command_line.out_implib_filename != (char *)0x0)" ( (binary_expression "command_line.out_implib_filename != (char *)0x0" (field_expression "command_line.out_implib_filename" identifier . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);\n    }" { (expression_statement "pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info);" (call_expression "pe_dll_generate_implib(pe_def_file,command_line.out_implib_filename,&link_info)" identifier (argument_list "(pe_def_file,command_line.out_implib_filename,&link_info)" ( identifier , (field_expression "command_line.out_implib_filename" identifier . field_identifier) , (pointer_expression "&link_info" & identifier) ))) ;) })) })) (if_statement "if (pe_out_def_filename != (char *)0x0) {\n    pe_dll_generate_def_file(pe_out_def_filename);\n  }" if (parenthesized_expression "(pe_out_def_filename != (char *)0x0)" ( (binary_expression "pe_out_def_filename != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pe_dll_generate_def_file(pe_out_def_filename);\n  }" { (expression_statement "pe_dll_generate_def_file(pe_out_def_filename);" (call_expression "pe_dll_generate_def_file(pe_out_def_filename)" identifier (argument_list "(pe_out_def_filename)" ( identifier ))) ;) })) (expression_statement "iVar1 = bfd_get_section_by_name(link_info.output_bfd,".idata");" (assignment_expression "iVar1 = bfd_get_section_by_name(link_info.output_bfd,".idata")" identifier = (call_expression "bfd_get_section_by_name(link_info.output_bfd,".idata")" identifier (argument_list "(link_info.output_bfd,".idata")" ( (field_expression "link_info.output_bfd" identifier . field_identifier) , (string_literal "".idata"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" { (expression_statement "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;" (assignment_expression "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (pointer_expression "*(uint *)(iVar1 + 0x14)" * (cast_expression "(uint *)(iVar1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef" (pointer_expression "*(uint *)(iVar1 + 0x14)" * (cast_expression "(uint *)(iVar1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00055a40(void)\n\n{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00055a40(void)\n\n{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00055a40(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "FUN_000339b0();" (call_expression "FUN_000339b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }" if (parenthesized_expression "(((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0))))" ( (binary_expression "((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 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_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))" ( (parenthesized_expression "((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0))" ( (binary_expression "(DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)" (binary_expression "(DAT_001d13e0 & 3) != 2" (parenthesized_expression "(DAT_001d13e0 & 3)" ( (binary_expression "DAT_001d13e0 & 3" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(*(int *)(DAT_001d1218 + 0x2c) != 0)" ( (binary_expression "*(int *)(DAT_001d1218 + 0x2c) != 0" (pointer_expression "*(int *)(DAT_001d1218 + 0x2c)" * (cast_expression "(int *)(DAT_001d1218 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001d1218 + 0x2c)" ( (binary_expression "DAT_001d1218 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) ))) )) (compound_statement "{\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }" { (expression_statement "FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_00067ca0(DAT_001d1414,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1414,&DAT_001d13e0)" ( identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) (if_statement "if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }" if (parenthesized_expression "(DAT_001d14a0 != 0)" ( (binary_expression "DAT_001d14a0 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }" { (expression_statement "FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);" (call_expression "FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0)" identifier (argument_list "(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0)" ( identifier , identifier , (pointer_expression "&DAT_001d13e0" & identifier) ))) ;) })) })) (if_statement "if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }" if (parenthesized_expression "(DAT_001d0f98 != 0)" ( (binary_expression "DAT_001d0f98 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00063fa0(DAT_001d0f98);\n  }" { (expression_statement "FUN_00063fa0(DAT_001d0f98);" (call_expression "FUN_00063fa0(DAT_001d0f98)" identifier (argument_list "(DAT_001d0f98)" ( identifier ))) ;) })) (expression_statement "iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");" (assignment_expression "iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata")" identifier = (call_expression "bfd_get_section_by_name(DAT_001d1414,".idata")" identifier (argument_list "(DAT_001d1414,".idata")" ( identifier , (string_literal "".idata"" " string_content ") )))) ;) (if_statement "if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" { (expression_statement "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;" (assignment_expression "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (pointer_expression "*(uint *)(iVar1 + 0x14)" * (cast_expression "(uint *)(iVar1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef" (pointer_expression "*(uint *)(iVar1 + 0x14)" * (cast_expression "(uint *)(iVar1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00055a40(void)\n\n{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00055a40(void)" (identifier "FUN_00055a40") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  FUN_000339b0();\n  if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }\n  if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }\n  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");\n  if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (expression_statement "FUN_000339b0();" (call_expression "FUN_000339b0()" (identifier "FUN_000339b0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }" (if "if") (parenthesized_expression "(((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0))))" (( "(") (binary_expression "((DAT_001d13e0 & 1) != 0) ||\n     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 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_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))" (( "(") (parenthesized_expression "((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0))" (( "(") (binary_expression "(DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)" (binary_expression "(DAT_001d13e0 & 3) != 2" (parenthesized_expression "(DAT_001d13e0 & 3)" (( "(") (binary_expression "DAT_001d13e0 & 3" (identifier "DAT_001d13e0") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) (&& "&&") (parenthesized_expression "(*(int *)(DAT_001d1218 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(DAT_001d1218 + 0x2c) != 0" (pointer_expression "*(int *)(DAT_001d1218 + 0x2c)" (* "*") (cast_expression "(int *)(DAT_001d1218 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001d1218 + 0x2c)" (( "(") (binary_expression "DAT_001d1218 + 0x2c" (identifier "DAT_001d1218") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);\n    if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }\n  }" ({ "{") (expression_statement "FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);" (call_expression "FUN_00067ca0(DAT_001d1414,&DAT_001d13e0)" (identifier "FUN_00067ca0") (argument_list "(DAT_001d1414,&DAT_001d13e0)" (( "(") (identifier "DAT_001d1414") (, ",") (pointer_expression "&DAT_001d13e0" (& "&") (identifier "DAT_001d13e0")) () ")"))) (; ";")) (if_statement "if (DAT_001d14a0 != 0) {\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }" (if "if") (parenthesized_expression "(DAT_001d14a0 != 0)" (( "(") (binary_expression "DAT_001d14a0 != 0" (identifier "DAT_001d14a0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);\n    }" ({ "{") (expression_statement "FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);" (call_expression "FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0)" (identifier "FUN_00065220") (argument_list "(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0)" (( "(") (identifier "DAT_001d1218") (, ",") (identifier "DAT_001d14a0") (, ",") (pointer_expression "&DAT_001d13e0" (& "&") (identifier "DAT_001d13e0")) () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (DAT_001d0f98 != 0) {\n    FUN_00063fa0(DAT_001d0f98);\n  }" (if "if") (parenthesized_expression "(DAT_001d0f98 != 0)" (( "(") (binary_expression "DAT_001d0f98 != 0" (identifier "DAT_001d0f98") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00063fa0(DAT_001d0f98);\n  }" ({ "{") (expression_statement "FUN_00063fa0(DAT_001d0f98);" (call_expression "FUN_00063fa0(DAT_001d0f98)" (identifier "FUN_00063fa0") (argument_list "(DAT_001d0f98)" (( "(") (identifier "DAT_001d0f98") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");" (assignment_expression "iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata")" (identifier "iVar1") (= "=") (call_expression "bfd_get_section_by_name(DAT_001d1414,".idata")" (identifier "bfd_get_section_by_name") (argument_list "(DAT_001d1414,".idata")" (( "(") (identifier "DAT_001d1414") (, ",") (string_literal "".idata"" (" """) (string_content ".idata") (" """)) () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;\n  }" ({ "{") (expression_statement "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;" (assignment_expression "*(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (pointer_expression "*(uint *)(iVar1 + 0x14)" (* "*") (cast_expression "(uint *)(iVar1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20" (binary_expression "*(uint *)(iVar1 + 0x14) & 0xffffffef" (pointer_expression "*(uint *)(iVar1 + 0x14)" (* "*") (cast_expression "(uint *)(iVar1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (& "&") (number_literal "0xffffffef")) (| "|") (number_literal "0x20"))) (; ";")) (} "}"))) (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_7;
  
  var_1();
  if (((link_info._0_1_ & 1) != 0) ||
     (((link_info._0_1_ & 3) != 2 && (pe_def_file->num_exports != 0)))) {
    var_2(link_info.output_bfd,&link_info);
    if (command_line.out_implib_filename != (char *)0x0) {
      var_3(pe_def_file,command_line.out_implib_filename,&link_info);
    }
  }
  if (var_4 != (char *)0x0) {
    var_5(var_4);
  }
  var_7 = var_6(link_info.output_bfd,".idata");
  if (var_7 != 0) {
    *(type_1 *)(var_7 + 0x14) = *(type_1 *)(var_7 + 0x14) & 0xffffffef | 0x20;
  }
  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: (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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 (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal)))))) (return_statement))))

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

void MASKED(void)

{
  int iVar1;
  
  FUN_000339b0();
  if (((DAT_001d13e0 & 1) != 0) ||
     (((DAT_001d13e0 & 3) != 2 && (*(int *)(DAT_001d1218 + 0x2c) != 0)))) {
    FUN_00067ca0(DAT_001d1414,&DAT_001d13e0);
    if (DAT_001d14a0 != 0) {
      FUN_00065220(DAT_001d1218,DAT_001d14a0,&DAT_001d13e0);
    }
  }
  if (DAT_001d0f98 != 0) {
    FUN_00063fa0(DAT_001d0f98);
  }
  iVar1 = bfd_get_section_by_name(DAT_001d1414,".idata");
  if (iVar1 != 0) {
    *(uint *)(iVar1 + 0x14) = *(uint *)(iVar1 + 0x14) & 0xffffffef | 0x20;
  }
  return;
}

