
/* DWARF original prototype: Output_section * section_with_lowest_load_address(Output_segment *
   this) */

Output_section * __thiscall
gold::Output_segment::section_with_lowest_load_address(Output_segment *this)

{
  _Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_> *p_Var1;
  Output_segment *pdl;
  Output_section *found;
  uint64_t found_lma;
  
  found = (Output_section *)0x0;
  found_lma._0_4_ = 0;
  found_lma._4_4_ = 0;
  pdl = this;
  do {
    p_Var1 = &pdl->output_lists_[0].
              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>;
    lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma);
    pdl = (Output_segment *)(p_Var1 + 1);
  } while ((Output_segment *)(p_Var1 + 1) != (Output_segment *)&this->vaddr_);
  return found;
}



undefined4 FUN_0015fd20(int param_1)

{
  int iVar1;
  int iVar2;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  
  local_28 = 0;
  local_24 = 0;
  local_20 = 0;
  iVar1 = param_1;
  do {
    iVar2 = iVar1 + 0xc;
    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);
    iVar1 = iVar2;
  } while (iVar2 != param_1 + 0x15c);
  return local_28;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x2c
MOV EBX,dword ptr [ESP + 0x40]
LEA EDI,[ESP + 0x18]
LEA ESI,[ESP + 0x14]
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x18],0x0
LEA EAX,[EBX + 0x15c]
MOV dword ptr [ESP + 0x1c],0x0
MOV EBP,EBX
MOV dword ptr [ESP + 0xc],EAX
LEA ESI,[ESI]
NOP
PUSH EDI
PUSH ESI
PUSH EBP
ADD EBP,0xc
PUSH EBX
CALL 0x0015fbd0
ADD ESP,0x10
CMP EBP,dword ptr [ESP + 0xc]
JNZ 0x0015fd60
MOV EAX,dword ptr [ESP + 0x14]
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "undefined4 FUN_0015fd20(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}\n\n" (function_definition "undefined4 FUN_0015fd20(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}" type_identifier (function_declarator "FUN_0015fd20(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = param_1;" (assignment_expression "iVar1 = param_1" identifier = identifier) ;) (do_statement "do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);" do (compound_statement "{\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  }" { (expression_statement "iVar2 = iVar1 + 0xc;" (assignment_expression "iVar2 = iVar1 + 0xc" identifier = (binary_expression "iVar1 + 0xc" identifier + number_literal)) ;) (expression_statement "FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);" (call_expression "FUN_0015fbd0(param_1,iVar1,&local_28,&local_24)" identifier (argument_list "(param_1,iVar1,&local_28,&local_24)" ( identifier , identifier , (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) ))) ;) (expression_statement "iVar1 = iVar2;" (assignment_expression "iVar1 = iVar2" identifier = identifier) ;) }) while (parenthesized_expression "(iVar2 != param_1 + 0x15c)" ( (binary_expression "iVar2 != param_1 + 0x15c" identifier != (binary_expression "param_1 + 0x15c" identifier + number_literal)) )) ;) (return_statement "return local_28;" return identifier ;) })))
(translation_unit "/* DWARF original prototype: Output_section * section_with_lowest_load_address(Output_segment *\n   this) */\n\nOutput_section * __thiscall\ngold::Output_segment::section_with_lowest_load_address(Output_segment *this)\n\n{\n  _Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_> *p_Var1;\n  Output_segment *pdl;\n  Output_section *found;\n  uint64_t found_lma;\n  \n  found = (Output_section *)0x0;\n  found_lma._0_4_ = 0;\n  found_lma._4_4_ = 0;\n  pdl = this;\n  do {\n    p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>;\n    lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma);\n    pdl = (Output_segment *)(p_Var1 + 1);\n  } while ((Output_segment *)(p_Var1 + 1) != (Output_segment *)&this->vaddr_);\n  return found;\n}\n\n" comment (ERROR "Output_section * __thiscall\ngold::Output_segment::section_with_lowest_load_address(Output_segment *this)" (binary_expression "Output_section * __thiscall\ngold::Output_segment::section_with_lowest_load_address(Output_segment *this" (binary_expression "Output_section * __thiscall" identifier * identifier) (ERROR "gold::Output_segment::section_with_lowest_load_address(Output_segment" identifier : : identifier : : identifier ( identifier) * identifier) )) (compound_statement "{\n  _Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_> *p_Var1;\n  Output_segment *pdl;\n  Output_section *found;\n  uint64_t found_lma;\n  \n  found = (Output_section *)0x0;\n  found_lma._0_4_ = 0;\n  found_lma._4_4_ = 0;\n  pdl = this;\n  do {\n    p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>;\n    lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma);\n    pdl = (Output_segment *)(p_Var1 + 1);\n  } while ((Output_segment *)(p_Var1 + 1) != (Output_segment *)&this->vaddr_);\n  return found;\n}" { (expression_statement "_Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_> *p_Var1;" (binary_expression "_Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_> *p_Var1" (binary_expression "_Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "_Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "_Vector_base<gold::Output_data*,_std" (binary_expression "_Vector_base<gold" identifier < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) > (pointer_expression "*p_Var1" * identifier)) ;) (declaration "Output_segment *pdl;" type_identifier (pointer_declarator "*pdl" * identifier) ;) (declaration "Output_section *found;" type_identifier (pointer_declarator "*found" * identifier) ;) (declaration "uint64_t found_lma;" primitive_type identifier ;) (expression_statement "found = (Output_section *)0x0;" (assignment_expression "found = (Output_section *)0x0" identifier = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "found_lma._0_4_ = 0;" (assignment_expression "found_lma._0_4_ = 0" (field_expression "found_lma._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "found_lma._4_4_ = 0;" (assignment_expression "found_lma._4_4_ = 0" (field_expression "found_lma._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "pdl = this;" (assignment_expression "pdl = this" identifier = identifier) ;) (do_statement "do {\n    p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>;\n    lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma);\n    pdl = (Output_segment *)(p_Var1 + 1);\n  } while ((Output_segment *)(p_Var1 + 1) != (Output_segment *)&this->vaddr_);" do (compound_statement "{\n    p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>;\n    lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma);\n    pdl = (Output_segment *)(p_Var1 + 1);\n  }" { (expression_statement "p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>;\n    lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma);" (binary_expression "p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>;\n    lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma)" (binary_expression "p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold::Output_data*,_std" (assignment_expression "p_Var1 = &pdl->output_lists_[0].\n              super__Vector_base<gold" identifier = (binary_expression "&pdl->output_lists_[0].\n              super__Vector_base<gold" (pointer_expression "&pdl->output_lists_[0].\n              super__Vector_base" & (field_expression "pdl->output_lists_[0].\n              super__Vector_base" (subscript_expression "pdl->output_lists_[0]" (field_expression "pdl->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) > (ERROR ";" ;) (call_expression "lowest_load_address_in_list(this,pdl->output_lists_,&found,&found_lma)" identifier (argument_list "(this,pdl->output_lists_,&found,&found_lma)" ( identifier , (field_expression "pdl->output_lists_" identifier -> field_identifier) , (pointer_expression "&found" & identifier) , (pointer_expression "&found_lma" & identifier) )))) ;) (expression_statement "pdl = (Output_segment *)(p_Var1 + 1);" (assignment_expression "pdl = (Output_segment *)(p_Var1 + 1)" identifier = (cast_expression "(Output_segment *)(p_Var1 + 1)" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var1 + 1)" ( (binary_expression "p_Var1 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "((Output_segment *)(p_Var1 + 1) != (Output_segment *)&this->vaddr_)" ( (binary_expression "(Output_segment *)(p_Var1 + 1) != (Output_segment *)&this->vaddr_" (cast_expression "(Output_segment *)(p_Var1 + 1)" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var1 + 1)" ( (binary_expression "p_Var1 + 1" identifier + number_literal) ))) != (cast_expression "(Output_segment *)&this->vaddr_" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->vaddr_" & (field_expression "this->vaddr_" identifier -> field_identifier)))) )) ;) (return_statement "return found;" return identifier ;) }))
(translation_unit "undefined4 FUN_0015fd20(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}\n\n" (function_definition "undefined4 FUN_0015fd20(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}" type_identifier (function_declarator "FUN_0015fd20(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = param_1;" (assignment_expression "iVar1 = param_1" identifier = identifier) ;) (do_statement "do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);" do (compound_statement "{\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  }" { (expression_statement "iVar2 = iVar1 + 0xc;" (assignment_expression "iVar2 = iVar1 + 0xc" identifier = (binary_expression "iVar1 + 0xc" identifier + number_literal)) ;) (expression_statement "FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);" (call_expression "FUN_0015fbd0(param_1,iVar1,&local_28,&local_24)" identifier (argument_list "(param_1,iVar1,&local_28,&local_24)" ( identifier , identifier , (pointer_expression "&local_28" & identifier) , (pointer_expression "&local_24" & identifier) ))) ;) (expression_statement "iVar1 = iVar2;" (assignment_expression "iVar1 = iVar2" identifier = identifier) ;) }) while (parenthesized_expression "(iVar2 != param_1 + 0x15c)" ( (binary_expression "iVar2 != param_1 + 0x15c" identifier != (binary_expression "param_1 + 0x15c" identifier + number_literal)) )) ;) (return_statement "return local_28;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_0015fd20(int param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}" (type_identifier "undefined4") (function_declarator "FUN_0015fd20(int param_1)" (identifier "FUN_0015fd20") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined4 local_20;\n  \n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  iVar1 = param_1;\n  do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);\n  return local_28;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = param_1;" (assignment_expression "iVar1 = param_1" (identifier "iVar1") (= "=") (identifier "param_1")) (; ";")) (do_statement "do {\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  } while (iVar2 != param_1 + 0x15c);" (do "do") (compound_statement "{\n    iVar2 = iVar1 + 0xc;\n    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);\n    iVar1 = iVar2;\n  }" ({ "{") (expression_statement "iVar2 = iVar1 + 0xc;" (assignment_expression "iVar2 = iVar1 + 0xc" (identifier "iVar2") (= "=") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);" (call_expression "FUN_0015fbd0(param_1,iVar1,&local_28,&local_24)" (identifier "FUN_0015fbd0") (argument_list "(param_1,iVar1,&local_28,&local_24)" (( "(") (identifier "param_1") (, ",") (identifier "iVar1") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (pointer_expression "&local_24" (& "&") (identifier "local_24")) () ")"))) (; ";")) (expression_statement "iVar1 = iVar2;" (assignment_expression "iVar1 = iVar2" (identifier "iVar1") (= "=") (identifier "iVar2")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar2 != param_1 + 0x15c)" (( "(") (binary_expression "iVar2 != param_1 + 0x15c" (identifier "iVar2") (!= "!=") (binary_expression "param_1 + 0x15c" (identifier "param_1") (+ "+") (number_literal "0x15c"))) () ")")) (; ";")) (return_statement "return local_28;" (return "return") (identifier "local_28") (; ";")) (} "}")))

/* DWARF original prototype: Output_section * section_with_lowest_load_address(Output_segment *
   this) */

type_2 * __thiscall
var_2::type_1::section_with_lowest_load_address(type_1 *this)

{
  var_1<var_2::Output_data*,var_3::allocator<var_2::Output_data*>var_4> *var_6;
  type_1 *pdl;
  type_2 *found;
  uint64_t found_lma;
  
  found = (type_2 *)0x0;
  found_lma._0_4_ = 0;
  found_lma._4_4_ = 0;
  pdl = this;
  do {
    var_6 = &pdl->output_lists_[0].
              super__Vector_base<var_2::Output_data*,var_3::allocator<var_2::Output_data*>var_4>;
    var_5(this,pdl->output_lists_,&found,&found_lma);
    pdl = (type_1 *)(var_6 + 1);
  } while ((type_1 *)(var_6 + 1) != (type_1 *)&this->vaddr_);
  return found;
}


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

undefined4 MASKED(int param_1)

{
  int iVar1;
  int iVar2;
  undefined4 local_28;
  undefined4 local_24;
  undefined4 local_20;
  
  local_28 = 0;
  local_24 = 0;
  local_20 = 0;
  iVar1 = param_1;
  do {
    iVar2 = iVar1 + 0xc;
    FUN_0015fbd0(param_1,iVar1,&local_28,&local_24);
    iVar1 = iVar2;
  } while (iVar2 != param_1 + 0x15c);
  return local_28;
}

