
void hist_clip_symbol_address(bfd_vma *p_lowpc,bfd_vma *p_highpc)

{
  bool bVar1;
  uint *puVar2;
  undefined4 uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  undefined4 uVar14;
  
  uVar4 = *(uint *)p_lowpc;
  uVar10 = (uint)*p_lowpc;
  iVar13 = *(int *)PTR_num_histograms_0003a578;
  if (iVar13 == 0) {
    *(uint *)p_highpc = uVar4;
    *(uint *)((int)p_highpc + 4) = uVar10;
    return;
  }
  bVar1 = false;
  iVar8 = 0;
  puVar2 = *(uint **)PTR_histograms_0003a564;
  do {
    uVar6 = *puVar2;
    uVar11 = puVar2[1];
    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))) {
      uVar7 = puVar2[2];
      uVar5 = *(uint *)p_highpc;
      uVar12 = puVar2[3];
      uVar9 = (uint)*p_highpc;
      uVar6 = uVar4;
      uVar4 = uVar7;
      uVar11 = uVar10;
      uVar10 = uVar12;
      if (uVar5 <= uVar7) {
LAB_0001d830:
        uVar7 = uVar5;
        uVar12 = uVar9;
        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {
          uVar7 = uVar4;
          uVar12 = uVar10;
        }
      }
    }
    else {
      uVar7 = puVar2[2];
      uVar5 = *(uint *)p_highpc;
      uVar12 = puVar2[3];
      uVar9 = (uint)*p_highpc;
      uVar4 = uVar7;
      uVar10 = uVar12;
      if (uVar5 <= uVar7) goto LAB_0001d830;
    }
    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {
      if (bVar1) {
        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;
        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)
                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);
        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);
                    /* WARNING: Subroutine does not return */
        done(1);
      }
      *(uint *)p_lowpc = uVar6;
      *(uint *)((int)p_lowpc + 4) = uVar11;
      *(uint *)p_highpc = uVar7;
      *(uint *)((int)p_highpc + 4) = uVar12;
      bVar1 = true;
    }
    iVar8 = iVar8 + 1;
    puVar2 = puVar2 + 6;
    if (iVar13 == iVar8) {
      if (!bVar1) {
        uVar3 = *(undefined4 *)p_lowpc;
        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;
        *(undefined4 *)p_highpc = uVar3;
        return;
      }
      return;
    }
    uVar4 = *(uint *)p_lowpc;
    uVar10 = (uint)*p_lowpc;
  } while( true );
}



void hist_clip_symbol_address(uint *param_1,uint *param_2)

{
  bool bVar1;
  uint *puVar2;
  undefined4 uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  undefined4 uVar14;
  
  uVar4 = *param_1;
  uVar9 = param_1[1];
  iVar13 = *(int *)PTR_num_histograms_0003a578;
  if (iVar13 == 0) {
    *param_2 = uVar4;
    param_2[1] = uVar9;
    return;
  }
  bVar1 = false;
  iVar8 = 0;
  puVar2 = *(uint **)PTR_histograms_0003a564;
  do {
    uVar6 = *puVar2;
    uVar11 = puVar2[1];
    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {
      uVar7 = puVar2[2];
      uVar5 = *param_2;
      uVar12 = puVar2[3];
      uVar10 = param_2[1];
      uVar6 = uVar4;
      uVar4 = uVar7;
      uVar11 = uVar9;
      uVar9 = uVar12;
      if (uVar5 <= uVar7) {
LAB_0001d830:
        uVar7 = uVar5;
        uVar12 = uVar10;
        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {
          uVar7 = uVar4;
          uVar12 = uVar9;
        }
      }
    }
    else {
      uVar7 = puVar2[2];
      uVar5 = *param_2;
      uVar12 = puVar2[3];
      uVar10 = param_2[1];
      uVar4 = uVar7;
      uVar9 = uVar12;
      if (uVar5 <= uVar7) goto LAB_0001d830;
    }
    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {
      if (bVar1) {
        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;
        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)
                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);
        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);
                    /* WARNING: Subroutine does not return */
        done(1);
      }
      *param_1 = uVar6;
      param_1[1] = uVar11;
      *param_2 = uVar7;
      param_2[1] = uVar12;
      bVar1 = true;
    }
    iVar8 = iVar8 + 1;
    puVar2 = puVar2 + 6;
    if (iVar13 == iVar8) {
      if (!bVar1) {
        uVar4 = *param_1;
        param_2[1] = param_1[1];
        *param_2 = uVar4;
        return;
      }
      return;
    }
    uVar4 = *param_1;
    uVar9 = param_1[1];
  } while( true );
}


