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

uint __regparm3 pe_get32(bfd *abfd,int where)

{
  uchar b [4];
  
  bfd_seek(abfd,where,where >> 0x1f,0);
  bfd_bread(b,4,0,abfd);
  return (uint)b[3] * 0x1000000 + (uint)(ushort)b._0_2_ + (uint)b[2] * 0x10000;
}



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

int __regparm3 FUN_000619e0(undefined4 param_1,int param_2)

{
  ushort local_10;
  byte local_e;
  byte local_d;
  undefined4 uStack_c;
  
  uStack_c = 0x619ec;
  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);
  bfd_bread(&local_10,4,0,param_1);
  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;
}


PUSH ESI
MOV ESI,EAX
MOV EAX,EDX
PUSH EBX
CDQ
CALL 0x00017b80
ADD EBX,0x16d614
SUB ESP,0x14
PUSH 0x0
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x00016da0
PUSH ESI
PUSH 0x0
PUSH 0x4
LEA EAX,[ESP + 0x28]
PUSH EAX
CALL 0x00016c60
MOVZX EDX,byte ptr [ESP + 0x2d]
MOVZX ECX,byte ptr [ESP + 0x2c]
MOVZX EAX,byte ptr [ESP + 0x2e]
SHL EDX,0x8
SHL EAX,0x10
ADD ECX,EDX
LEA EDX,[ECX + EAX*0x1]
MOVZX EAX,byte ptr [ESP + 0x2f]
ADD ESP,0x34
POP EBX
POP ESI
SHL EAX,0x18
ADD EAX,EDX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 FUN_000619e0(undefined4 param_1,int param_2)\n\n{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}\n\n" comment (function_definition "int __regparm3 FUN_000619e0(undefined4 param_1,int param_2)\n\n{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000619e0(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}" { (declaration "ushort local_10;" type_identifier identifier ;) (declaration "byte local_e;" type_identifier identifier ;) (declaration "byte local_d;" type_identifier identifier ;) (declaration "undefined4 uStack_c;" type_identifier identifier ;) (expression_statement "uStack_c = 0x619ec;" (assignment_expression "uStack_c = 0x619ec" identifier = number_literal) ;) (expression_statement "bfd_seek(param_1,param_2,param_2 >> 0x1f,0);" (call_expression "bfd_seek(param_1,param_2,param_2 >> 0x1f,0)" identifier (argument_list "(param_1,param_2,param_2 >> 0x1f,0)" ( identifier , identifier , (binary_expression "param_2 >> 0x1f" identifier >> number_literal) , number_literal ))) ;) (expression_statement "bfd_bread(&local_10,4,0,param_1);" (call_expression "bfd_bread(&local_10,4,0,param_1)" identifier (argument_list "(&local_10,4,0,param_1)" ( (pointer_expression "&local_10" & identifier) , number_literal , number_literal , identifier ))) ;) (return_statement "return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;" return (binary_expression "(uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000" (binary_expression "(uint)local_d * 0x1000000 + (uint)local_10" (binary_expression "(uint)local_d * 0x1000000" (cast_expression "(uint)local_d" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)local_10" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)local_e * 0x10000" (cast_expression "(uint)local_e" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 pe_get32(bfd *abfd,int where)\n\n{\n  uchar b [4];\n  \n  bfd_seek(abfd,where,where >> 0x1f,0);\n  bfd_bread(b,4,0,abfd);\n  return (uint)b[3] * 0x1000000 + (uint)(ushort)b._0_2_ + (uint)b[2] * 0x10000;\n}\n\n" comment (function_definition "uint __regparm3 pe_get32(bfd *abfd,int where)\n\n{\n  uchar b [4];\n  \n  bfd_seek(abfd,where,where >> 0x1f,0);\n  bfd_bread(b,4,0,abfd);\n  return (uint)b[3] * 0x1000000 + (uint)(ushort)b._0_2_ + (uint)b[2] * 0x10000;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "pe_get32(bfd *abfd,int where)" identifier (parameter_list "(bfd *abfd,int where)" ( (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) , (parameter_declaration "int where" primitive_type identifier) ))) (compound_statement "{\n  uchar b [4];\n  \n  bfd_seek(abfd,where,where >> 0x1f,0);\n  bfd_bread(b,4,0,abfd);\n  return (uint)b[3] * 0x1000000 + (uint)(ushort)b._0_2_ + (uint)b[2] * 0x10000;\n}" { (declaration "uchar b [4];" type_identifier (array_declarator "b [4]" identifier [ number_literal ]) ;) (expression_statement "bfd_seek(abfd,where,where >> 0x1f,0);" (call_expression "bfd_seek(abfd,where,where >> 0x1f,0)" identifier (argument_list "(abfd,where,where >> 0x1f,0)" ( identifier , identifier , (binary_expression "where >> 0x1f" identifier >> number_literal) , number_literal ))) ;) (expression_statement "bfd_bread(b,4,0,abfd);" (call_expression "bfd_bread(b,4,0,abfd)" identifier (argument_list "(b,4,0,abfd)" ( identifier , number_literal , number_literal , identifier ))) ;) (return_statement "return (uint)b[3] * 0x1000000 + (uint)(ushort)b._0_2_ + (uint)b[2] * 0x10000;" return (binary_expression "(uint)b[3] * 0x1000000 + (uint)(ushort)b._0_2_ + (uint)b[2] * 0x10000" (binary_expression "(uint)b[3] * 0x1000000 + (uint)(ushort)b._0_2_" (binary_expression "(uint)b[3] * 0x1000000" (cast_expression "(uint)b[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "b[3]" identifier [ number_literal ])) * number_literal) + (cast_expression "(uint)(ushort)b._0_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)b._0_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "b._0_2_" identifier . field_identifier)))) + (binary_expression "(uint)b[2] * 0x10000" (cast_expression "(uint)b[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "b[2]" identifier [ number_literal ])) * number_literal)) ;) })))
(translation_unit "int __regparm3 FUN_000619e0(undefined4 param_1,int param_2)\n\n{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}\n\n" (function_definition "int __regparm3 FUN_000619e0(undefined4 param_1,int param_2)\n\n{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000619e0(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}" { (declaration "ushort local_10;" type_identifier identifier ;) (declaration "byte local_e;" type_identifier identifier ;) (declaration "byte local_d;" type_identifier identifier ;) (declaration "undefined4 uStack_c;" type_identifier identifier ;) (expression_statement "uStack_c = 0x619ec;" (assignment_expression "uStack_c = 0x619ec" identifier = number_literal) ;) (expression_statement "bfd_seek(param_1,param_2,param_2 >> 0x1f,0);" (call_expression "bfd_seek(param_1,param_2,param_2 >> 0x1f,0)" identifier (argument_list "(param_1,param_2,param_2 >> 0x1f,0)" ( identifier , identifier , (binary_expression "param_2 >> 0x1f" identifier >> number_literal) , number_literal ))) ;) (expression_statement "bfd_bread(&local_10,4,0,param_1);" (call_expression "bfd_bread(&local_10,4,0,param_1)" identifier (argument_list "(&local_10,4,0,param_1)" ( (pointer_expression "&local_10" & identifier) , number_literal , number_literal , identifier ))) ;) (return_statement "return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;" return (binary_expression "(uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000" (binary_expression "(uint)local_d * 0x1000000 + (uint)local_10" (binary_expression "(uint)local_d * 0x1000000" (cast_expression "(uint)local_d" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)local_10" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)local_e * 0x10000" (cast_expression "(uint)local_e" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT >> LIT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , IDENT ))) ;) (return_statement return (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) })))
(function_definition "int __regparm3 FUN_000619e0(undefined4 param_1,int param_2)\n\n{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}" (primitive_type "int") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000619e0(undefined4 param_1,int param_2)" (identifier "FUN_000619e0") (parameter_list "(undefined4 param_1,int param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  ushort local_10;\n  byte local_e;\n  byte local_d;\n  undefined4 uStack_c;\n  \n  uStack_c = 0x619ec;\n  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);\n  bfd_bread(&local_10,4,0,param_1);\n  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;\n}" ({ "{") (declaration "ushort local_10;" (type_identifier "ushort") (identifier "local_10") (; ";")) (declaration "byte local_e;" (type_identifier "byte") (identifier "local_e") (; ";")) (declaration "byte local_d;" (type_identifier "byte") (identifier "local_d") (; ";")) (declaration "undefined4 uStack_c;" (type_identifier "undefined4") (identifier "uStack_c") (; ";")) (expression_statement "uStack_c = 0x619ec;" (assignment_expression "uStack_c = 0x619ec" (identifier "uStack_c") (= "=") (number_literal "0x619ec")) (; ";")) (expression_statement "bfd_seek(param_1,param_2,param_2 >> 0x1f,0);" (call_expression "bfd_seek(param_1,param_2,param_2 >> 0x1f,0)" (identifier "bfd_seek") (argument_list "(param_1,param_2,param_2 >> 0x1f,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (binary_expression "param_2 >> 0x1f" (identifier "param_2") (>> ">>") (number_literal "0x1f")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bfd_bread(&local_10,4,0,param_1);" (call_expression "bfd_bread(&local_10,4,0,param_1)" (identifier "bfd_bread") (argument_list "(&local_10,4,0,param_1)" (( "(") (pointer_expression "&local_10" (& "&") (identifier "local_10")) (, ",") (number_literal "4") (, ",") (number_literal "0") (, ",") (identifier "param_1") () ")"))) (; ";")) (return_statement "return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;" (return "return") (binary_expression "(uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000" (binary_expression "(uint)local_d * 0x1000000 + (uint)local_10" (binary_expression "(uint)local_d * 0x1000000" (cast_expression "(uint)local_d" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_d")) (* "*") (number_literal "0x1000000")) (+ "+") (cast_expression "(uint)local_10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_10"))) (+ "+") (binary_expression "(uint)local_e * 0x10000" (cast_expression "(uint)local_e" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_e")) (* "*") (number_literal "0x10000"))) (; ";")) (} "}")))

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

type_1 __regparm3 function_1(type_2 *abfd,int var_2)

{
  type_3 b [4];
  
  var_1(abfd,var_2,var_2 >> 0x1f,0);
  var_3(b,4,0,abfd);
  return (type_1)b[3] * 0x1000000 + (type_1)(type_4)b._0_2_ + (type_1)b[2] * 0x10000;
}


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

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

int __regparm3 MASKED(undefined4 param_1,int param_2)

{
  ushort local_10;
  byte local_e;
  byte local_d;
  undefined4 uStack_c;
  
  uStack_c = 0x619ec;
  bfd_seek(param_1,param_2,param_2 >> 0x1f,0);
  bfd_bread(&local_10,4,0,param_1);
  return (uint)local_d * 0x1000000 + (uint)local_10 + (uint)local_e * 0x10000;
}

