
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* WARNING: Struct "Arm_input_section<true>": ignoring overlapping field "original_addralign_" */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: void do_fill_plt_entry(Output_data_plt_arm_long<false> * this, uchar *
   pov, Arm_address got_address, Arm_address plt_address, uint got_offset, uint plt_offset) */

void __thiscall
anon_unknown.dwarf_9b9b16::Output_data_plt_arm_long<false>::do_fill_plt_entry
          (Output_data_plt_arm_long<false> *this,uchar *pov,Arm_address got_address,
          Arm_address plt_address,uint got_offset,uint plt_offset)

{
  bool bVar1;
  uint uVar2;
  uint uVar3;
  
  uVar3 = got_address + (((-8 - plt_offset) + got_offset) - plt_address);
  uVar2 = (int)uVar3 >> 0x1c | 0xe28fc200;
  if (gold::parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
    Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2);
  }
  bVar1 = (gold::parameters->options_->be8_).value;
  *(uint *)pov = uVar2;
  *(uint *)(pov + 4) = (int)uVar3 >> 0x14 & 0xffU | 0xe28cc600;
  *(uint *)(pov + 8) = (int)uVar3 >> 0xc & 0xffU | 0xe28cca00;
  *(uint *)(pov + 0xc) = uVar3 & 0xfff | 0xe5bcf000;
  if (bVar1 != false) {
    return;
  }
  return;
}



void FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)

{
  char cVar1;
  uint uVar2;
  
  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);
  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00231730();
  }
  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);
  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;
  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;
  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;
  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;
  if (cVar1 != '\0') {
    return;
  }
  return;
}


