
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void reserve_ent(Output_data_got_powerpc<32,_false> * this, uint cnt)
    */

void __thiscall
anon_unknown.dwarf_6462d4::Output_data_got_powerpc<32,_false>::reserve_ent
          (Output_data_got_powerpc<32,_false> *this,uint cnt)

{
}



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

void __regparm3 FUN_000b6790(int param_1,int param_2)

{
  int iVar1;
  undefined4 local_14;
  
  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;
  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {
    *(int *)(param_1 + 0x68) = iVar1;
    *(undefined4 *)(param_1 + 100) = 0;
    FUN_002e2810(param_1,0,0x7ffffffe);
    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);
    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);
    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);
    if (iVar1 != 0) {
      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;
      return;
    }
    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,
                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);
  }
  return;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00050b50
ADD EBX,0x533868
SUB ESP,0x10
MOV ECX,dword ptr [EAX + 0x30]
SUB ECX,dword ptr [EAX + 0x2c]
SAR ECX,0x4
ADD EDX,ECX
CMP EDX,dword ptr [EAX + 0x68]
JA 0x000b67c0
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0xc
MOV dword ptr [EAX + 0x68],ECX
MOV ESI,EAX
LEA EDI,[EBX + 0xffe63414]
MOV dword ptr [EAX + 0x64],0x0
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH 0x7ffffffe
PUSH 0x0
PUSH EAX
CALL 0x002e2810
ADD ESP,0x14
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH 0x7ffffffe
PUSH 0x0
PUSH ESI
CALL 0x002e2810
ADD ESP,0x14
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH 0x7ffffffe
PUSH 0x0
PUSH ESI
CALL 0x002e2810
ADD ESP,0x1c
PUSH 0x0
PUSH EDI
PUSH dword ptr [ESI + 0x5c]
CALL 0x0034ef60
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000b6840
MOV EDX,dword ptr [ESI + 0x68]
SHL EDX,0x2
MOV dword ptr [EAX + 0x30],EDX
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x4
XOR EDX,EDX
PUSH 0x0
PUSH 0x0
PUSH 0x0
PUSH 0x2
PUSH 0x0
PUSH 0x1
PUSH 0x0
PUSH 0x0
MOV EAX,dword ptr [ESI + 0x68]
PUSH EDX
SHL EAX,0x2
PUSH EAX
PUSH ESI
PUSH 0x5
PUSH 0x0
PUSH EDI
PUSH dword ptr [ESI + 0x5c]
CALL 0x0034f750
ADD ESP,0x40
JMP 0x000b67b1
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_000b6790(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_000b6790(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000b6790(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4" identifier = (binary_expression "*(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4" (binary_expression "*(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c)" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1))" ( (binary_expression "*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) < (call_expression "(uint)(param_2 + iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))) )) (compound_statement "{\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }" { (expression_statement "*(int *)(param_1 + 0x68) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x68) = iVar1" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 100) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 100) = 0" (pointer_expression "*(undefined4 *)(param_1 + 100)" * (cast_expression "(undefined4 *)(param_1 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe)" identifier (argument_list "(param_1,0,0x7ffffffe)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798)" identifier (argument_list "(param_1,0,0x7ffffffe,local_14,0xb6798)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798)" identifier (argument_list "(param_1,0,0x7ffffffe,local_14,0xb6798)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);" (assignment_expression "iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" identifier = (call_expression "FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" * (cast_expression "(undefined4 *)(param_1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) , (string_literal ""_GLOBAL_OFFSET_TABLE_"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }" { (expression_statement "*(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;" (assignment_expression "*(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(iVar1 + 0x30)" * (cast_expression "(int *)(iVar1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) << number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);" (call_expression "FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" * (cast_expression "(undefined4 *)(param_1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) , (string_literal ""_GLOBAL_OFFSET_TABLE_"" " string_content ") , number_literal , number_literal , identifier , (binary_expression "*(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) << number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void reserve_ent(Output_data_got_powerpc<32,_false> * this, uint cnt)\n    */\n\nvoid __thiscall\nanon_unknown.dwarf_6462d4::Output_data_got_powerpc<32,_false>::reserve_ent\n          (Output_data_got_powerpc<32,_false> *this,uint cnt)\n\n{\n}\n\n" comment comment comment (ERROR "void __thiscall\nanon_unknown.dwarf_6462d4::Output_data_got_powerpc<32,_false>::reserve_ent\n          (Output_data_got_powerpc<32,_false> *this,uint cnt)" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_6462d4::" identifier . identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::" identifier > : :) (function_declarator "reserve_ent\n          (Output_data_got_powerpc<32,_false> *this,uint cnt)" identifier (parameter_list "(Output_data_got_powerpc<32,_false> *this,uint cnt)" ( (parameter_declaration "Output_data_got_powerpc" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint cnt" type_identifier identifier) )))) (compound_statement "{\n}" { }))
(translation_unit "void __regparm3 FUN_000b6790(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_000b6790(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000b6790(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 local_14;" type_identifier identifier ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4" identifier = (binary_expression "*(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4" (binary_expression "*(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c)" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1))" ( (binary_expression "*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) < (call_expression "(uint)(param_2 + iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 + iVar1)" ( (binary_expression "param_2 + iVar1" identifier + identifier) )))) )) (compound_statement "{\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }" { (expression_statement "*(int *)(param_1 + 0x68) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x68) = iVar1" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 100) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 100) = 0" (pointer_expression "*(undefined4 *)(param_1 + 100)" * (cast_expression "(undefined4 *)(param_1 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe)" identifier (argument_list "(param_1,0,0x7ffffffe)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798)" identifier (argument_list "(param_1,0,0x7ffffffe,local_14,0xb6798)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798)" identifier (argument_list "(param_1,0,0x7ffffffe,local_14,0xb6798)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);" (assignment_expression "iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" identifier = (call_expression "FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" * (cast_expression "(undefined4 *)(param_1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) , (string_literal ""_GLOBAL_OFFSET_TABLE_"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }" { (expression_statement "*(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;" (assignment_expression "*(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(iVar1 + 0x30)" * (cast_expression "(int *)(iVar1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) << number_literal)) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);" (call_expression "FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" * (cast_expression "(undefined4 *)(param_1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) , (string_literal ""_GLOBAL_OFFSET_TABLE_"" " string_content ") , number_literal , number_literal , identifier , (binary_expression "*(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(param_1 + 0x68)" * (cast_expression "(int *)(param_1 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) << number_literal) , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (string_literal " string_content ") , LIT , LIT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) , LIT , LIT , LIT , LIT , LIT , LIT , LIT , LIT , LIT ))) ;) })) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_000b6790(int param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000b6790(int param_1,int param_2)" (identifier "FUN_000b6790") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 local_14;\n  \n  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;\n  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 local_14;" (type_identifier "undefined4") (identifier "local_14") (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4" (identifier "iVar1") (= "=") (binary_expression "*(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4" (binary_expression "*(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c)" (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (>> ">>") (number_literal "4"))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1))" (( "(") (binary_expression "*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)" (pointer_expression "*(uint *)(param_1 + 0x68)" (* "*") (cast_expression "(uint *)(param_1 + 0x68)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (< "<") (call_expression "(uint)(param_2 + iVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 + iVar1)" (( "(") (binary_expression "param_2 + iVar1" (identifier "param_2") (+ "+") (identifier "iVar1")) () ")")))) () ")")) (compound_statement "{\n    *(int *)(param_1 + 0x68) = iVar1;\n    *(undefined4 *)(param_1 + 100) = 0;\n    FUN_002e2810(param_1,0,0x7ffffffe);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);\n    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);\n    if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }\n    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);\n  }" ({ "{") (expression_statement "*(int *)(param_1 + 0x68) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x68) = iVar1" (pointer_expression "*(int *)(param_1 + 0x68)" (* "*") (cast_expression "(int *)(param_1 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 100) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 100) = 0" (pointer_expression "*(undefined4 *)(param_1 + 100)" (* "*") (cast_expression "(undefined4 *)(param_1 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe)" (identifier "FUN_002e2810") (argument_list "(param_1,0,0x7ffffffe)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0x7ffffffe") () ")"))) (; ";")) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798)" (identifier "FUN_002e2810") (argument_list "(param_1,0,0x7ffffffe,local_14,0xb6798)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0x7ffffffe") (, ",") (identifier "local_14") (, ",") (number_literal "0xb6798") () ")"))) (; ";")) (expression_statement "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);" (call_expression "FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798)" (identifier "FUN_002e2810") (argument_list "(param_1,0,0x7ffffffe,local_14,0xb6798)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0x7ffffffe") (, ",") (identifier "local_14") (, ",") (number_literal "0xb6798") () ")"))) (; ";")) (expression_statement "iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);" (assignment_expression "iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" (identifier "iVar1") (= "=") (call_expression "FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" (identifier "FUN_0034ef60") (argument_list "(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")")))) (, ",") (string_literal ""_GLOBAL_OFFSET_TABLE_"" (" """) (string_content "_GLOBAL_OFFSET_TABLE_") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;\n      return;\n    }" ({ "{") (expression_statement "*(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;" (assignment_expression "*(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(iVar1 + 0x30)" (* "*") (cast_expression "(int *)(iVar1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x30)" (( "(") (binary_expression "iVar1 + 0x30" (identifier "iVar1") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(param_1 + 0x68)" (* "*") (cast_expression "(int *)(param_1 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (<< "<<") (number_literal "2"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);" (call_expression "FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0)" (identifier "FUN_0034f750") (argument_list "(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,\n                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")")))) (, ",") (string_literal ""_GLOBAL_OFFSET_TABLE_"" (" """) (string_content "_GLOBAL_OFFSET_TABLE_") (" """)) (, ",") (number_literal "0") (, ",") (number_literal "5") (, ",") (identifier "param_1") (, ",") (binary_expression "*(int *)(param_1 + 0x68) << 2" (pointer_expression "*(int *)(param_1 + 0x68)" (* "*") (cast_expression "(int *)(param_1 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (<< "<<") (number_literal "2")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void reserve_ent(Output_data_got_powerpc<32,_false> * this, uint cnt)
    */

void __thiscall
anon_unknown.dwarf_6462d4::Output_data_got_powerpc<32,_false>::reserve_ent
          (Output_data_got_powerpc<32,_false> *this,uint cnt)

{
}


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

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

void __regparm3 MASKED(int param_1,int param_2)

{
  int iVar1;
  undefined4 local_14;
  
  iVar1 = *(int *)(param_1 + 0x30) - *(int *)(param_1 + 0x2c) >> 4;
  if (*(uint *)(param_1 + 0x68) < (uint)(param_2 + iVar1)) {
    *(int *)(param_1 + 0x68) = iVar1;
    *(undefined4 *)(param_1 + 100) = 0;
    FUN_002e2810(param_1,0,0x7ffffffe);
    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);
    FUN_002e2810(param_1,0,0x7ffffffe,local_14,0xb6798);
    iVar1 = FUN_0034ef60(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0);
    if (iVar1 != 0) {
      *(int *)(iVar1 + 0x30) = *(int *)(param_1 + 0x68) << 2;
      return;
    }
    FUN_0034f750(*(undefined4 *)(param_1 + 0x5c),"_GLOBAL_OFFSET_TABLE_",0,5,param_1,
                 *(int *)(param_1 + 0x68) << 2,0,0,0,1,0,2,0,0,0);
  }
  return;
}

