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

void __regparm3 relax_inc_line_addr(int line_delta,symbolS *to_sym,symbolS *from_sym)

{
  size_t max_chars;
  symbolS *symbol;
  addressT in_stack_ffffffd4;
  expressionS exp;
  
  exp._16_2_ = 0xa714;
  exp.X_md = 1;
  exp.X_add_number._0_4_ = 0;
  exp.X_add_number._4_4_ = 0;
  exp.X_add_symbol = to_sym;
  exp.X_op_symbol = from_sym;
  if (linkrelax == 0) {
    max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4);
  }
  else {
    max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);
  }
  symbol = make_expr_symbol(&exp);
  frag_var(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(longlong)line_delta,(char *)0x0);
  return;
}



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

void __regparm3 FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)

{
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 local_20;
  undefined4 local_1c;
  undefined4 local_18;
  undefined4 local_14;
  undefined4 local_10;
  
  local_10 = 0x1a714;
  local_18 = 0;
  local_14 = 0;
  local_20 = param_2;
  local_1c = param_3;
  if (DAT_00077d00 == 0) {
    uVar1 = FUN_0001a650();
  }
  else {
    uVar1 = FUN_0001a3b0();
  }
  uVar2 = FUN_00021420(&local_20);
  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);
  return;
}


PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00016090
ADD EBX,0x54896
SUB ESP,0x20
MOV dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x10],ECX
MOV byte ptr [ESP + 0x1c],0x14
LEA EAX,[EBX + 0x9070]
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x18],0x0
MOV EDX,dword ptr [EAX]
LEA EAX,[EBX + 0x8d00]
NEG EDX
MOV EAX,dword ptr [EAX]
MOV ECX,EDX
SAR ECX,0x1f
TEST EAX,EAX
MOV EAX,ESI
JZ 0x0001a7e0
CALL 0x0001a3b0
MOV EDI,EAX
SUB ESP,0xc
LEA EAX,[ESP + 0x18]
PUSH EAX
CALL 0x00021420
MOV ECX,ESI
PUSH 0x0
SAR ECX,0x1f
PUSH ECX
PUSH ESI
PUSH EAX
PUSH 0x1
PUSH EDI
PUSH EDI
PUSH 0xd
CALL 0x00024ad0
ADD ESP,0x50
POP EBX
POP ESI
POP EDI
RET
CALL 0x0001a650
MOV EDI,EAX
JMP 0x0001a7b4
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "undefined4 local_10;" type_identifier identifier ;) (expression_statement "local_10 = 0x1a714;" (assignment_expression "local_10 = 0x1a714" identifier = number_literal) ;) (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" identifier = number_literal) ;) (expression_statement "local_14 = 0;" (assignment_expression "local_14 = 0" identifier = number_literal) ;) (expression_statement "local_20 = param_2;" (assignment_expression "local_20 = param_2" identifier = identifier) ;) (expression_statement "local_1c = param_3;" (assignment_expression "local_1c = param_3" identifier = identifier) ;) (if_statement "if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }" if (parenthesized_expression "(DAT_00077d00 == 0)" ( (binary_expression "DAT_00077d00 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar1 = FUN_0001a650();\n  }" { (expression_statement "uVar1 = FUN_0001a650();" (assignment_expression "uVar1 = FUN_0001a650()" identifier = (call_expression "FUN_0001a650()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n    uVar1 = FUN_0001a3b0();\n  }" else (compound_statement "{\n    uVar1 = FUN_0001a3b0();\n  }" { (expression_statement "uVar1 = FUN_0001a3b0();" (assignment_expression "uVar1 = FUN_0001a3b0()" identifier = (call_expression "FUN_0001a3b0()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "uVar2 = FUN_00021420(&local_20);" (assignment_expression "uVar2 = FUN_00021420(&local_20)" identifier = (call_expression "FUN_00021420(&local_20)" identifier (argument_list "(&local_20)" ( (pointer_expression "&local_20" & identifier) )))) ;) (expression_statement "FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);" (call_expression "FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0)" identifier (argument_list "(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0)" ( number_literal , identifier , identifier , number_literal , identifier , identifier , (binary_expression "param_1 >> 0x1f" identifier >> 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\nvoid __regparm3 relax_inc_line_addr(int line_delta,symbolS *to_sym,symbolS *from_sym)\n\n{\n  size_t max_chars;\n  symbolS *symbol;\n  addressT in_stack_ffffffd4;\n  expressionS exp;\n  \n  exp._16_2_ = 0xa714;\n  exp.X_md = 1;\n  exp.X_add_number._0_4_ = 0;\n  exp.X_add_number._4_4_ = 0;\n  exp.X_add_symbol = to_sym;\n  exp.X_op_symbol = from_sym;\n  if (linkrelax == 0) {\n    max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }\n  else {\n    max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }\n  symbol = make_expr_symbol(&exp);\n  frag_var(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(longlong)line_delta,(char *)0x0);\n  return;\n}\n\n" comment (function_definition "void __regparm3 relax_inc_line_addr(int line_delta,symbolS *to_sym,symbolS *from_sym)\n\n{\n  size_t max_chars;\n  symbolS *symbol;\n  addressT in_stack_ffffffd4;\n  expressionS exp;\n  \n  exp._16_2_ = 0xa714;\n  exp.X_md = 1;\n  exp.X_add_number._0_4_ = 0;\n  exp.X_add_number._4_4_ = 0;\n  exp.X_add_symbol = to_sym;\n  exp.X_op_symbol = from_sym;\n  if (linkrelax == 0) {\n    max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }\n  else {\n    max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }\n  symbol = make_expr_symbol(&exp);\n  frag_var(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(longlong)line_delta,(char *)0x0);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "relax_inc_line_addr(int line_delta,symbolS *to_sym,symbolS *from_sym)" identifier (parameter_list "(int line_delta,symbolS *to_sym,symbolS *from_sym)" ( (parameter_declaration "int line_delta" primitive_type identifier) , (parameter_declaration "symbolS *to_sym" type_identifier (pointer_declarator "*to_sym" * identifier)) , (parameter_declaration "symbolS *from_sym" type_identifier (pointer_declarator "*from_sym" * identifier)) ))) (compound_statement "{\n  size_t max_chars;\n  symbolS *symbol;\n  addressT in_stack_ffffffd4;\n  expressionS exp;\n  \n  exp._16_2_ = 0xa714;\n  exp.X_md = 1;\n  exp.X_add_number._0_4_ = 0;\n  exp.X_add_number._4_4_ = 0;\n  exp.X_add_symbol = to_sym;\n  exp.X_op_symbol = from_sym;\n  if (linkrelax == 0) {\n    max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }\n  else {\n    max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }\n  symbol = make_expr_symbol(&exp);\n  frag_var(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(longlong)line_delta,(char *)0x0);\n  return;\n}" { (declaration "size_t max_chars;" primitive_type identifier ;) (declaration "symbolS *symbol;" type_identifier (pointer_declarator "*symbol" * identifier) ;) (declaration "addressT in_stack_ffffffd4;" type_identifier identifier ;) (declaration "expressionS exp;" type_identifier identifier ;) (expression_statement "exp._16_2_ = 0xa714;" (assignment_expression "exp._16_2_ = 0xa714" (field_expression "exp._16_2_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_md = 1;" (assignment_expression "exp.X_md = 1" (field_expression "exp.X_md" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = to_sym;" (assignment_expression "exp.X_add_symbol = to_sym" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "exp.X_op_symbol = from_sym;" (assignment_expression "exp.X_op_symbol = from_sym" (field_expression "exp.X_op_symbol" identifier . field_identifier) = identifier) ;) (if_statement "if (linkrelax == 0) {\n    max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }\n  else {\n    max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }" if (parenthesized_expression "(linkrelax == 0)" ( (binary_expression "linkrelax == 0" identifier == number_literal) )) (compound_statement "{\n    max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }" { (expression_statement "max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4);" (assignment_expression "max_chars = size_inc_line_addr(line_delta,in_stack_ffffffd4)" identifier = (call_expression "size_inc_line_addr(line_delta,in_stack_ffffffd4)" identifier (argument_list "(line_delta,in_stack_ffffffd4)" ( identifier , identifier )))) ;) }) (else_clause "else {\n    max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }" else (compound_statement "{\n    max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);\n  }" { (expression_statement "max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4);" (assignment_expression "max_chars = size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4)" identifier = (call_expression "size_fixed_inc_line_addr(line_delta,in_stack_ffffffd4)" identifier (argument_list "(line_delta,in_stack_ffffffd4)" ( identifier , identifier )))) ;) }))) (expression_statement "symbol = make_expr_symbol(&exp);" (assignment_expression "symbol = make_expr_symbol(&exp)" identifier = (call_expression "make_expr_symbol(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) )))) ;) (expression_statement "frag_var(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(longlong)line_delta,(char *)0x0);" (call_expression "frag_var(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(longlong)line_delta,(char *)0x0)" identifier (argument_list "(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(longlong)line_delta,(char *)0x0)" ( identifier , identifier , identifier , number_literal , identifier , (cast_expression "(longlong)line_delta" ( (type_descriptor "longlong" type_identifier) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 local_1c;" type_identifier identifier ;) (declaration "undefined4 local_18;" type_identifier identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (declaration "undefined4 local_10;" type_identifier identifier ;) (expression_statement "local_10 = 0x1a714;" (assignment_expression "local_10 = 0x1a714" identifier = number_literal) ;) (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" identifier = number_literal) ;) (expression_statement "local_14 = 0;" (assignment_expression "local_14 = 0" identifier = number_literal) ;) (expression_statement "local_20 = param_2;" (assignment_expression "local_20 = param_2" identifier = identifier) ;) (expression_statement "local_1c = param_3;" (assignment_expression "local_1c = param_3" identifier = identifier) ;) (if_statement "if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }" if (parenthesized_expression "(DAT_00077d00 == 0)" ( (binary_expression "DAT_00077d00 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar1 = FUN_0001a650();\n  }" { (expression_statement "uVar1 = FUN_0001a650();" (assignment_expression "uVar1 = FUN_0001a650()" identifier = (call_expression "FUN_0001a650()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n    uVar1 = FUN_0001a3b0();\n  }" else (compound_statement "{\n    uVar1 = FUN_0001a3b0();\n  }" { (expression_statement "uVar1 = FUN_0001a3b0();" (assignment_expression "uVar1 = FUN_0001a3b0()" identifier = (call_expression "FUN_0001a3b0()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "uVar2 = FUN_00021420(&local_20);" (assignment_expression "uVar2 = FUN_00021420(&local_20)" identifier = (call_expression "FUN_00021420(&local_20)" identifier (argument_list "(&local_20)" ( (pointer_expression "&local_20" & identifier) )))) ;) (expression_statement "FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);" (call_expression "FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0)" identifier (argument_list "(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0)" ( number_literal , identifier , identifier , number_literal , identifier , identifier , (binary_expression "param_1 >> 0x1f" identifier >> number_literal) , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , LIT , IDENT , IDENT , (binary_expression IDENT >> LIT) , LIT ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)\n\n{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0001a760(int param_1,undefined4 param_2,undefined4 param_3)" (identifier "FUN_0001a760") (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 uVar2;\n  undefined4 local_20;\n  undefined4 local_1c;\n  undefined4 local_18;\n  undefined4 local_14;\n  undefined4 local_10;\n  \n  local_10 = 0x1a714;\n  local_18 = 0;\n  local_14 = 0;\n  local_20 = param_2;\n  local_1c = param_3;\n  if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }\n  uVar2 = FUN_00021420(&local_20);\n  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 local_1c;" (type_identifier "undefined4") (identifier "local_1c") (; ";")) (declaration "undefined4 local_18;" (type_identifier "undefined4") (identifier "local_18") (; ";")) (declaration "undefined4 local_14;" (type_identifier "undefined4") (identifier "local_14") (; ";")) (declaration "undefined4 local_10;" (type_identifier "undefined4") (identifier "local_10") (; ";")) (expression_statement "local_10 = 0x1a714;" (assignment_expression "local_10 = 0x1a714" (identifier "local_10") (= "=") (number_literal "0x1a714")) (; ";")) (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" (identifier "local_18") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_14 = 0;" (assignment_expression "local_14 = 0" (identifier "local_14") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = param_2;" (assignment_expression "local_20 = param_2" (identifier "local_20") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_1c = param_3;" (assignment_expression "local_1c = param_3" (identifier "local_1c") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (DAT_00077d00 == 0) {\n    uVar1 = FUN_0001a650();\n  }\n  else {\n    uVar1 = FUN_0001a3b0();\n  }" (if "if") (parenthesized_expression "(DAT_00077d00 == 0)" (( "(") (binary_expression "DAT_00077d00 == 0" (identifier "DAT_00077d00") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar1 = FUN_0001a650();\n  }" ({ "{") (expression_statement "uVar1 = FUN_0001a650();" (assignment_expression "uVar1 = FUN_0001a650()" (identifier "uVar1") (= "=") (call_expression "FUN_0001a650()" (identifier "FUN_0001a650") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    uVar1 = FUN_0001a3b0();\n  }" (else "else") (compound_statement "{\n    uVar1 = FUN_0001a3b0();\n  }" ({ "{") (expression_statement "uVar1 = FUN_0001a3b0();" (assignment_expression "uVar1 = FUN_0001a3b0()" (identifier "uVar1") (= "=") (call_expression "FUN_0001a3b0()" (identifier "FUN_0001a3b0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar2 = FUN_00021420(&local_20);" (assignment_expression "uVar2 = FUN_00021420(&local_20)" (identifier "uVar2") (= "=") (call_expression "FUN_00021420(&local_20)" (identifier "FUN_00021420") (argument_list "(&local_20)" (( "(") (pointer_expression "&local_20" (& "&") (identifier "local_20")) () ")")))) (; ";")) (expression_statement "FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);" (call_expression "FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0)" (identifier "FUN_00024ad0") (argument_list "(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0)" (( "(") (number_literal "0xd") (, ",") (identifier "uVar1") (, ",") (identifier "uVar1") (, ",") (number_literal "1") (, ",") (identifier "uVar2") (, ",") (identifier "param_1") (, ",") (binary_expression "param_1 >> 0x1f" (identifier "param_1") (>> ">>") (number_literal "0x1f")) (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void __regparm3 function_1(int line_delta,type_1 *to_sym,type_1 *from_sym)

{
  size_t max_chars;
  type_1 *symbol;
  type_2 in_stack_ffffffd4;
  type_3 exp;
  
  exp._16_2_ = 0xa714;
  exp.X_md = 1;
  exp.X_add_number._0_4_ = 0;
  exp.X_add_number._4_4_ = 0;
  exp.X_add_symbol = to_sym;
  exp.X_op_symbol = from_sym;
  if (var_1 == 0) {
    max_chars = var_2(line_delta,in_stack_ffffffd4);
  }
  else {
    max_chars = var_3(line_delta,in_stack_ffffffd4);
  }
  symbol = var_4(&exp);
  var_5(rs_dwarf2dbg,max_chars,max_chars,1,symbol,(type_4)line_delta,(char *)0x0);
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier) (number_literal) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (return_statement))))

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

void __regparm3 MASKED(int param_1,undefined4 param_2,undefined4 param_3)

{
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 local_20;
  undefined4 local_1c;
  undefined4 local_18;
  undefined4 local_14;
  undefined4 local_10;
  
  local_10 = 0x1a714;
  local_18 = 0;
  local_14 = 0;
  local_20 = param_2;
  local_1c = param_3;
  if (DAT_00077d00 == 0) {
    uVar1 = FUN_0001a650();
  }
  else {
    uVar1 = FUN_0001a3b0();
  }
  uVar2 = FUN_00021420(&local_20);
  FUN_00024ad0(0xd,uVar1,uVar1,1,uVar2,param_1,param_1 >> 0x1f,0);
  return;
}

