
uchar * fetch_indirect_string(dwarf_vma offset)

{
  uint uVar1;
  undefined4 uVar2;
  char *pcVar3;
  uint in_a0;
  uint in_a1;
  undefined *puVar4;
  uint uVar5;
  uchar *puVar6;
  uint uVar7;
  uint uVar8;
  uint in_stack_ffffffdc;
  
  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {
    puVar4 = PTR_DAT_000c338c + 0x5304;
  }
  else {
    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);
    uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);
    if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {
      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);
      uVar5 = uVar8 - in_a1;
      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);
      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {
                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);
        return puVar6;
      }
      return puVar6;
    }
    puVar4 = PTR_DAT_000c338c + 0x5b04;
    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);
    pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4
                           );
    (*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);
    puVar4 = PTR_DAT_000c338c + 0x5b28;
  }
                    /* WARNING: Could not recover jumptable at 0x00058e38. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);
  return puVar6;
}



int FUN_00058d08(uint param_1,uint param_2)

{
  uint uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined *puVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  
  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {
    puVar4 = PTR_UINT_000c338c + 0x5304;
  }
  else {
    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);
    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);
    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {
      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;
      param_2 = uVar7 - param_2;
      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);
      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {
        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);
        return iVar5;
      }
      return iVar5;
    }
    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);
    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);
    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);
    puVar4 = PTR_UINT_000c338c + 0x5b28;
  }
  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);
  return iVar5;
}


lui gp,0x7
addiu gp,gp,0x2648
addu gp,gp,t9
lw v1,-0x7f0c(gp)
addiu sp,sp,-0x38
sw gp,0x18(sp)
sw ra,0x34(sp)
sw s4,0x30(sp)
sw s3,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
sw s0,0x20(sp)
lw v0,0x2e0(v1)
beq v0,zero,0x00058e78
_or s0,a1,zero
lw s3,0x2f0(v1)
lw s4,0x2f4(v1)
sltu v1,a0,s3
beq v1,zero,0x00058da4
_or s1,a0,zero
addu s2,v0,s0
lw t9,-0x7dd0(gp)
subu s0,s4,s0
subu s1,s3,s1
or a0,s2,zero
or a1,s0,zero
jalr t9
_sltu s4,s4,s0
beq s1,s4,0x00058e40
_lw gp,0x18(sp)
lw ra,0x34(sp)
or v0,s2,zero
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x38
bne s3,a0,0x00058db4
_sltu v1,a1,s4
bne v1,zero,0x00058d5c
_addu s2,v0,s0
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x7d44(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x5b04
or a2,s1,zero
lw gp,0x18(sp)
or a3,s0,zero
sw zero,0x10(sp)
or s0,v0,zero
lw a0,-0x7fc0(gp)
lw t9,-0x7f08(gp)
addiu t9,t9,0x53b8
bal 0x000553b8
_addiu a0,a0,0x7f4c
or a0,s0,zero
lw gp,0x18(sp)
lw t9,-0x7fac(gp)
jalr t9
_or a1,v0,zero
li a2,0x5
lw gp,0x18(sp)
or a0,zero,zero
lw a1,-0x7fc4(gp)
lw t9,-0x7d44(gp)
addiu a1,a1,0x5b28
lw ra,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr t9
_addiu sp,sp,0x38
bne v0,s0,0x00058d84
_lw ra,0x34(sp)
lw a1,-0x7fc4(gp)
li a2,0x5
or a0,zero,zero
lw s4,0x30(sp)
lw s3,0x2c(sp)
addiu a1,a1,0x5b3c
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
lw t9,-0x7d44(gp)
jr t9
_addiu sp,sp,0x38
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x7d44(gp)
or a0,zero,zero
b 0x00058e20
_addiu a1,a1,0x5304
(translation_unit "int FUN_00058d08(uint param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}\n\n" (function_definition "int FUN_00058d08(uint param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}" primitive_type (function_declarator "FUN_00058d08(uint param_1,uint param_2)" identifier (parameter_list "(uint param_1,uint param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (if_statement "if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" if (parenthesized_expression "(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0)" ( (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" * (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }" { (expression_statement "puVar4 = PTR_UINT_000c338c + 0x5304;" (assignment_expression "puVar4 = PTR_UINT_000c338c + 0x5304" identifier = (binary_expression "PTR_UINT_000c338c + 0x5304" identifier + number_literal)) ;) }) (else_clause "else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" else (compound_statement "{\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" { (expression_statement "uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);" (assignment_expression "uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" identifier = (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" * (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2f0" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);" (assignment_expression "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" identifier = (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" * (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f4)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2f4" identifier + number_literal) ))))) ;) (if_statement "if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }" if (parenthesized_expression "((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7))))" ( (binary_expression "(param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))" (parenthesized_expression "(param_1 < uVar6)" ( (binary_expression "param_1 < uVar6" identifier < identifier) )) || (parenthesized_expression "((uVar6 == param_1 && (param_2 < uVar7)))" ( (parenthesized_expression "(uVar6 == param_1 && (param_2 < uVar7))" ( (binary_expression "uVar6 == param_1 && (param_2 < uVar7)" (binary_expression "uVar6 == param_1" identifier == identifier) && (parenthesized_expression "(param_2 < uVar7)" ( (binary_expression "param_2 < uVar7" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }" { (expression_statement "iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;" (assignment_expression "iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2" identifier = (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" * (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" identifier + number_literal) )))) + identifier)) ;) (expression_statement "param_2 = uVar7 - param_2;" (assignment_expression "param_2 = uVar7 - param_2" identifier = (binary_expression "uVar7 - param_2" identifier - identifier)) ;) (expression_statement "uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);" (assignment_expression "uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2)" identifier = (call_expression "(*(code *)PTR_strnlen_000c3580)(iVar5,param_2)" (parenthesized_expression "(*(code *)PTR_strnlen_000c3580)" ( (pointer_expression "*(code *)PTR_strnlen_000c3580" * (cast_expression "(code *)PTR_strnlen_000c3580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,param_2)" ( identifier , identifier )))) ;) (if_statement "if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }" if (parenthesized_expression "((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2))" ( (binary_expression "(uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)" (parenthesized_expression "(uVar6 - param_1 == (uint)(uVar7 < param_2))" ( (binary_expression "uVar6 - param_1 == (uint)(uVar7 < param_2)" (binary_expression "uVar6 - param_1" identifier - identifier) == (call_expression "(uint)(uVar7 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < param_2)" ( (binary_expression "uVar7 < param_2" identifier < identifier) )))) )) && (parenthesized_expression "(uVar1 == param_2)" ( (binary_expression "uVar1 == param_2" identifier == identifier) ))) )) (compound_statement "{\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }" { (expression_statement "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);" (assignment_expression "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_UINT_000c338c + 0x5b3c,5)" ( number_literal , (binary_expression "PTR_UINT_000c338c + 0x5b3c" identifier + number_literal) , number_literal )))) ;) (return_statement "return iVar5;" return identifier ;) })) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_UINT_000c338c + 0x5b04,5)" ( number_literal , (binary_expression "PTR_UINT_000c338c + 0x5b04" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);" (assignment_expression "uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c)" identifier = (call_expression "FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c)" identifier (argument_list "(PTR_s_TADECL_000c3390 + 0x7f4c)" ( (binary_expression "PTR_s_TADECL_000c3390 + 0x7f4c" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_warn_000c33a4)(uVar2,uVar3);" (call_expression "(*(code *)PTR_warn_000c33a4)(uVar2,uVar3)" (parenthesized_expression "(*(code *)PTR_warn_000c33a4)" ( (pointer_expression "*(code *)PTR_warn_000c33a4" * (cast_expression "(code *)PTR_warn_000c33a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,uVar3)" ( identifier , identifier ))) ;) (expression_statement "puVar4 = PTR_UINT_000c338c + 0x5b28;" (assignment_expression "puVar4 = PTR_UINT_000c338c + 0x5b28" identifier = (binary_expression "PTR_UINT_000c338c + 0x5b28" identifier + number_literal)) ;) }))) (expression_statement "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);" (assignment_expression "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar4,5)" ( number_literal , identifier , number_literal )))) ;) (return_statement "return iVar5;" return identifier ;) })))
(translation_unit "uchar * fetch_indirect_string(dwarf_vma offset)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  char *pcVar3;\n  uint in_a0;\n  uint in_a1;\n  undefined *puVar4;\n  uint uVar5;\n  uchar *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint in_stack_ffffffdc;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_DAT_000c338c + 0x5304;\n  }\n  else {\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }\n    puVar4 = PTR_DAT_000c338c + 0x5b04;\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n    pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           );\n    (*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);\n    puVar4 = PTR_DAT_000c338c + 0x5b28;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00058e38. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return puVar6;\n}\n\n" (function_definition "uchar * fetch_indirect_string(dwarf_vma offset)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  char *pcVar3;\n  uint in_a0;\n  uint in_a1;\n  undefined *puVar4;\n  uint uVar5;\n  uchar *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint in_stack_ffffffdc;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_DAT_000c338c + 0x5304;\n  }\n  else {\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }\n    puVar4 = PTR_DAT_000c338c + 0x5b04;\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n    pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           );\n    (*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);\n    puVar4 = PTR_DAT_000c338c + 0x5b28;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00058e38. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return puVar6;\n}" type_identifier (pointer_declarator "* fetch_indirect_string(dwarf_vma offset)" * (function_declarator "fetch_indirect_string(dwarf_vma offset)" identifier (parameter_list "(dwarf_vma offset)" ( (parameter_declaration "dwarf_vma offset" type_identifier identifier) )))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  char *pcVar3;\n  uint in_a0;\n  uint in_a1;\n  undefined *puVar4;\n  uint uVar5;\n  uchar *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint in_stack_ffffffdc;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_DAT_000c338c + 0x5304;\n  }\n  else {\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }\n    puVar4 = PTR_DAT_000c338c + 0x5b04;\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n    pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           );\n    (*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);\n    puVar4 = PTR_DAT_000c338c + 0x5b28;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00058e38. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return puVar6;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint in_a0;" type_identifier identifier ;) (declaration "uint in_a1;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uchar *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint in_stack_ffffffdc;" type_identifier identifier ;) (if_statement "if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_DAT_000c338c + 0x5304;\n  }\n  else {\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }\n    puVar4 = PTR_DAT_000c338c + 0x5b04;\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n    pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           );\n    (*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);\n    puVar4 = PTR_DAT_000c338c + 0x5b28;\n  }" if (parenthesized_expression "(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0)" ( (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" * (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar4 = PTR_DAT_000c338c + 0x5304;\n  }" { (expression_statement "puVar4 = PTR_DAT_000c338c + 0x5304;" (assignment_expression "puVar4 = PTR_DAT_000c338c + 0x5304" identifier = (binary_expression "PTR_DAT_000c338c + 0x5304" identifier + number_literal)) ;) }) (else_clause "else {\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }\n    puVar4 = PTR_DAT_000c338c + 0x5b04;\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n    pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           );\n    (*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);\n    puVar4 = PTR_DAT_000c338c + 0x5b28;\n  }" else (compound_statement "{\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }\n    puVar4 = PTR_DAT_000c338c + 0x5b04;\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n    pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           );\n    (*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);\n    puVar4 = PTR_DAT_000c338c + 0x5b28;\n  }" { (expression_statement "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);" (assignment_expression "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" identifier = (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" * (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2f0" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);" (assignment_expression "uVar8 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" identifier = (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" * (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f4)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2f4" identifier + number_literal) ))))) ;) (if_statement "if ((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))) {\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }" if (parenthesized_expression "((in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8))))" ( (binary_expression "(in_a0 < uVar7) || ((uVar7 == in_a0 && (in_a1 < uVar8)))" (parenthesized_expression "(in_a0 < uVar7)" ( (binary_expression "in_a0 < uVar7" identifier < identifier) )) || (parenthesized_expression "((uVar7 == in_a0 && (in_a1 < uVar8)))" ( (parenthesized_expression "(uVar7 == in_a0 && (in_a1 < uVar8))" ( (binary_expression "uVar7 == in_a0 && (in_a1 < uVar8)" (binary_expression "uVar7 == in_a0" identifier == identifier) && (parenthesized_expression "(in_a1 < uVar8)" ( (binary_expression "in_a1 < uVar8" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);\n      uVar5 = uVar8 - in_a1;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);\n      if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }\n      return puVar6;\n    }" { (expression_statement "puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1);" (assignment_expression "puVar6 = (uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1)" identifier = (cast_expression "(uchar *)(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1)" ( (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + in_a1" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" * (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" identifier + number_literal) )))) + identifier) )))) ;) (expression_statement "uVar5 = uVar8 - in_a1;" (assignment_expression "uVar5 = uVar8 - in_a1" identifier = (binary_expression "uVar8 - in_a1" identifier - identifier)) ;) (expression_statement "uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5);" (assignment_expression "uVar1 = (*(code *)PTR_strnlen_000c3580)(puVar6,uVar5)" identifier = (call_expression "(*(code *)PTR_strnlen_000c3580)(puVar6,uVar5)" (parenthesized_expression "(*(code *)PTR_strnlen_000c3580)" ( (pointer_expression "*(code *)PTR_strnlen_000c3580" * (cast_expression "(code *)PTR_strnlen_000c3580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,uVar5)" ( identifier , identifier )))) ;) (if_statement "if ((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)) {\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }" if (parenthesized_expression "((uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5))" ( (binary_expression "(uVar7 - in_a0 == (uint)(uVar8 < uVar5)) && (uVar1 == uVar5)" (parenthesized_expression "(uVar7 - in_a0 == (uint)(uVar8 < uVar5))" ( (binary_expression "uVar7 - in_a0 == (uint)(uVar8 < uVar5)" (binary_expression "uVar7 - in_a0" identifier - identifier) == (call_expression "(uint)(uVar8 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar5)" ( (binary_expression "uVar8 < uVar5" identifier < identifier) )))) )) && (parenthesized_expression "(uVar1 == uVar5)" ( (binary_expression "uVar1 == uVar5" identifier == identifier) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00058e70. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);\n        return puVar6;\n      }" { comment comment (expression_statement "puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5);" (assignment_expression "puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5)" identifier = (cast_expression "(uchar *)(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,PTR_DAT_000c338c + 0x5b3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_000c338c + 0x5b3c,5)" ( number_literal , (binary_expression "PTR_DAT_000c338c + 0x5b3c" identifier + number_literal) , number_literal ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (return_statement "return puVar6;" return identifier ;) })) (expression_statement "puVar4 = PTR_DAT_000c338c + 0x5b04;" (assignment_expression "puVar4 = PTR_DAT_000c338c + 0x5b04" identifier = (binary_expression "PTR_DAT_000c338c + 0x5b04" identifier + number_literal)) ;) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar4,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           );" (assignment_expression "pcVar3 = dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           )" identifier = (call_expression "dwarf_vmatoa_1(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           )" identifier (argument_list "(PTR_s_TADECL_000c3390 + 0x7f4c,(ulonglong)in_stack_ffffffdc,(uint)puVar4\n                           )" ( (binary_expression "PTR_s_TADECL_000c3390 + 0x7f4c" identifier + number_literal) , (cast_expression "(ulonglong)in_stack_ffffffdc" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , (cast_expression "(uint)puVar4" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "(*(code *)PTR_warn_000c33a4)(uVar2,pcVar3);" (call_expression "(*(code *)PTR_warn_000c33a4)(uVar2,pcVar3)" (parenthesized_expression "(*(code *)PTR_warn_000c33a4)" ( (pointer_expression "*(code *)PTR_warn_000c33a4" * (cast_expression "(code *)PTR_warn_000c33a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,pcVar3)" ( identifier , identifier ))) ;) (expression_statement "puVar4 = PTR_DAT_000c338c + 0x5b28;" (assignment_expression "puVar4 = PTR_DAT_000c338c + 0x5b28" identifier = (binary_expression "PTR_DAT_000c338c + 0x5b28" identifier + number_literal)) ;) }))) comment comment (expression_statement "puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);" (assignment_expression "puVar6 = (uchar *)(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" identifier = (cast_expression "(uchar *)(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar4,5)" ( number_literal , identifier , number_literal ))))) ;) (return_statement "return puVar6;" return identifier ;) })))
(translation_unit "int FUN_00058d08(uint param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}\n\n" (function_definition "int FUN_00058d08(uint param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}" primitive_type (function_declarator "FUN_00058d08(uint param_1,uint param_2)" identifier (parameter_list "(uint param_1,uint param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (if_statement "if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" if (parenthesized_expression "(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0)" ( (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" * (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }" { (expression_statement "puVar4 = PTR_UINT_000c338c + 0x5304;" (assignment_expression "puVar4 = PTR_UINT_000c338c + 0x5304" identifier = (binary_expression "PTR_UINT_000c338c + 0x5304" identifier + number_literal)) ;) }) (else_clause "else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" else (compound_statement "{\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" { (expression_statement "uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);" (assignment_expression "uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" identifier = (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" * (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2f0" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);" (assignment_expression "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" identifier = (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" * (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f4)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2f4" identifier + number_literal) ))))) ;) (if_statement "if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }" if (parenthesized_expression "((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7))))" ( (binary_expression "(param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))" (parenthesized_expression "(param_1 < uVar6)" ( (binary_expression "param_1 < uVar6" identifier < identifier) )) || (parenthesized_expression "((uVar6 == param_1 && (param_2 < uVar7)))" ( (parenthesized_expression "(uVar6 == param_1 && (param_2 < uVar7))" ( (binary_expression "uVar6 == param_1 && (param_2 < uVar7)" (binary_expression "uVar6 == param_1" identifier == identifier) && (parenthesized_expression "(param_2 < uVar7)" ( (binary_expression "param_2 < uVar7" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }" { (expression_statement "iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;" (assignment_expression "iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2" identifier = (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" * (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" ( (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" identifier + number_literal) )))) + identifier)) ;) (expression_statement "param_2 = uVar7 - param_2;" (assignment_expression "param_2 = uVar7 - param_2" identifier = (binary_expression "uVar7 - param_2" identifier - identifier)) ;) (expression_statement "uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);" (assignment_expression "uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2)" identifier = (call_expression "(*(code *)PTR_strnlen_000c3580)(iVar5,param_2)" (parenthesized_expression "(*(code *)PTR_strnlen_000c3580)" ( (pointer_expression "*(code *)PTR_strnlen_000c3580" * (cast_expression "(code *)PTR_strnlen_000c3580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,param_2)" ( identifier , identifier )))) ;) (if_statement "if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }" if (parenthesized_expression "((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2))" ( (binary_expression "(uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)" (parenthesized_expression "(uVar6 - param_1 == (uint)(uVar7 < param_2))" ( (binary_expression "uVar6 - param_1 == (uint)(uVar7 < param_2)" (binary_expression "uVar6 - param_1" identifier - identifier) == (call_expression "(uint)(uVar7 < param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < param_2)" ( (binary_expression "uVar7 < param_2" identifier < identifier) )))) )) && (parenthesized_expression "(uVar1 == param_2)" ( (binary_expression "uVar1 == param_2" identifier == identifier) ))) )) (compound_statement "{\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }" { (expression_statement "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);" (assignment_expression "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_UINT_000c338c + 0x5b3c,5)" ( number_literal , (binary_expression "PTR_UINT_000c338c + 0x5b3c" identifier + number_literal) , number_literal )))) ;) (return_statement "return iVar5;" return identifier ;) })) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_UINT_000c338c + 0x5b04,5)" ( number_literal , (binary_expression "PTR_UINT_000c338c + 0x5b04" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);" (assignment_expression "uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c)" identifier = (call_expression "FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c)" identifier (argument_list "(PTR_s_TADECL_000c3390 + 0x7f4c)" ( (binary_expression "PTR_s_TADECL_000c3390 + 0x7f4c" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_warn_000c33a4)(uVar2,uVar3);" (call_expression "(*(code *)PTR_warn_000c33a4)(uVar2,uVar3)" (parenthesized_expression "(*(code *)PTR_warn_000c33a4)" ( (pointer_expression "*(code *)PTR_warn_000c33a4" * (cast_expression "(code *)PTR_warn_000c33a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar2,uVar3)" ( identifier , identifier ))) ;) (expression_statement "puVar4 = PTR_UINT_000c338c + 0x5b28;" (assignment_expression "puVar4 = PTR_UINT_000c338c + 0x5b28" identifier = (binary_expression "PTR_UINT_000c338c + 0x5b28" identifier + number_literal)) ;) }))) (expression_statement "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);" (assignment_expression "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" ( (pointer_expression "*(code *)PTR_dcgettext_000c360c" * (cast_expression "(code *)PTR_dcgettext_000c360c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar4,5)" ( number_literal , identifier , number_literal )))) ;) (return_statement "return iVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) == (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (return_statement return IDENT ;) })) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) (return_statement return IDENT ;) })))
(function_definition "int FUN_00058d08(uint param_1,uint param_2)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}" (primitive_type "int") (function_declarator "FUN_00058d08(uint param_1,uint param_2)" (identifier "FUN_00058d08") (parameter_list "(uint param_1,uint param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }\n  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);\n  return iVar5;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (if_statement "if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }\n  else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0)" (( "(") (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" (* "*") (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" (( "(") (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" (identifier "PTR_debug_displays_000c3444") (+ "+") (number_literal "0x2e0")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar4 = PTR_UINT_000c338c + 0x5304;\n  }" ({ "{") (expression_statement "puVar4 = PTR_UINT_000c338c + 0x5304;" (assignment_expression "puVar4 = PTR_UINT_000c338c + 0x5304" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_000c338c + 0x5304" (identifier "PTR_UINT_000c338c") (+ "+") (number_literal "0x5304"))) (; ";")) (} "}")) (else_clause "else {\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" (else "else") (compound_statement "{\n    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);\n    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);\n    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }\n    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);\n    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);\n    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);\n    puVar4 = PTR_UINT_000c338c + 0x5b28;\n  }" ({ "{") (expression_statement "uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);" (assignment_expression "uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" (* "*") (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f0)" (( "(") (binary_expression "PTR_debug_displays_000c3444 + 0x2f0" (identifier "PTR_debug_displays_000c3444") (+ "+") (number_literal "0x2f0")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);" (assignment_expression "uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" (* "*") (cast_expression "(uint *)(PTR_debug_displays_000c3444 + 0x2f4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2f4)" (( "(") (binary_expression "PTR_debug_displays_000c3444 + 0x2f4" (identifier "PTR_debug_displays_000c3444") (+ "+") (number_literal "0x2f4")) () ")"))))) (; ";")) (if_statement "if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }" (if "if") (parenthesized_expression "((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7))))" (( "(") (binary_expression "(param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))" (parenthesized_expression "(param_1 < uVar6)" (( "(") (binary_expression "param_1 < uVar6" (identifier "param_1") (< "<") (identifier "uVar6")) () ")")) (|| "||") (parenthesized_expression "((uVar6 == param_1 && (param_2 < uVar7)))" (( "(") (parenthesized_expression "(uVar6 == param_1 && (param_2 < uVar7))" (( "(") (binary_expression "uVar6 == param_1 && (param_2 < uVar7)" (binary_expression "uVar6 == param_1" (identifier "uVar6") (== "==") (identifier "param_1")) (&& "&&") (parenthesized_expression "(param_2 < uVar7)" (( "(") (binary_expression "param_2 < uVar7" (identifier "param_2") (< "<") (identifier "uVar7")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;\n      param_2 = uVar7 - param_2;\n      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);\n      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }\n      return iVar5;\n    }" ({ "{") (expression_statement "iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;" (assignment_expression "iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2" (identifier "iVar5") (= "=") (binary_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2" (pointer_expression "*(int *)(PTR_debug_displays_000c3444 + 0x2e0)" (* "*") (cast_expression "(int *)(PTR_debug_displays_000c3444 + 0x2e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_debug_displays_000c3444 + 0x2e0)" (( "(") (binary_expression "PTR_debug_displays_000c3444 + 0x2e0" (identifier "PTR_debug_displays_000c3444") (+ "+") (number_literal "0x2e0")) () ")")))) (+ "+") (identifier "param_2"))) (; ";")) (expression_statement "param_2 = uVar7 - param_2;" (assignment_expression "param_2 = uVar7 - param_2" (identifier "param_2") (= "=") (binary_expression "uVar7 - param_2" (identifier "uVar7") (- "-") (identifier "param_2"))) (; ";")) (expression_statement "uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);" (assignment_expression "uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_strnlen_000c3580)(iVar5,param_2)" (parenthesized_expression "(*(code *)PTR_strnlen_000c3580)" (( "(") (pointer_expression "*(code *)PTR_strnlen_000c3580" (* "*") (cast_expression "(code *)PTR_strnlen_000c3580" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strnlen_000c3580"))) () ")")) (argument_list "(iVar5,param_2)" (( "(") (identifier "iVar5") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }" (if "if") (parenthesized_expression "((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2))" (( "(") (binary_expression "(uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)" (parenthesized_expression "(uVar6 - param_1 == (uint)(uVar7 < param_2))" (( "(") (binary_expression "uVar6 - param_1 == (uint)(uVar7 < param_2)" (binary_expression "uVar6 - param_1" (identifier "uVar6") (- "-") (identifier "param_1")) (== "==") (call_expression "(uint)(uVar7 < param_2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < param_2)" (( "(") (binary_expression "uVar7 < param_2" (identifier "uVar7") (< "<") (identifier "param_2")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(uVar1 == param_2)" (( "(") (binary_expression "uVar1 == param_2" (identifier "uVar1") (== "==") (identifier "param_2")) () ")"))) () ")")) (compound_statement "{\n        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);\n        return iVar5;\n      }" ({ "{") (expression_statement "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);" (assignment_expression "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000c360c" (* "*") (cast_expression "(code *)PTR_dcgettext_000c360c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000c360c"))) () ")")) (argument_list "(0,PTR_UINT_000c338c + 0x5b3c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_UINT_000c338c + 0x5b3c" (identifier "PTR_UINT_000c338c") (+ "+") (number_literal "0x5b3c")) (, ",") (number_literal "5") () ")")))) (; ";")) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000c360c" (* "*") (cast_expression "(code *)PTR_dcgettext_000c360c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000c360c"))) () ")")) (argument_list "(0,PTR_UINT_000c338c + 0x5b04,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_UINT_000c338c + 0x5b04" (identifier "PTR_UINT_000c338c") (+ "+") (number_literal "0x5b04")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);" (assignment_expression "uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c)" (identifier "uVar3") (= "=") (call_expression "FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c)" (identifier "FUN_000553b8") (argument_list "(PTR_s_TADECL_000c3390 + 0x7f4c)" (( "(") (binary_expression "PTR_s_TADECL_000c3390 + 0x7f4c" (identifier "PTR_s_TADECL_000c3390") (+ "+") (number_literal "0x7f4c")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_warn_000c33a4)(uVar2,uVar3);" (call_expression "(*(code *)PTR_warn_000c33a4)(uVar2,uVar3)" (parenthesized_expression "(*(code *)PTR_warn_000c33a4)" (( "(") (pointer_expression "*(code *)PTR_warn_000c33a4" (* "*") (cast_expression "(code *)PTR_warn_000c33a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_warn_000c33a4"))) () ")")) (argument_list "(uVar2,uVar3)" (( "(") (identifier "uVar2") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "puVar4 = PTR_UINT_000c338c + 0x5b28;" (assignment_expression "puVar4 = PTR_UINT_000c338c + 0x5b28" (identifier "puVar4") (= "=") (binary_expression "PTR_UINT_000c338c + 0x5b28" (identifier "PTR_UINT_000c338c") (+ "+") (number_literal "0x5b28"))) (; ";")) (} "}")))) (expression_statement "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);" (assignment_expression "iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_dcgettext_000c360c)(0,puVar4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000c360c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000c360c" (* "*") (cast_expression "(code *)PTR_dcgettext_000c360c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000c360c"))) () ")")) (argument_list "(0,puVar4,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar4") (, ",") (number_literal "5") () ")")))) (; ";")) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}")))
(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: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (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))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) 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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (return_statement (identifier)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (return_statement (identifier)))))

int MASKED(uint param_1,uint param_2)

{
  uint uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined *puVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  
  if (*(int *)(PTR_debug_displays_000c3444 + 0x2e0) == 0) {
    puVar4 = PTR_UINT_000c338c + 0x5304;
  }
  else {
    uVar6 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f0);
    uVar7 = *(uint *)(PTR_debug_displays_000c3444 + 0x2f4);
    if ((param_1 < uVar6) || ((uVar6 == param_1 && (param_2 < uVar7)))) {
      iVar5 = *(int *)(PTR_debug_displays_000c3444 + 0x2e0) + param_2;
      param_2 = uVar7 - param_2;
      uVar1 = (*(code *)PTR_strnlen_000c3580)(iVar5,param_2);
      if ((uVar6 - param_1 == (uint)(uVar7 < param_2)) && (uVar1 == param_2)) {
        iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b3c,5);
        return iVar5;
      }
      return iVar5;
    }
    uVar2 = (*(code *)PTR_dcgettext_000c360c)(0,PTR_UINT_000c338c + 0x5b04,5);
    uVar3 = FUN_000553b8(PTR_s_TADECL_000c3390 + 0x7f4c);
    (*(code *)PTR_warn_000c33a4)(uVar2,uVar3);
    puVar4 = PTR_UINT_000c338c + 0x5b28;
  }
  iVar5 = (*(code *)PTR_dcgettext_000c360c)(0,puVar4,5);
  return iVar5;
}