MOV EAX,0xfffffff8
SUB EAX,R9D
ADD EAX,R8D
MOV R8,qword ptr [0x0067cb08]
SUB EAX,ECX
ADD EDX,EAX
MOV R8,qword ptr [R8 + 0x10]
MOV EAX,EDX
SAR EAX,0x1c
OR EAX,0xe28fc200
MOV EDI,EAX
MOV EAX,EDX
SAR EAX,0x14
MOVZX EAX,AL
OR EAX,0xe28cc600
MOV ECX,EAX
MOV EAX,EDX
AND EDX,0xfff
SAR EAX,0xc
OR EDX,0xe5bcf000
MOVZX EAX,AL
OR EAX,0xe28cca00
TEST R8,R8
JZ 0x002325b1
CMP byte ptr [R8 + 0x671],0x0
MOV dword ptr [RSI],EDI
MOV dword ptr [RSI + 0x4],ECX
MOV dword ptr [RSI + 0x8],EAX
MOV dword ptr [RSI + 0xc],EDX
JZ 0x002325b0
RET
RET
PUSH RAX
CALL 0x00231730
(translation_unit "void FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)" identifier (parameter_list "(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (expression_statement "uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);" (assignment_expression "uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4)" identifier = (binary_expression "param_3 + (((-8 - param_6) + param_5) - param_4)" identifier + (parenthesized_expression "(((-8 - param_6) + param_5) - param_4)" ( (binary_expression "((-8 - param_6) + param_5) - param_4" (parenthesized_expression "((-8 - param_6) + param_5)" ( (binary_expression "(-8 - param_6) + param_5" (parenthesized_expression "(-8 - param_6)" ( (binary_expression "-8 - param_6" number_literal - identifier) )) + identifier) )) - identifier) )))) ;) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00231730();\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00231730();\n  }" { comment (expression_statement "FUN_00231730();" (call_expression "FUN_00231730()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);" (assignment_expression "cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" identifier = (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;" (assignment_expression "*param_2 = (int)uVar2 >> 0x1c | 0xe28fc200" (pointer_expression "*param_2" * identifier) = (binary_expression "(int)uVar2 >> 0x1c | 0xe28fc200" (binary_expression "(int)uVar2 >> 0x1c" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) | number_literal)) ;) (expression_statement "param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;" (assignment_expression "param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (binary_expression "(int)uVar2 >> 0x14 & 0xffU | 0xe28cc600" (binary_expression "(int)uVar2 >> 0x14 & 0xffU" (binary_expression "(int)uVar2 >> 0x14" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal) | number_literal)) ;) (expression_statement "param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;" (assignment_expression "param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "(int)uVar2 >> 0xc & 0xffU | 0xe28cca00" (binary_expression "(int)uVar2 >> 0xc & 0xffU" (binary_expression "(int)uVar2 >> 0xc" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal) | number_literal)) ;) (expression_statement "param_2[3] = uVar2 & 0xfff | 0xe5bcf000;" (assignment_expression "param_2[3] = uVar2 & 0xfff | 0xe5bcf000" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "uVar2 & 0xfff | 0xe5bcf000" (binary_expression "uVar2 & 0xfff" identifier & number_literal) | number_literal)) ;) (if_statement "if (cVar1 != '\0') {\n    return;\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* WARNING: Struct "Arm_input_section<true>": ignoring overlapping field "original_addralign_" */\n/* WARNING: Enum "<anon>": Some values do not have unique names */\n/* DWARF original prototype: void do_fill_plt_entry(Output_data_plt_arm_long<false> * this, uchar *\n   pov, Arm_address got_address, Arm_address plt_address, uint got_offset, uint plt_offset) */\n\nvoid __thiscall\nanon_unknown.dwarf_9b9b16::Output_data_plt_arm_long<false>::do_fill_plt_entry\n          (Output_data_plt_arm_long<false> *this,uchar *pov,Arm_address got_address,\n          Arm_address plt_address,uint got_offset,uint plt_offset)\n\n{\n  bool bVar1;\n  uint uVar2;\n  uint uVar3;\n  \n  uVar3 = got_address + (((-8 - plt_offset) + got_offset) - plt_address);\n  uVar2 = (int)uVar3 >> 0x1c | 0xe28fc200;\n  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2);\n  }\n  bVar1 = (gold::parameters->options_->be8_).value;\n  *(uint *)pov = uVar2;\n  *(uint *)(pov + 4) = (int)uVar3 >> 0x14 & 0xffU | 0xe28cc600;\n  *(uint *)(pov + 8) = (int)uVar3 >> 0xc & 0xffU | 0xe28cca00;\n  *(uint *)(pov + 0xc) = uVar3 & 0xfff | 0xe5bcf000;\n  if (bVar1 != false) {\n    return;\n  }\n  return;\n}\n\n" comment comment comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_9b9b16::Output_data_plt_arm_long<false>::do_fill_plt_entry\n          (Output_data_plt_arm_long<false> *this,uchar *pov,Arm_address got_address,\n          Arm_address plt_address,uint got_offset,uint plt_offset)\n\n{\n  bool bVar1;\n  uint uVar2;\n  uint uVar3;\n  \n  uVar3 = got_address + (((-8 - plt_offset) + got_offset) - plt_address);\n  uVar2 = (int)uVar3 >> 0x1c | 0xe28fc200;\n  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2);\n  }\n  bVar1 = (gold::parameters->options_->be8_).value;\n  *(uint *)pov = uVar2;\n  *(uint *)(pov + 4) = (int)uVar3 >> 0x14 & 0xffU | 0xe28cc600;\n  *(uint *)(pov + 8) = (int)uVar3 >> 0xc & 0xffU | 0xe28cca00;\n  *(uint *)(pov + 0xc) = uVar3 & 0xfff | 0xe5bcf000;\n  if (bVar1 != false) {\n    return;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_9b9b16::Output_data_plt_arm_long<false>::" identifier . identifier : : identifier < false > : :) (function_declarator "do_fill_plt_entry\n          (Output_data_plt_arm_long<false> *this,uchar *pov,Arm_address got_address,\n          Arm_address plt_address,uint got_offset,uint plt_offset)" identifier (parameter_list "(Output_data_plt_arm_long<false> *this,uchar *pov,Arm_address got_address,\n          Arm_address plt_address,uint got_offset,uint plt_offset)" ( (parameter_declaration "Output_data_plt_arm_long<false> *this" type_identifier (ERROR "<false>" < false >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uchar *pov" type_identifier (pointer_declarator "*pov" * identifier)) , (parameter_declaration "Arm_address got_address" type_identifier identifier) , (parameter_declaration "Arm_address plt_address" type_identifier identifier) , (parameter_declaration "uint got_offset" type_identifier identifier) , (parameter_declaration "uint plt_offset" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  uint uVar2;\n  uint uVar3;\n  \n  uVar3 = got_address + (((-8 - plt_offset) + got_offset) - plt_address);\n  uVar2 = (int)uVar3 >> 0x1c | 0xe28fc200;\n  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2);\n  }\n  bVar1 = (gold::parameters->options_->be8_).value;\n  *(uint *)pov = uVar2;\n  *(uint *)(pov + 4) = (int)uVar3 >> 0x14 & 0xffU | 0xe28cc600;\n  *(uint *)(pov + 8) = (int)uVar3 >> 0xc & 0xffU | 0xe28cca00;\n  *(uint *)(pov + 0xc) = uVar3 & 0xfff | 0xe5bcf000;\n  if (bVar1 != false) {\n    return;\n  }\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (expression_statement "uVar3 = got_address + (((-8 - plt_offset) + got_offset) - plt_address);" (assignment_expression "uVar3 = got_address + (((-8 - plt_offset) + got_offset) - plt_address)" identifier = (binary_expression "got_address + (((-8 - plt_offset) + got_offset) - plt_address)" identifier + (parenthesized_expression "(((-8 - plt_offset) + got_offset) - plt_address)" ( (binary_expression "((-8 - plt_offset) + got_offset) - plt_address" (parenthesized_expression "((-8 - plt_offset) + got_offset)" ( (binary_expression "(-8 - plt_offset) + got_offset" (parenthesized_expression "(-8 - plt_offset)" ( (binary_expression "-8 - plt_offset" number_literal - identifier) )) + identifier) )) - identifier) )))) ;) (expression_statement "uVar2 = (int)uVar3 >> 0x1c | 0xe28fc200;" (assignment_expression "uVar2 = (int)uVar3 >> 0x1c | 0xe28fc200" identifier = (binary_expression "(int)uVar3 >> 0x1c | 0xe28fc200" (binary_expression "(int)uVar3 >> 0x1c" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) | number_literal)) ;) (if_statement "if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2);\n  }" if (parenthesized_expression "(gold::parameters->options_ == (General_options *)0x0)" ( (ERROR "gold::" identifier : :) (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2);\n  }" { comment (expression_statement "Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2);" (binary_expression "Target_arm<true>::do_may_relax((Target_arm<true> *)(ulong)uVar2)" (binary_expression "Target_arm<true" identifier < true) > (ERROR "::" : :) (call_expression "do_may_relax((Target_arm<true> *)(ulong)uVar2)" identifier (argument_list "((Target_arm<true> *)(ulong)uVar2)" ( (call_expression "(Target_arm<true> *)(ulong)" (parenthesized_expression "(Target_arm<true> *)" ( (binary_expression "Target_arm<true> *" (binary_expression "Target_arm<true" identifier < true) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier ))) (ERROR "uVar2" identifier) )))) ;) })) (expression_statement "bVar1 = (gold::parameters->options_->be8_).value;" (assignment_expression "bVar1 = (gold::parameters->options_->be8_).value" identifier = (field_expression "(gold::parameters->options_->be8_).value" (parenthesized_expression "(gold::parameters->options_->be8_)" ( (ERROR "gold::" identifier : :) (field_expression "parameters->options_->be8_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(uint *)pov = uVar2;" (assignment_expression "*(uint *)pov = uVar2" (pointer_expression "*(uint *)pov" * (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)(pov + 4) = (int)uVar3 >> 0x14 & 0xffU | 0xe28cc600;" (assignment_expression "*(uint *)(pov + 4) = (int)uVar3 >> 0x14 & 0xffU | 0xe28cc600" (pointer_expression "*(uint *)(pov + 4)" * (cast_expression "(uint *)(pov + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pov + 4)" ( (binary_expression "pov + 4" identifier + number_literal) )))) = (binary_expression "(int)uVar3 >> 0x14 & 0xffU | 0xe28cc600" (binary_expression "(int)uVar3 >> 0x14 & 0xffU" (binary_expression "(int)uVar3 >> 0x14" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal) | number_literal)) ;) (expression_statement "*(uint *)(pov + 8) = (int)uVar3 >> 0xc & 0xffU | 0xe28cca00;" (assignment_expression "*(uint *)(pov + 8) = (int)uVar3 >> 0xc & 0xffU | 0xe28cca00" (pointer_expression "*(uint *)(pov + 8)" * (cast_expression "(uint *)(pov + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pov + 8)" ( (binary_expression "pov + 8" identifier + number_literal) )))) = (binary_expression "(int)uVar3 >> 0xc & 0xffU | 0xe28cca00" (binary_expression "(int)uVar3 >> 0xc & 0xffU" (binary_expression "(int)uVar3 >> 0xc" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal) | number_literal)) ;) (expression_statement "*(uint *)(pov + 0xc) = uVar3 & 0xfff | 0xe5bcf000;" (assignment_expression "*(uint *)(pov + 0xc) = uVar3 & 0xfff | 0xe5bcf000" (pointer_expression "*(uint *)(pov + 0xc)" * (cast_expression "(uint *)(pov + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pov + 0xc)" ( (binary_expression "pov + 0xc" identifier + number_literal) )))) = (binary_expression "uVar3 & 0xfff | 0xe5bcf000" (binary_expression "uVar3 & 0xfff" identifier & number_literal) | number_literal)) ;) (if_statement "if (bVar1 != false) {\n    return;\n  }" if (parenthesized_expression "(bVar1 != false)" ( (binary_expression "bVar1 != false" identifier != false) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)" identifier (parameter_list "(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (expression_statement "uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);" (assignment_expression "uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4)" identifier = (binary_expression "param_3 + (((-8 - param_6) + param_5) - param_4)" identifier + (parenthesized_expression "(((-8 - param_6) + param_5) - param_4)" ( (binary_expression "((-8 - param_6) + param_5) - param_4" (parenthesized_expression "((-8 - param_6) + param_5)" ( (binary_expression "(-8 - param_6) + param_5" (parenthesized_expression "(-8 - param_6)" ( (binary_expression "-8 - param_6" number_literal - identifier) )) + identifier) )) - identifier) )))) ;) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n    FUN_00231730();\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_00231730();\n  }" { (expression_statement "FUN_00231730();" (call_expression "FUN_00231730()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);" (assignment_expression "cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" identifier = (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;" (assignment_expression "*param_2 = (int)uVar2 >> 0x1c | 0xe28fc200" (pointer_expression "*param_2" * identifier) = (binary_expression "(int)uVar2 >> 0x1c | 0xe28fc200" (binary_expression "(int)uVar2 >> 0x1c" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) | number_literal)) ;) (expression_statement "param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;" (assignment_expression "param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (binary_expression "(int)uVar2 >> 0x14 & 0xffU | 0xe28cc600" (binary_expression "(int)uVar2 >> 0x14 & 0xffU" (binary_expression "(int)uVar2 >> 0x14" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal) | number_literal)) ;) (expression_statement "param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;" (assignment_expression "param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "(int)uVar2 >> 0xc & 0xffU | 0xe28cca00" (binary_expression "(int)uVar2 >> 0xc & 0xffU" (binary_expression "(int)uVar2 >> 0xc" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal) | number_literal)) ;) (expression_statement "param_2[3] = uVar2 & 0xfff | 0xe5bcf000;" (assignment_expression "param_2[3] = uVar2 & 0xfff | 0xe5bcf000" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "uVar2 & 0xfff | 0xe5bcf000" (binary_expression "uVar2 & 0xfff" identifier & number_literal) | number_literal)) ;) (if_statement "if (cVar1 != '\0') {\n    return;\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) + IDENT) )) - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (return_statement return ;) })))
(function_definition "void FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00232540(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)" (identifier "FUN_00232540") (parameter_list "(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) () ")"))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  \n  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);\n  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n    FUN_00231730();\n  }\n  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);\n  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;\n  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;\n  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;\n  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;\n  if (cVar1 != '\0') {\n    return;\n  }\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (expression_statement "uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);" (assignment_expression "uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4)" (identifier "uVar2") (= "=") (binary_expression "param_3 + (((-8 - param_6) + param_5) - param_4)" (identifier "param_3") (+ "+") (parenthesized_expression "(((-8 - param_6) + param_5) - param_4)" (( "(") (binary_expression "((-8 - param_6) + param_5) - param_4" (parenthesized_expression "((-8 - param_6) + param_5)" (( "(") (binary_expression "(-8 - param_6) + param_5" (parenthesized_expression "(-8 - param_6)" (( "(") (binary_expression "-8 - param_6" (number_literal "-8") (- "-") (identifier "param_6")) () ")")) (+ "+") (identifier "param_5")) () ")")) (- "-") (identifier "param_4")) () ")")))) (; ";")) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n    FUN_00231730();\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00231730();\n  }" ({ "{") (expression_statement "FUN_00231730();" (call_expression "FUN_00231730()" (identifier "FUN_00231730") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);" (assignment_expression "cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671)" (( "(") (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x671")) () ")"))))) (; ";")) (expression_statement "*param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;" (assignment_expression "*param_2 = (int)uVar2 >> 0x1c | 0xe28fc200" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (binary_expression "(int)uVar2 >> 0x1c | 0xe28fc200" (binary_expression "(int)uVar2 >> 0x1c" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x1c")) (| "|") (number_literal "0xe28fc200"))) (; ";")) (expression_statement "param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;" (assignment_expression "param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(int)uVar2 >> 0x14 & 0xffU | 0xe28cc600" (binary_expression "(int)uVar2 >> 0x14 & 0xffU" (binary_expression "(int)uVar2 >> 0x14" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x14")) (& "&") (number_literal "0xffU")) (| "|") (number_literal "0xe28cc600"))) (; ";")) (expression_statement "param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;" (assignment_expression "param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(int)uVar2 >> 0xc & 0xffU | 0xe28cca00" (binary_expression "(int)uVar2 >> 0xc & 0xffU" (binary_expression "(int)uVar2 >> 0xc" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0xc")) (& "&") (number_literal "0xffU")) (| "|") (number_literal "0xe28cca00"))) (; ";")) (expression_statement "param_2[3] = uVar2 & 0xfff | 0xe5bcf000;" (assignment_expression "param_2[3] = uVar2 & 0xfff | 0xe5bcf000" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar2 & 0xfff | 0xe5bcf000" (binary_expression "uVar2 & 0xfff" (identifier "uVar2") (& "&") (number_literal "0xfff")) (| "|") (number_literal "0xe5bcf000"))) (; ";")) (if_statement "if (cVar1 != '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* WARNING: Struct "Arm_input_section<true>": ignoring overlapping field "original_addralign_" */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: void do_fill_plt_entry(Output_data_plt_arm_long<false> * this, uchar *
   pov, Arm_address got_address, Arm_address plt_address, uint got_offset, uint plt_offset) */

void __thiscall
anon_unknown.dwarf_9b9b16::type_1<false>::function_1
          (type_1<false> *this,type_2 *var_7,type_3 var_1,
          type_3 var_4,type_4 var_3,type_4 var_2)

{
  bool var_9;
  type_4 uVar2;
  type_4 var_8;
  
  var_8 = var_1 + (((-8 - var_2) + var_3) - var_4);
  uVar2 = (int)var_8 >> 0x1c | 0xe28fc200;
  if (gold::parameters->options_ == (type_5 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_5<true>::var_6((var_5<true> *)(ulong)uVar2);
  }
  var_9 = (gold::parameters->options_->be8_).value;
  *(type_4 *)var_7 = uVar2;
  *(type_4 *)(var_7 + 4) = (int)var_8 >> 0x14 & 0xffU | 0xe28cc600;
  *(type_4 *)(var_7 + 8) = (int)var_8 >> 0xc & 0xffU | 0xe28cca00;
  *(type_4 *)(var_7 + 0xc) = var_8 & 0xfff | 0xe5bcf000;
  if (var_9 != false) {
    return;
  }
  return;
}


(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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (identifier))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) 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))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement))) (return_statement))))

void MASKED(undefined8 param_1,uint *param_2,int param_3,int param_4,int param_5,int param_6)

{
  char cVar1;
  uint uVar2;
  
  uVar2 = param_3 + (((-8 - param_6) + param_5) - param_4);
  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00231730();
  }
  cVar1 = *(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x671);
  *param_2 = (int)uVar2 >> 0x1c | 0xe28fc200;
  param_2[1] = (int)uVar2 >> 0x14 & 0xffU | 0xe28cc600;
  param_2[2] = (int)uVar2 >> 0xc & 0xffU | 0xe28cca00;
  param_2[3] = uVar2 & 0xfff | 0xe5bcf000;
  if (cVar1 != '\0') {
    return;
  }
  return;
}

