
uint pe_get32(bfd *abfd,int where)

{
  uchar b [4];
  
  bfd_seek(abfd,(long)where,0);
  bfd_bread(b,4,abfd);
  return (uint)b[3] * 0x1000000 + (uint)b[0] + (uint)b[1] * 0x100 + (uint)b[2] * 0x10000;
}



int FUN_00153550(undefined8 param_1,int param_2)

{
  byte local_c;
  byte local_b;
  byte local_a;
  byte local_9;
  
  bfd_seek(param_1,(long)param_2,0);
  bfd_bread(&local_c,4,param_1);
  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000
  ;
}


PUSH RBX
MOVSXD RSI,ESI
MOV RBX,RDI
XOR EDX,EDX
SUB RSP,0x10
CALL 0x0010dd80
MOV RDX,RBX
LEA RDI,[RSP + 0xc]
MOV ESI,0x4
CALL 0x0010dc70
MOVZX EDX,byte ptr [RSP + 0xd]
MOVZX ECX,byte ptr [RSP + 0xc]
MOVZX EAX,byte ptr [RSP + 0xe]
SHL EDX,0x8
SHL EAX,0x10
ADD ECX,EDX
LEA EDX,[RCX + RAX*0x1]
MOVZX EAX,byte ptr [RSP + 0xf]
ADD RSP,0x10
POP RBX
SHL EAX,0x18
ADD EAX,EDX
RET
(translation_unit "int FUN_00153550(undefined8 param_1,int param_2)\n\n{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}\n\n" (function_definition "int FUN_00153550(undefined8 param_1,int param_2)\n\n{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}" primitive_type (function_declarator "FUN_00153550(undefined8 param_1,int param_2)" identifier (parameter_list "(undefined8 param_1,int param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}" { (declaration "byte local_c;" type_identifier identifier ;) (declaration "byte local_b;" type_identifier identifier ;) (declaration "byte local_a;" type_identifier identifier ;) (declaration "byte local_9;" type_identifier identifier ;) (expression_statement "bfd_seek(param_1,(long)param_2,0);" (call_expression "bfd_seek(param_1,(long)param_2,0)" identifier (argument_list "(param_1,(long)param_2,0)" ( identifier , (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal ))) ;) (expression_statement "bfd_bread(&local_c,4,param_1);" (call_expression "bfd_bread(&local_c,4,param_1)" identifier (argument_list "(&local_c,4,param_1)" ( (pointer_expression "&local_c" & identifier) , number_literal , identifier ))) ;) (return_statement "return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;" return (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000" (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100" (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c" (binary_expression "(uint)local_9 * 0x1000000" (cast_expression "(uint)local_9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)local_c" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)local_b * 0x100" (cast_expression "(uint)local_b" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)local_a * 0x10000" (cast_expression "(uint)local_a" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) })))
(translation_unit "uint pe_get32(bfd *abfd,int where)\n\n{\n  uchar b [4];\n  \n  bfd_seek(abfd,(long)where,0);\n  bfd_bread(b,4,abfd);\n  return (uint)b[3] * 0x1000000 + (uint)b[0] + (uint)b[1] * 0x100 + (uint)b[2] * 0x10000;\n}\n\n" (function_definition "uint pe_get32(bfd *abfd,int where)\n\n{\n  uchar b [4];\n  \n  bfd_seek(abfd,(long)where,0);\n  bfd_bread(b,4,abfd);\n  return (uint)b[3] * 0x1000000 + (uint)b[0] + (uint)b[1] * 0x100 + (uint)b[2] * 0x10000;\n}" type_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,(long)where,0);\n  bfd_bread(b,4,abfd);\n  return (uint)b[3] * 0x1000000 + (uint)b[0] + (uint)b[1] * 0x100 + (uint)b[2] * 0x10000;\n}" { (declaration "uchar b [4];" type_identifier (array_declarator "b [4]" identifier [ number_literal ]) ;) (expression_statement "bfd_seek(abfd,(long)where,0);" (call_expression "bfd_seek(abfd,(long)where,0)" identifier (argument_list "(abfd,(long)where,0)" ( identifier , (cast_expression "(long)where" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal ))) ;) (expression_statement "bfd_bread(b,4,abfd);" (call_expression "bfd_bread(b,4,abfd)" identifier (argument_list "(b,4,abfd)" ( identifier , number_literal , identifier ))) ;) (return_statement "return (uint)b[3] * 0x1000000 + (uint)b[0] + (uint)b[1] * 0x100 + (uint)b[2] * 0x10000;" return (binary_expression "(uint)b[3] * 0x1000000 + (uint)b[0] + (uint)b[1] * 0x100 + (uint)b[2] * 0x10000" (binary_expression "(uint)b[3] * 0x1000000 + (uint)b[0] + (uint)b[1] * 0x100" (binary_expression "(uint)b[3] * 0x1000000 + (uint)b[0]" (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)b[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "b[0]" identifier [ number_literal ]))) + (binary_expression "(uint)b[1] * 0x100" (cast_expression "(uint)b[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "b[1]" identifier [ number_literal ])) * number_literal)) + (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 FUN_00153550(undefined8 param_1,int param_2)\n\n{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}\n\n" (function_definition "int FUN_00153550(undefined8 param_1,int param_2)\n\n{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}" primitive_type (function_declarator "FUN_00153550(undefined8 param_1,int param_2)" identifier (parameter_list "(undefined8 param_1,int param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}" { (declaration "byte local_c;" type_identifier identifier ;) (declaration "byte local_b;" type_identifier identifier ;) (declaration "byte local_a;" type_identifier identifier ;) (declaration "byte local_9;" type_identifier identifier ;) (expression_statement "bfd_seek(param_1,(long)param_2,0);" (call_expression "bfd_seek(param_1,(long)param_2,0)" identifier (argument_list "(param_1,(long)param_2,0)" ( identifier , (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) , number_literal ))) ;) (expression_statement "bfd_bread(&local_c,4,param_1);" (call_expression "bfd_bread(&local_c,4,param_1)" identifier (argument_list "(&local_c,4,param_1)" ( (pointer_expression "&local_c" & identifier) , number_literal , identifier ))) ;) (return_statement "return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;" return (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000" (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100" (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c" (binary_expression "(uint)local_9 * 0x1000000" (cast_expression "(uint)local_9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + (cast_expression "(uint)local_c" ( (type_descriptor "uint" type_identifier) ) identifier)) + (binary_expression "(uint)local_b * 0x100" (cast_expression "(uint)local_b" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (binary_expression "(uint)local_a * 0x10000" (cast_expression "(uint)local_a" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) })))
(translation_unit (function_definition TYPE (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 (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT ))) ;) (return_statement return (binary_expression (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)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) })))
(function_definition "int FUN_00153550(undefined8 param_1,int param_2)\n\n{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}" (primitive_type "int") (function_declarator "FUN_00153550(undefined8 param_1,int param_2)" (identifier "FUN_00153550") (parameter_list "(undefined8 param_1,int param_2)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte local_c;\n  byte local_b;\n  byte local_a;\n  byte local_9;\n  \n  bfd_seek(param_1,(long)param_2,0);\n  bfd_bread(&local_c,4,param_1);\n  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;\n}" ({ "{") (declaration "byte local_c;" (type_identifier "byte") (identifier "local_c") (; ";")) (declaration "byte local_b;" (type_identifier "byte") (identifier "local_b") (; ";")) (declaration "byte local_a;" (type_identifier "byte") (identifier "local_a") (; ";")) (declaration "byte local_9;" (type_identifier "byte") (identifier "local_9") (; ";")) (expression_statement "bfd_seek(param_1,(long)param_2,0);" (call_expression "bfd_seek(param_1,(long)param_2,0)" (identifier "bfd_seek") (argument_list "(param_1,(long)param_2,0)" (( "(") (identifier "param_1") (, ",") (cast_expression "(long)param_2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_2")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bfd_bread(&local_c,4,param_1);" (call_expression "bfd_bread(&local_c,4,param_1)" (identifier "bfd_bread") (argument_list "(&local_c,4,param_1)" (( "(") (pointer_expression "&local_c" (& "&") (identifier "local_c")) (, ",") (number_literal "4") (, ",") (identifier "param_1") () ")"))) (; ";")) (return_statement "return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000\n  ;" (return "return") (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000" (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100" (binary_expression "(uint)local_9 * 0x1000000 + (uint)local_c" (binary_expression "(uint)local_9 * 0x1000000" (cast_expression "(uint)local_9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_9")) (* "*") (number_literal "0x1000000")) (+ "+") (cast_expression "(uint)local_c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c"))) (+ "+") (binary_expression "(uint)local_b * 0x100" (cast_expression "(uint)local_b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_b")) (* "*") (number_literal "0x100"))) (+ "+") (binary_expression "(uint)local_a * 0x10000" (cast_expression "(uint)local_a" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_a")) (* "*") (number_literal "0x10000"))) (; ";")) (} "}")))

type_1 function_1(type_2 *abfd,int where)

{
  type_3 b [4];
  
  var_1(abfd,(long)where,0);
  var_2(b,4,abfd);
  return (type_1)b[3] * 0x1000000 + (type_1)b[0] + (type_1)b[1] * 0x100 + (type_1)b[2] * 0x10000;
}


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

int MASKED(undefined8 param_1,int param_2)

{
  byte local_c;
  byte local_b;
  byte local_a;
  byte local_9;
  
  bfd_seek(param_1,(long)param_2,0);
  bfd_bread(&local_c,4,param_1);
  return (uint)local_9 * 0x1000000 + (uint)local_c + (uint)local_b * 0x100 + (uint)local_a * 0x10000
  ;
}