lui gp,0x2
addiu gp,gp,0x4be4
addu gp,gp,t9
lw v0,-0x7e38(gp)
addiu sp,sp,-0x20
lw v1,0x0(a0)
lw t1,0x4(a0)
sw gp,0x10(sp)
sw ra,0x1c(sp)
sw s0,0x18(sp)
lw t5,0x0(v0)
beq t5,zero,0x0001d914
_lw v0,-0x7e4c(gp)
or t6,zero,zero
or t0,zero,zero
b 0x0001d880
_lw v0,0x0(v0)
beq v1,a2,0x0001d8bc
_sltu a3,t2,t1
lw a3,0x8(v0)
lw v1,0x0(a1)
lw t4,0xc(v0)
sltu t3,a3,v1
bne t3,zero,0x0001d8b0
_lw t1,0x4(a1)
beq v1,a3,0x0001d8d0
_sltu t3,t4,t1
sltu a3,a2,v1
bne a3,zero,0x0001d854
_nop
bne v1,a2,0x0001d86c
_sltu a3,t2,t1
beq a3,zero,0x0001d86c
_nop
bne t6,zero,0x0001d92c
_li t6,0x1
sw a2,0x0(a0)
sw t2,0x4(a0)
sw v1,0x0(a1)
sw t1,0x4(a1)
addiu t0,t0,0x1
beq t5,t0,0x0001d8e4
_addiu v0,v0,0x18
lw v1,0x0(a0)
lw t1,0x4(a0)
lw a2,0x0(v0)
sltu a3,a2,v1
beq a3,zero,0x0001d810
_lw t2,0x4(v0)
or a2,v1,zero
or t2,t1,zero
lw a3,0x8(v0)
lw v1,0x0(a1)
lw t4,0xc(v0)
sltu t3,a3,v1
beq t3,zero,0x0001d830
_lw t1,0x4(a1)
or v1,a3,zero
b 0x0001d838
_or t1,t4,zero
beq a3,zero,0x0001d818
_nop
or a2,v1,zero
b 0x0001d898
_or t2,t1,zero
beq t3,zero,0x0001d838
_nop
or v1,a3,zero
b 0x0001d838
_or t1,t4,zero
beq t6,zero,0x0001d8f8
_lw ra,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x20
lw v1,0x4(a0)
lw v0,0x0(a0)
lw s0,0x18(sp)
sw v1,0x4(a1)
sw v0,0x0(a1)
jr ra
_addiu sp,sp,0x20
lw ra,0x1c(sp)
lw s0,0x18(sp)
sw v1,0x0(a1)
sw t1,0x4(a1)
jr ra
_addiu sp,sp,0x20
lw a1,-0x7fc8(gp)
li a2,0x5
lw a0,-0x7fc8(gp)
lw v0,-0x7cc0(gp)
lw t9,-0x7cec(gp)
addiu a1,a1,0x67e8
addiu a0,a0,0x4aa0
jalr t9
_lw s0,0x0(v0)
lw gp,0x10(sp)
or a1,v0,zero
or a0,s0,zero
lw v0,-0x7fc4(gp)
lw t9,-0x7d6c(gp)
jalr t9
_lw a2,0x0(v0)
lw gp,0x10(sp)
lw t9,-0x7f00(gp)
bal 0x0001c394
_li a0,0x1
(translation_unit "void hist_clip_symbol_address(uint *param_1,uint *param_2)\n\n{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}\n\n" (function_definition "void hist_clip_symbol_address(uint *param_1,uint *param_2)\n\n{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}" primitive_type (function_declarator "hist_clip_symbol_address(uint *param_1,uint *param_2)" identifier (parameter_list "(uint *param_1,uint *param_2)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = *(int *)PTR_num_histograms_0003a578;" (assignment_expression "iVar13 = *(int *)PTR_num_histograms_0003a578" identifier = (pointer_expression "*(int *)PTR_num_histograms_0003a578" * (cast_expression "(int *)PTR_num_histograms_0003a578" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }" { (expression_statement "*param_2 = uVar4;" (assignment_expression "*param_2 = uVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar9;" (assignment_expression "param_2[1] = uVar9" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "puVar2 = *(uint **)PTR_histograms_0003a564;" (assignment_expression "puVar2 = *(uint **)PTR_histograms_0003a564" identifier = (pointer_expression "*(uint **)PTR_histograms_0003a564" * (cast_expression "(uint **)PTR_histograms_0003a564" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );" do (compound_statement "{\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  }" { (expression_statement "uVar6 = *puVar2;" (assignment_expression "uVar6 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar11 = puVar2[1];" (assignment_expression "uVar11 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" if (parenthesized_expression "((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9))))" ( (binary_expression "(uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))" (parenthesized_expression "(uVar6 < uVar4)" ( (binary_expression "uVar6 < uVar4" identifier < identifier) )) || (parenthesized_expression "((uVar4 == uVar6 && (uVar11 < uVar9)))" ( (parenthesized_expression "(uVar4 == uVar6 && (uVar11 < uVar9))" ( (binary_expression "uVar4 == uVar6 && (uVar11 < uVar9)" (binary_expression "uVar4 == uVar6" identifier == identifier) && (parenthesized_expression "(uVar11 < uVar9)" ( (binary_expression "uVar11 < uVar9" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }" { (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" identifier = (subscript_expression "puVar2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_2[1];" (assignment_expression "uVar10 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = uVar4;" (assignment_expression "uVar6 = uVar4" identifier = identifier) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar11 = uVar9;" (assignment_expression "uVar11 = uVar9" identifier = identifier) ;) (expression_statement "uVar9 = uVar12;" (assignment_expression "uVar9 = uVar12" identifier = identifier) ;) (if_statement "if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }" if (parenthesized_expression "(uVar5 <= uVar7)" ( (binary_expression "uVar5 <= uVar7" identifier <= identifier) )) (compound_statement "{\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }" { (labeled_statement "LAB_0001d830:\n        uVar7 = uVar5;" statement_identifier : (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" identifier = identifier) ;)) (expression_statement "uVar12 = uVar10;" (assignment_expression "uVar12 = uVar10" identifier = identifier) ;) (if_statement "if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }" if (parenthesized_expression "((uVar5 == uVar4) && (uVar9 < uVar10))" ( (binary_expression "(uVar5 == uVar4) && (uVar9 < uVar10)" (parenthesized_expression "(uVar5 == uVar4)" ( (binary_expression "uVar5 == uVar4" identifier == identifier) )) && (parenthesized_expression "(uVar9 < uVar10)" ( (binary_expression "uVar9 < uVar10" identifier < identifier) ))) )) (compound_statement "{\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }" { (expression_statement "uVar7 = uVar4;" (assignment_expression "uVar7 = uVar4" identifier = identifier) ;) (expression_statement "uVar12 = uVar9;" (assignment_expression "uVar12 = uVar9" identifier = identifier) ;) })) })) }) (else_clause "else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" else (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" { (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" identifier = (subscript_expression "puVar2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_2[1];" (assignment_expression "uVar10 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar9 = uVar12;" (assignment_expression "uVar9 = uVar12" identifier = identifier) ;) (if_statement "if (uVar5 <= uVar7) goto LAB_0001d830;" if (parenthesized_expression "(uVar5 <= uVar7)" ( (binary_expression "uVar5 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_0001d830;" goto statement_identifier ;)) }))) (if_statement "if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }" if (parenthesized_expression "((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12))))" ( (binary_expression "(uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))" (parenthesized_expression "(uVar6 < uVar7)" ( (binary_expression "uVar6 < uVar7" identifier < identifier) )) || (parenthesized_expression "((uVar7 == uVar6 && (uVar11 < uVar12)))" ( (parenthesized_expression "(uVar7 == uVar6 && (uVar11 < uVar12))" ( (binary_expression "uVar7 == uVar6 && (uVar11 < uVar12)" (binary_expression "uVar7 == uVar6" identifier == identifier) && (parenthesized_expression "(uVar11 < uVar12)" ( (binary_expression "uVar11 < uVar12" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }" { (if_statement "if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }" { (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003a6f0" * (cast_expression "(undefined4 *)PTR_stderr_0003a6f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003a6c4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003a6c4" * (cast_expression "(code *)PTR_dcgettext_0003a6c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" ( (binary_expression "PTR_LAB_0003a3e8 + 0x4aa0" identifier + number_literal) , (binary_expression "PTR_LAB_0003a3e8 + 0x67e8" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);" (call_expression "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" (parenthesized_expression "(*(code *)PTR_fprintf_0003a644)" ( (pointer_expression "*(code *)PTR_fprintf_0003a644" * (cast_expression "(code *)PTR_fprintf_0003a644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" ( identifier , identifier , (pointer_expression "*(undefined4 *)PTR_whoami_0003a3ec" * (cast_expression "(undefined4 *)PTR_whoami_0003a3ec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) comment (expression_statement "done(1);" (call_expression "done(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "*param_1 = uVar6;" (assignment_expression "*param_1 = uVar6" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar11;" (assignment_expression "param_1[1] = uVar11" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_2 = uVar7;" (assignment_expression "*param_2 = uVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar12;" (assignment_expression "param_2[1] = uVar12" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar2 + 6;" (assignment_expression "puVar2 = puVar2 + 6" identifier = (binary_expression "puVar2 + 6" identifier + number_literal)) ;) (if_statement "if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }" if (parenthesized_expression "(iVar13 == iVar8)" ( (binary_expression "iVar13 == iVar8" identifier == identifier) )) (compound_statement "{\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }" { (if_statement "if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }" { (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_2[1] = param_1[1];" (assignment_expression "param_2[1] = param_1[1]" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "*param_2 = uVar4;" (assignment_expression "*param_2 = uVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void hist_clip_symbol_address(bfd_vma *p_lowpc,bfd_vma *p_highpc)\n\n{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *(uint *)p_lowpc;\n  uVar10 = (uint)*p_lowpc;\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *(uint *)p_highpc = uVar4;\n    *(uint *)((int)p_highpc + 4) = uVar10;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar10;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *(uint *)p_lowpc = uVar6;\n      *(uint *)((int)p_lowpc + 4) = uVar11;\n      *(uint *)p_highpc = uVar7;\n      *(uint *)((int)p_highpc + 4) = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }\n      return;\n    }\n    uVar4 = *(uint *)p_lowpc;\n    uVar10 = (uint)*p_lowpc;\n  } while( true );\n}\n\n" (function_definition "void hist_clip_symbol_address(bfd_vma *p_lowpc,bfd_vma *p_highpc)\n\n{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *(uint *)p_lowpc;\n  uVar10 = (uint)*p_lowpc;\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *(uint *)p_highpc = uVar4;\n    *(uint *)((int)p_highpc + 4) = uVar10;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar10;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *(uint *)p_lowpc = uVar6;\n      *(uint *)((int)p_lowpc + 4) = uVar11;\n      *(uint *)p_highpc = uVar7;\n      *(uint *)((int)p_highpc + 4) = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }\n      return;\n    }\n    uVar4 = *(uint *)p_lowpc;\n    uVar10 = (uint)*p_lowpc;\n  } while( true );\n}" primitive_type (function_declarator "hist_clip_symbol_address(bfd_vma *p_lowpc,bfd_vma *p_highpc)" identifier (parameter_list "(bfd_vma *p_lowpc,bfd_vma *p_highpc)" ( (parameter_declaration "bfd_vma *p_lowpc" type_identifier (pointer_declarator "*p_lowpc" * identifier)) , (parameter_declaration "bfd_vma *p_highpc" type_identifier (pointer_declarator "*p_highpc" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *(uint *)p_lowpc;\n  uVar10 = (uint)*p_lowpc;\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *(uint *)p_highpc = uVar4;\n    *(uint *)((int)p_highpc + 4) = uVar10;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar10;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *(uint *)p_lowpc = uVar6;\n      *(uint *)((int)p_lowpc + 4) = uVar11;\n      *(uint *)p_highpc = uVar7;\n      *(uint *)((int)p_highpc + 4) = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }\n      return;\n    }\n    uVar4 = *(uint *)p_lowpc;\n    uVar10 = (uint)*p_lowpc;\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (expression_statement "uVar4 = *(uint *)p_lowpc;" (assignment_expression "uVar4 = *(uint *)p_lowpc" identifier = (pointer_expression "*(uint *)p_lowpc" * (cast_expression "(uint *)p_lowpc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = (uint)*p_lowpc;" (assignment_expression "uVar10 = (uint)*p_lowpc" identifier = (binary_expression "(uint)*p_lowpc" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "iVar13 = *(int *)PTR_num_histograms_0003a578;" (assignment_expression "iVar13 = *(int *)PTR_num_histograms_0003a578" identifier = (pointer_expression "*(int *)PTR_num_histograms_0003a578" * (cast_expression "(int *)PTR_num_histograms_0003a578" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar13 == 0) {\n    *(uint *)p_highpc = uVar4;\n    *(uint *)((int)p_highpc + 4) = uVar10;\n    return;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    *(uint *)p_highpc = uVar4;\n    *(uint *)((int)p_highpc + 4) = uVar10;\n    return;\n  }" { (expression_statement "*(uint *)p_highpc = uVar4;" (assignment_expression "*(uint *)p_highpc = uVar4" (pointer_expression "*(uint *)p_highpc" * (cast_expression "(uint *)p_highpc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)((int)p_highpc + 4) = uVar10;" (assignment_expression "*(uint *)((int)p_highpc + 4) = uVar10" (pointer_expression "*(uint *)((int)p_highpc + 4)" * (cast_expression "(uint *)((int)p_highpc + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_highpc + 4)" ( (binary_expression "(int)p_highpc + 4" (cast_expression "(int)p_highpc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "puVar2 = *(uint **)PTR_histograms_0003a564;" (assignment_expression "puVar2 = *(uint **)PTR_histograms_0003a564" identifier = (pointer_expression "*(uint **)PTR_histograms_0003a564" * (cast_expression "(uint **)PTR_histograms_0003a564" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar10;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *(uint *)p_lowpc = uVar6;\n      *(uint *)((int)p_lowpc + 4) = uVar11;\n      *(uint *)p_highpc = uVar7;\n      *(uint *)((int)p_highpc + 4) = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }\n      return;\n    }\n    uVar4 = *(uint *)p_lowpc;\n    uVar10 = (uint)*p_lowpc;\n  } while( true );" do (compound_statement "{\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar10;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *(uint *)p_lowpc = uVar6;\n      *(uint *)((int)p_lowpc + 4) = uVar11;\n      *(uint *)p_highpc = uVar7;\n      *(uint *)((int)p_highpc + 4) = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }\n      return;\n    }\n    uVar4 = *(uint *)p_lowpc;\n    uVar10 = (uint)*p_lowpc;\n  }" { (expression_statement "uVar6 = *puVar2;" (assignment_expression "uVar6 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar11 = puVar2[1];" (assignment_expression "uVar11 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar10;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" if (parenthesized_expression "((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10))))" ( (binary_expression "(uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar10)))" (parenthesized_expression "(uVar6 < uVar4)" ( (binary_expression "uVar6 < uVar4" identifier < identifier) )) || (parenthesized_expression "((uVar4 == uVar6 && (uVar11 < uVar10)))" ( (parenthesized_expression "(uVar4 == uVar6 && (uVar11 < uVar10))" ( (binary_expression "uVar4 == uVar6 && (uVar11 < uVar10)" (binary_expression "uVar4 == uVar6" identifier == identifier) && (parenthesized_expression "(uVar11 < uVar10)" ( (binary_expression "uVar11 < uVar10" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar10;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }\n    }" { (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(uint *)p_highpc;" (assignment_expression "uVar5 = *(uint *)p_highpc" identifier = (pointer_expression "*(uint *)p_highpc" * (cast_expression "(uint *)p_highpc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" identifier = (subscript_expression "puVar2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)*p_highpc;" (assignment_expression "uVar9 = (uint)*p_highpc" identifier = (binary_expression "(uint)*p_highpc" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar6 = uVar4;" (assignment_expression "uVar6 = uVar4" identifier = identifier) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" identifier = identifier) ;) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (if_statement "if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }" if (parenthesized_expression "(uVar5 <= uVar7)" ( (binary_expression "uVar5 <= uVar7" identifier <= identifier) )) (compound_statement "{\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar9;\n        if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }\n      }" { (labeled_statement "LAB_0001d830:\n        uVar7 = uVar5;" statement_identifier : (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" identifier = identifier) ;)) (expression_statement "uVar12 = uVar9;" (assignment_expression "uVar12 = uVar9" identifier = identifier) ;) (if_statement "if ((uVar5 == uVar4) && (uVar10 < uVar9)) {\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }" if (parenthesized_expression "((uVar5 == uVar4) && (uVar10 < uVar9))" ( (binary_expression "(uVar5 == uVar4) && (uVar10 < uVar9)" (parenthesized_expression "(uVar5 == uVar4)" ( (binary_expression "uVar5 == uVar4" identifier == identifier) )) && (parenthesized_expression "(uVar10 < uVar9)" ( (binary_expression "uVar10 < uVar9" identifier < identifier) ))) )) (compound_statement "{\n          uVar7 = uVar4;\n          uVar12 = uVar10;\n        }" { (expression_statement "uVar7 = uVar4;" (assignment_expression "uVar7 = uVar4" identifier = identifier) ;) (expression_statement "uVar12 = uVar10;" (assignment_expression "uVar12 = uVar10" identifier = identifier) ;) })) })) }) (else_clause "else {\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" else (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *(uint *)p_highpc;\n      uVar12 = puVar2[3];\n      uVar9 = (uint)*p_highpc;\n      uVar4 = uVar7;\n      uVar10 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" { (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(uint *)p_highpc;" (assignment_expression "uVar5 = *(uint *)p_highpc" identifier = (pointer_expression "*(uint *)p_highpc" * (cast_expression "(uint *)p_highpc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" identifier = (subscript_expression "puVar2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)*p_highpc;" (assignment_expression "uVar9 = (uint)*p_highpc" identifier = (binary_expression "(uint)*p_highpc" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (if_statement "if (uVar5 <= uVar7) goto LAB_0001d830;" if (parenthesized_expression "(uVar5 <= uVar7)" ( (binary_expression "uVar5 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_0001d830;" goto statement_identifier ;)) }))) (if_statement "if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *(uint *)p_lowpc = uVar6;\n      *(uint *)((int)p_lowpc + 4) = uVar11;\n      *(uint *)p_highpc = uVar7;\n      *(uint *)((int)p_highpc + 4) = uVar12;\n      bVar1 = true;\n    }" if (parenthesized_expression "((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12))))" ( (binary_expression "(uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))" (parenthesized_expression "(uVar6 < uVar7)" ( (binary_expression "uVar6 < uVar7" identifier < identifier) )) || (parenthesized_expression "((uVar7 == uVar6 && (uVar11 < uVar12)))" ( (parenthesized_expression "(uVar7 == uVar6 && (uVar11 < uVar12))" ( (binary_expression "uVar7 == uVar6 && (uVar11 < uVar12)" (binary_expression "uVar7 == uVar6" identifier == identifier) && (parenthesized_expression "(uVar11 < uVar12)" ( (binary_expression "uVar11 < uVar12" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }\n      *(uint *)p_lowpc = uVar6;\n      *(uint *)((int)p_lowpc + 4) = uVar11;\n      *(uint *)p_highpc = uVar7;\n      *(uint *)((int)p_highpc + 4) = uVar12;\n      bVar1 = true;\n    }" { (if_statement "if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    /* WARNING: Subroutine does not return */\n        done(1);\n      }" { (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003a6f0" * (cast_expression "(undefined4 *)PTR_stderr_0003a6f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003a6c4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003a6c4" * (cast_expression "(code *)PTR_dcgettext_0003a6c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" ( (binary_expression "PTR_LAB_0003a3e8 + 0x4aa0" identifier + number_literal) , (binary_expression "PTR_LAB_0003a3e8 + 0x67e8" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);" (call_expression "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" (parenthesized_expression "(*(code *)PTR_fprintf_0003a644)" ( (pointer_expression "*(code *)PTR_fprintf_0003a644" * (cast_expression "(code *)PTR_fprintf_0003a644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" ( identifier , identifier , (pointer_expression "*(undefined4 *)PTR_whoami_0003a3ec" * (cast_expression "(undefined4 *)PTR_whoami_0003a3ec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) comment (expression_statement "done(1);" (call_expression "done(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "*(uint *)p_lowpc = uVar6;" (assignment_expression "*(uint *)p_lowpc = uVar6" (pointer_expression "*(uint *)p_lowpc" * (cast_expression "(uint *)p_lowpc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)((int)p_lowpc + 4) = uVar11;" (assignment_expression "*(uint *)((int)p_lowpc + 4) = uVar11" (pointer_expression "*(uint *)((int)p_lowpc + 4)" * (cast_expression "(uint *)((int)p_lowpc + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_lowpc + 4)" ( (binary_expression "(int)p_lowpc + 4" (cast_expression "(int)p_lowpc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)p_highpc = uVar7;" (assignment_expression "*(uint *)p_highpc = uVar7" (pointer_expression "*(uint *)p_highpc" * (cast_expression "(uint *)p_highpc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)((int)p_highpc + 4) = uVar12;" (assignment_expression "*(uint *)((int)p_highpc + 4) = uVar12" (pointer_expression "*(uint *)((int)p_highpc + 4)" * (cast_expression "(uint *)((int)p_highpc + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_highpc + 4)" ( (binary_expression "(int)p_highpc + 4" (cast_expression "(int)p_highpc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar2 + 6;" (assignment_expression "puVar2 = puVar2 + 6" identifier = (binary_expression "puVar2 + 6" identifier + number_literal)) ;) (if_statement "if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }\n      return;\n    }" if (parenthesized_expression "(iVar13 == iVar8)" ( (binary_expression "iVar13 == iVar8" identifier == identifier) )) (compound_statement "{\n      if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }\n      return;\n    }" { (if_statement "if (!bVar1) {\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n        uVar3 = *(undefined4 *)p_lowpc;\n        *(int *)((int)p_highpc + 4) = (int)*p_lowpc;\n        *(undefined4 *)p_highpc = uVar3;\n        return;\n      }" { (expression_statement "uVar3 = *(undefined4 *)p_lowpc;" (assignment_expression "uVar3 = *(undefined4 *)p_lowpc" identifier = (pointer_expression "*(undefined4 *)p_lowpc" * (cast_expression "(undefined4 *)p_lowpc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)((int)p_highpc + 4) = (int)*p_lowpc;" (assignment_expression "*(int *)((int)p_highpc + 4) = (int)*p_lowpc" (pointer_expression "*(int *)((int)p_highpc + 4)" * (cast_expression "(int *)((int)p_highpc + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_highpc + 4)" ( (binary_expression "(int)p_highpc + 4" (cast_expression "(int)p_highpc" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(int)*p_lowpc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*p_lowpc" * identifier))) ;) (expression_statement "*(undefined4 *)p_highpc = uVar3;" (assignment_expression "*(undefined4 *)p_highpc = uVar3" (pointer_expression "*(undefined4 *)p_highpc" * (cast_expression "(undefined4 *)p_highpc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) (expression_statement "uVar4 = *(uint *)p_lowpc;" (assignment_expression "uVar4 = *(uint *)p_lowpc" identifier = (pointer_expression "*(uint *)p_lowpc" * (cast_expression "(uint *)p_lowpc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = (uint)*p_lowpc;" (assignment_expression "uVar10 = (uint)*p_lowpc" identifier = (binary_expression "(uint)*p_lowpc" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void hist_clip_symbol_address(uint *param_1,uint *param_2)\n\n{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}\n\n" (function_definition "void hist_clip_symbol_address(uint *param_1,uint *param_2)\n\n{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}" primitive_type (function_declarator "hist_clip_symbol_address(uint *param_1,uint *param_2)" identifier (parameter_list "(uint *param_1,uint *param_2)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = *(int *)PTR_num_histograms_0003a578;" (assignment_expression "iVar13 = *(int *)PTR_num_histograms_0003a578" identifier = (pointer_expression "*(int *)PTR_num_histograms_0003a578" * (cast_expression "(int *)PTR_num_histograms_0003a578" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }" { (expression_statement "*param_2 = uVar4;" (assignment_expression "*param_2 = uVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar9;" (assignment_expression "param_2[1] = uVar9" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "puVar2 = *(uint **)PTR_histograms_0003a564;" (assignment_expression "puVar2 = *(uint **)PTR_histograms_0003a564" identifier = (pointer_expression "*(uint **)PTR_histograms_0003a564" * (cast_expression "(uint **)PTR_histograms_0003a564" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );" do (compound_statement "{\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  }" { (expression_statement "uVar6 = *puVar2;" (assignment_expression "uVar6 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar11 = puVar2[1];" (assignment_expression "uVar11 = puVar2[1]" identifier = (subscript_expression "puVar2[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" if (parenthesized_expression "((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9))))" ( (binary_expression "(uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))" (parenthesized_expression "(uVar6 < uVar4)" ( (binary_expression "uVar6 < uVar4" identifier < identifier) )) || (parenthesized_expression "((uVar4 == uVar6 && (uVar11 < uVar9)))" ( (parenthesized_expression "(uVar4 == uVar6 && (uVar11 < uVar9))" ( (binary_expression "uVar4 == uVar6 && (uVar11 < uVar9)" (binary_expression "uVar4 == uVar6" identifier == identifier) && (parenthesized_expression "(uVar11 < uVar9)" ( (binary_expression "uVar11 < uVar9" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }" { (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" identifier = (subscript_expression "puVar2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_2[1];" (assignment_expression "uVar10 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = uVar4;" (assignment_expression "uVar6 = uVar4" identifier = identifier) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar11 = uVar9;" (assignment_expression "uVar11 = uVar9" identifier = identifier) ;) (expression_statement "uVar9 = uVar12;" (assignment_expression "uVar9 = uVar12" identifier = identifier) ;) (if_statement "if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }" if (parenthesized_expression "(uVar5 <= uVar7)" ( (binary_expression "uVar5 <= uVar7" identifier <= identifier) )) (compound_statement "{\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }" { (labeled_statement "LAB_0001d830:\n        uVar7 = uVar5;" statement_identifier : (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" identifier = identifier) ;)) (expression_statement "uVar12 = uVar10;" (assignment_expression "uVar12 = uVar10" identifier = identifier) ;) (if_statement "if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }" if (parenthesized_expression "((uVar5 == uVar4) && (uVar9 < uVar10))" ( (binary_expression "(uVar5 == uVar4) && (uVar9 < uVar10)" (parenthesized_expression "(uVar5 == uVar4)" ( (binary_expression "uVar5 == uVar4" identifier == identifier) )) && (parenthesized_expression "(uVar9 < uVar10)" ( (binary_expression "uVar9 < uVar10" identifier < identifier) ))) )) (compound_statement "{\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }" { (expression_statement "uVar7 = uVar4;" (assignment_expression "uVar7 = uVar4" identifier = identifier) ;) (expression_statement "uVar12 = uVar9;" (assignment_expression "uVar12 = uVar9" identifier = identifier) ;) })) })) }) (else_clause "else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" else (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" { (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" identifier = (subscript_expression "puVar2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = param_2[1];" (assignment_expression "uVar10 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar9 = uVar12;" (assignment_expression "uVar9 = uVar12" identifier = identifier) ;) (if_statement "if (uVar5 <= uVar7) goto LAB_0001d830;" if (parenthesized_expression "(uVar5 <= uVar7)" ( (binary_expression "uVar5 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_0001d830;" goto statement_identifier ;)) }))) (if_statement "if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }" if (parenthesized_expression "((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12))))" ( (binary_expression "(uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))" (parenthesized_expression "(uVar6 < uVar7)" ( (binary_expression "uVar6 < uVar7" identifier < identifier) )) || (parenthesized_expression "((uVar7 == uVar6 && (uVar11 < uVar12)))" ( (parenthesized_expression "(uVar7 == uVar6 && (uVar11 < uVar12))" ( (binary_expression "uVar7 == uVar6 && (uVar11 < uVar12)" (binary_expression "uVar7 == uVar6" identifier == identifier) && (parenthesized_expression "(uVar11 < uVar12)" ( (binary_expression "uVar11 < uVar12" identifier < identifier) ))) )) ))) )) (compound_statement "{\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }" { (if_statement "if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }" { (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003a6f0" * (cast_expression "(undefined4 *)PTR_stderr_0003a6f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003a6c4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003a6c4" * (cast_expression "(code *)PTR_dcgettext_0003a6c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" ( (binary_expression "PTR_LAB_0003a3e8 + 0x4aa0" identifier + number_literal) , (binary_expression "PTR_LAB_0003a3e8 + 0x67e8" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);" (call_expression "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" (parenthesized_expression "(*(code *)PTR_fprintf_0003a644)" ( (pointer_expression "*(code *)PTR_fprintf_0003a644" * (cast_expression "(code *)PTR_fprintf_0003a644" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" ( identifier , identifier , (pointer_expression "*(undefined4 *)PTR_whoami_0003a3ec" * (cast_expression "(undefined4 *)PTR_whoami_0003a3ec" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "done(1);" (call_expression "done(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "*param_1 = uVar6;" (assignment_expression "*param_1 = uVar6" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar11;" (assignment_expression "param_1[1] = uVar11" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_2 = uVar7;" (assignment_expression "*param_2 = uVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar12;" (assignment_expression "param_2[1] = uVar12" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar2 + 6;" (assignment_expression "puVar2 = puVar2 + 6" identifier = (binary_expression "puVar2 + 6" identifier + number_literal)) ;) (if_statement "if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }" if (parenthesized_expression "(iVar13 == iVar8)" ( (binary_expression "iVar13 == iVar8" identifier == identifier) )) (compound_statement "{\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }" { (if_statement "if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (compound_statement "{\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }" { (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_2[1] = param_1[1];" (assignment_expression "param_2[1] = param_1[1]" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "*param_2 = uVar4;" (assignment_expression "*param_2 = uVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) }))) (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 { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return ;) })) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void hist_clip_symbol_address(uint *param_1,uint *param_2)\n\n{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}" (primitive_type "void") (function_declarator "hist_clip_symbol_address(uint *param_1,uint *param_2)" (identifier "hist_clip_symbol_address") (parameter_list "(uint *param_1,uint *param_2)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  uint *puVar2;\n  undefined4 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  undefined4 uVar14;\n  \n  uVar4 = *param_1;\n  uVar9 = param_1[1];\n  iVar13 = *(int *)PTR_num_histograms_0003a578;\n  if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }\n  bVar1 = false;\n  iVar8 = 0;\n  puVar2 = *(uint **)PTR_histograms_0003a564;\n  do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" (identifier "uVar4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" (identifier "uVar9") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar13 = *(int *)PTR_num_histograms_0003a578;" (assignment_expression "iVar13 = *(int *)PTR_num_histograms_0003a578" (identifier "iVar13") (= "=") (pointer_expression "*(int *)PTR_num_histograms_0003a578" (* "*") (cast_expression "(int *)PTR_num_histograms_0003a578" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_num_histograms_0003a578")))) (; ";")) (if_statement "if (iVar13 == 0) {\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *param_2 = uVar4;\n    param_2[1] = uVar9;\n    return;\n  }" ({ "{") (expression_statement "*param_2 = uVar4;" (assignment_expression "*param_2 = uVar4" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "param_2[1] = uVar9;" (assignment_expression "param_2[1] = uVar9" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = *(uint **)PTR_histograms_0003a564;" (assignment_expression "puVar2 = *(uint **)PTR_histograms_0003a564" (identifier "puVar2") (= "=") (pointer_expression "*(uint **)PTR_histograms_0003a564" (* "*") (cast_expression "(uint **)PTR_histograms_0003a564" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_histograms_0003a564")))) (; ";")) (do_statement "do {\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  } while( true );" (do "do") (compound_statement "{\n    uVar6 = *puVar2;\n    uVar11 = puVar2[1];\n    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }\n    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }\n    iVar8 = iVar8 + 1;\n    puVar2 = puVar2 + 6;\n    if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }\n    uVar4 = *param_1;\n    uVar9 = param_1[1];\n  }" ({ "{") (expression_statement "uVar6 = *puVar2;" (assignment_expression "uVar6 = *puVar2" (identifier "uVar6") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "uVar11 = puVar2[1];" (assignment_expression "uVar11 = puVar2[1]" (identifier "uVar11") (= "=") (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }\n    else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" (if "if") (parenthesized_expression "((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9))))" (( "(") (binary_expression "(uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))" (parenthesized_expression "(uVar6 < uVar4)" (( "(") (binary_expression "uVar6 < uVar4" (identifier "uVar6") (< "<") (identifier "uVar4")) () ")")) (|| "||") (parenthesized_expression "((uVar4 == uVar6 && (uVar11 < uVar9)))" (( "(") (parenthesized_expression "(uVar4 == uVar6 && (uVar11 < uVar9))" (( "(") (binary_expression "uVar4 == uVar6 && (uVar11 < uVar9)" (binary_expression "uVar4 == uVar6" (identifier "uVar4") (== "==") (identifier "uVar6")) (&& "&&") (parenthesized_expression "(uVar11 < uVar9)" (( "(") (binary_expression "uVar11 < uVar9" (identifier "uVar11") (< "<") (identifier "uVar9")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar6 = uVar4;\n      uVar4 = uVar7;\n      uVar11 = uVar9;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }\n    }" ({ "{") (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" (identifier "uVar5") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" (identifier "uVar12") (= "=") (subscript_expression "puVar2[3]" (identifier "puVar2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar10 = param_2[1];" (assignment_expression "uVar10 = param_2[1]" (identifier "uVar10") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar6 = uVar4;" (assignment_expression "uVar6 = uVar4" (identifier "uVar6") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" (identifier "uVar4") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar11 = uVar9;" (assignment_expression "uVar11 = uVar9" (identifier "uVar11") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uVar9 = uVar12;" (assignment_expression "uVar9 = uVar12" (identifier "uVar9") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (uVar5 <= uVar7) {\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }" (if "if") (parenthesized_expression "(uVar5 <= uVar7)" (( "(") (binary_expression "uVar5 <= uVar7" (identifier "uVar5") (<= "<=") (identifier "uVar7")) () ")")) (compound_statement "{\nLAB_0001d830:\n        uVar7 = uVar5;\n        uVar12 = uVar10;\n        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }\n      }" ({ "{") (labeled_statement "LAB_0001d830:\n        uVar7 = uVar5;" (statement_identifier "LAB_0001d830") (: ":") (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" (identifier "uVar7") (= "=") (identifier "uVar5")) (; ";"))) (expression_statement "uVar12 = uVar10;" (assignment_expression "uVar12 = uVar10" (identifier "uVar12") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if ((uVar5 == uVar4) && (uVar9 < uVar10)) {\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }" (if "if") (parenthesized_expression "((uVar5 == uVar4) && (uVar9 < uVar10))" (( "(") (binary_expression "(uVar5 == uVar4) && (uVar9 < uVar10)" (parenthesized_expression "(uVar5 == uVar4)" (( "(") (binary_expression "uVar5 == uVar4" (identifier "uVar5") (== "==") (identifier "uVar4")) () ")")) (&& "&&") (parenthesized_expression "(uVar9 < uVar10)" (( "(") (binary_expression "uVar9 < uVar10" (identifier "uVar9") (< "<") (identifier "uVar10")) () ")"))) () ")")) (compound_statement "{\n          uVar7 = uVar4;\n          uVar12 = uVar9;\n        }" ({ "{") (expression_statement "uVar7 = uVar4;" (assignment_expression "uVar7 = uVar4" (identifier "uVar7") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar12 = uVar9;" (assignment_expression "uVar12 = uVar9" (identifier "uVar12") (= "=") (identifier "uVar9")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" (else "else") (compound_statement "{\n      uVar7 = puVar2[2];\n      uVar5 = *param_2;\n      uVar12 = puVar2[3];\n      uVar10 = param_2[1];\n      uVar4 = uVar7;\n      uVar9 = uVar12;\n      if (uVar5 <= uVar7) goto LAB_0001d830;\n    }" ({ "{") (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar5 = *param_2;" (assignment_expression "uVar5 = *param_2" (identifier "uVar5") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar12 = puVar2[3];" (assignment_expression "uVar12 = puVar2[3]" (identifier "uVar12") (= "=") (subscript_expression "puVar2[3]" (identifier "puVar2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar10 = param_2[1];" (assignment_expression "uVar10 = param_2[1]" (identifier "uVar10") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" (identifier "uVar4") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar9 = uVar12;" (assignment_expression "uVar9 = uVar12" (identifier "uVar9") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (uVar5 <= uVar7) goto LAB_0001d830;" (if "if") (parenthesized_expression "(uVar5 <= uVar7)" (( "(") (binary_expression "uVar5 <= uVar7" (identifier "uVar5") (<= "<=") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0001d830;" (goto "goto") (statement_identifier "LAB_0001d830") (; ";"))) (} "}")))) (if_statement "if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }" (if "if") (parenthesized_expression "((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12))))" (( "(") (binary_expression "(uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))" (parenthesized_expression "(uVar6 < uVar7)" (( "(") (binary_expression "uVar6 < uVar7" (identifier "uVar6") (< "<") (identifier "uVar7")) () ")")) (|| "||") (parenthesized_expression "((uVar7 == uVar6 && (uVar11 < uVar12)))" (( "(") (parenthesized_expression "(uVar7 == uVar6 && (uVar11 < uVar12))" (( "(") (binary_expression "uVar7 == uVar6 && (uVar11 < uVar12)" (binary_expression "uVar7 == uVar6" (identifier "uVar7") (== "==") (identifier "uVar6")) (&& "&&") (parenthesized_expression "(uVar11 < uVar12)" (( "(") (binary_expression "uVar11 < uVar12" (identifier "uVar11") (< "<") (identifier "uVar12")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }\n      *param_1 = uVar6;\n      param_1[1] = uVar11;\n      *param_2 = uVar7;\n      param_2[1] = uVar12;\n      bVar1 = true;\n    }" ({ "{") (if_statement "if (bVar1) {\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;\n        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);\n        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);\n                    \n        done(1);\n      }" ({ "{") (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003a6f0" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)PTR_stderr_0003a6f0" (* "*") (cast_expression "(undefined4 *)PTR_stderr_0003a6f0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_0003a6f0")))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_dcgettext_0003a6c4)\n                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003a6c4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0003a6c4" (* "*") (cast_expression "(code *)PTR_dcgettext_0003a6c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0003a6c4"))) () ")")) (argument_list "(PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5)" (( "(") (binary_expression "PTR_LAB_0003a3e8 + 0x4aa0" (identifier "PTR_LAB_0003a3e8") (+ "+") (number_literal "0x4aa0")) (, ",") (binary_expression "PTR_LAB_0003a3e8 + 0x67e8" (identifier "PTR_LAB_0003a3e8") (+ "+") (number_literal "0x67e8")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);" (call_expression "(*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" (parenthesized_expression "(*(code *)PTR_fprintf_0003a644)" (( "(") (pointer_expression "*(code *)PTR_fprintf_0003a644" (* "*") (cast_expression "(code *)PTR_fprintf_0003a644" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fprintf_0003a644"))) () ")")) (argument_list "(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar3") (, ",") (pointer_expression "*(undefined4 *)PTR_whoami_0003a3ec" (* "*") (cast_expression "(undefined4 *)PTR_whoami_0003a3ec" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_whoami_0003a3ec"))) () ")"))) (; ";")) (expression_statement "done(1);" (call_expression "done(1)" (identifier "done") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "*param_1 = uVar6;" (assignment_expression "*param_1 = uVar6" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_1[1] = uVar11;" (assignment_expression "param_1[1] = uVar11" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*param_2 = uVar7;" (assignment_expression "*param_2 = uVar7" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_2[1] = uVar12;" (assignment_expression "param_2[1] = uVar12" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar2 = puVar2 + 6;" (assignment_expression "puVar2 = puVar2 + 6" (identifier "puVar2") (= "=") (binary_expression "puVar2 + 6" (identifier "puVar2") (+ "+") (number_literal "6"))) (; ";")) (if_statement "if (iVar13 == iVar8) {\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }" (if "if") (parenthesized_expression "(iVar13 == iVar8)" (( "(") (binary_expression "iVar13 == iVar8" (identifier "iVar13") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n      if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }\n      return;\n    }" ({ "{") (if_statement "if (!bVar1) {\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }" (if "if") (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (compound_statement "{\n        uVar4 = *param_1;\n        param_2[1] = param_1[1];\n        *param_2 = uVar4;\n        return;\n      }" ({ "{") (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" (identifier "uVar4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "param_2[1] = param_1[1];" (assignment_expression "param_2[1] = param_1[1]" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*param_2 = uVar4;" (assignment_expression "*param_2 = uVar4" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar4 = *param_1;" (assignment_expression "uVar4 = *param_1" (identifier "uVar4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" (identifier "uVar9") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

void function_1(type_1 *var_1,type_1 *var_7)

{
  bool bVar1;
  type_2 *var_15;
  type_3 uVar3;
  type_2 var_4;
  type_2 var_8;
  type_2 var_3;
  type_2 var_9;
  int var_14;
  type_2 var_10;
  type_2 var_6;
  type_2 var_5;
  type_2 var_11;
  int var_2;
  type_3 uVar14;
  
  var_4 = *(type_2 *)var_1;
  var_6 = (type_2)*var_1;
  var_2 = *(int *)PTR_num_histograms_0003a578;
  if (var_2 == 0) {
    *(type_2 *)var_7 = var_4;
    *(type_2 *)((int)var_7 + 4) = var_6;
    return;
  }
  bVar1 = false;
  var_14 = 0;
  var_15 = *(type_2 **)PTR_histograms_0003a564;
  do {
    var_3 = *var_15;
    var_5 = var_15[1];
    if ((var_3 < var_4) || ((var_4 == var_3 && (var_5 < var_6)))) {
      var_9 = var_15[2];
      var_8 = *(type_2 *)var_7;
      var_11 = var_15[3];
      var_10 = (type_2)*var_7;
      var_3 = var_4;
      var_4 = var_9;
      var_5 = var_6;
      var_6 = var_11;
      if (var_8 <= var_9) {
LAB_0001d830:
        var_9 = var_8;
        var_11 = var_10;
        if ((var_8 == var_4) && (var_6 < var_10)) {
          var_9 = var_4;
          var_11 = var_6;
        }
      }
    }
    else {
      var_9 = var_15[2];
      var_8 = *(type_2 *)var_7;
      var_11 = var_15[3];
      var_10 = (type_2)*var_7;
      var_4 = var_9;
      var_6 = var_11;
      if (var_8 <= var_9) goto LAB_0001d830;
    }
    if ((var_3 < var_9) || ((var_9 == var_3 && (var_5 < var_11)))) {
      if (bVar1) {
        uVar14 = *(type_3 *)PTR_stderr_0003a6f0;
        uVar3 = (*(type_4 *)PTR_dcgettext_0003a6c4)
                          (var_12 + 0x4aa0,var_12 + 0x67e8,5);
        (*(type_4 *)PTR_fprintf_0003a644)(uVar14,uVar3,*(type_3 *)PTR_whoami_0003a3ec);
                    /* WARNING: Subroutine does not return */
        var_13(1);
      }
      *(type_2 *)var_1 = var_3;
      *(type_2 *)((int)var_1 + 4) = var_5;
      *(type_2 *)var_7 = var_9;
      *(type_2 *)((int)var_7 + 4) = var_11;
      bVar1 = true;
    }
    var_14 = var_14 + 1;
    var_15 = var_15 + 6;
    if (var_2 == var_14) {
      if (!bVar1) {
        uVar3 = *(type_3 *)var_1;
        *(int *)((int)var_7 + 4) = (int)*var_1;
        *(type_3 *)var_7 = uVar3;
        return;
      }
      return;
    }
    var_4 = *(type_2 *)var_1;
    var_6 = (type_2)*var_1;
  } while( true );
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_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 declarator: (abstract_pointer_declarator))) value: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (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 (if_statement condition: (parenthesized_expression (identifier)) consequence: (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: (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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (true))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) condition: (parenthesized_expression (true))))))

void MASKED(uint *param_1,uint *param_2)

{
  bool bVar1;
  uint *puVar2;
  undefined4 uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  undefined4 uVar14;
  
  uVar4 = *param_1;
  uVar9 = param_1[1];
  iVar13 = *(int *)PTR_num_histograms_0003a578;
  if (iVar13 == 0) {
    *param_2 = uVar4;
    param_2[1] = uVar9;
    return;
  }
  bVar1 = false;
  iVar8 = 0;
  puVar2 = *(uint **)PTR_histograms_0003a564;
  do {
    uVar6 = *puVar2;
    uVar11 = puVar2[1];
    if ((uVar6 < uVar4) || ((uVar4 == uVar6 && (uVar11 < uVar9)))) {
      uVar7 = puVar2[2];
      uVar5 = *param_2;
      uVar12 = puVar2[3];
      uVar10 = param_2[1];
      uVar6 = uVar4;
      uVar4 = uVar7;
      uVar11 = uVar9;
      uVar9 = uVar12;
      if (uVar5 <= uVar7) {
LAB_0001d830:
        uVar7 = uVar5;
        uVar12 = uVar10;
        if ((uVar5 == uVar4) && (uVar9 < uVar10)) {
          uVar7 = uVar4;
          uVar12 = uVar9;
        }
      }
    }
    else {
      uVar7 = puVar2[2];
      uVar5 = *param_2;
      uVar12 = puVar2[3];
      uVar10 = param_2[1];
      uVar4 = uVar7;
      uVar9 = uVar12;
      if (uVar5 <= uVar7) goto LAB_0001d830;
    }
    if ((uVar6 < uVar7) || ((uVar7 == uVar6 && (uVar11 < uVar12)))) {
      if (bVar1) {
        uVar14 = *(undefined4 *)PTR_stderr_0003a6f0;
        uVar3 = (*(code *)PTR_dcgettext_0003a6c4)
                          (PTR_LAB_0003a3e8 + 0x4aa0,PTR_LAB_0003a3e8 + 0x67e8,5);
        (*(code *)PTR_fprintf_0003a644)(uVar14,uVar3,*(undefined4 *)PTR_whoami_0003a3ec);
                    /* WARNING: Subroutine does not return */
        done(1);
      }
      *param_1 = uVar6;
      param_1[1] = uVar11;
      *param_2 = uVar7;
      param_2[1] = uVar12;
      bVar1 = true;
    }
    iVar8 = iVar8 + 1;
    puVar2 = puVar2 + 6;
    if (iVar13 == iVar8) {
      if (!bVar1) {
        uVar4 = *param_1;
        param_2[1] = param_1[1];
        *param_2 = uVar4;
        return;
      }
      return;
    }
    uVar4 = *param_1;
    uVar9 = param_1[1];
  } while( true );
}

