
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void ssh_channel_init(ssh_channel *c)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  tree234 *ptVar5;
  undefined *puVar6;
  uint uVar7;
  Ssh_conflict ssh;
  undefined *puVar8;
  uint i;
  int local_24;
  
  puVar8 = PTR___stack_chk_guard_000b0c9c;
  ssh = c->ssh;
  local_24 = *(int *)PTR___stack_chk_guard_000b0c9c;
  uVar2 = (*(code *)PTR_count234_000b05e4)(ssh->channels);
  ptVar5 = ssh->channels;
  uVar3 = uVar2 + 1;
  uVar1 = 0xffffffff;
  while (1 < uVar3) {
    uVar3 = uVar1 + uVar2 >> 1;
    iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3);
    uVar7 = uVar3;
    if (*(int *)(iVar4 + 8) != uVar3 + 0x100) {
      uVar7 = uVar1;
      uVar2 = uVar3;
    }
    ptVar5 = ssh->channels;
    uVar1 = uVar7;
    uVar3 = uVar2 - uVar7;
  }
  i = uVar1 + 0x101;
  iVar4 = (*(code *)PTR_find234_000b02b8)(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164);
  if (iVar4 == 0) {
    iVar4 = ssh->version;
    c->localid = uVar1 + 0x101;
    c->closes = 0;
    c->pending_eof = 0;
    c->throttling_conn = 0;
    if (iVar4 == 2) {
      iVar4 = ssh_is_simple(ssh);
      if (iVar4 == 0) {
        iVar4 = 0x4000;
      }
      else {
        iVar4 = 0x7fffffff;
      }
      (c->v).v2.remlocwin = iVar4;
      (c->v).v2.locmaxwin = iVar4;
      (c->v).v2.locwindow = iVar4;
      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;
      (c->v).v2.throttle_state = ADDRTYPE_IPV6;
      bufchain_init(&(c->v).v2.outbuffer);
    }
    (*(code *)PTR_add234_000b0294)(ssh->channels,c);
    if (local_24 == *(int *)puVar8) {
      return;
    }
    (*(code *)PTR___stack_chk_fail_000b0c70)();
  }
  puVar6 = PTR_s_Present_000b0188 + 0x26f8;
  puVar8 = PTR___assert_fail_000b0ac0;
  (*(code *)PTR___assert_fail_000b0ac0)
            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);
  iVar4 = (**(code **)(puVar8 + 0x73284))();
  if ((((iVar4 != 0) &&
       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),
       iVar4 != 0)) &&
      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),
      iVar4 != 0)) &&
     (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),
     iVar4 != 0)) {
    iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c);
    if (((iVar4 == 0) ||
        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),
        iVar4 == 0)) ||
       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),
        iVar4 == 0 ||
        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),
        iVar4 == 0)))) {
      return;
    }
    (**(code **)(puVar8 + 0x73198))(puVar6,0,10);
  }
  return;
}



uint FUN_0003d798(int *param_1)

{
  uint uVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined *puVar6;
  uint uVar7;
  int iVar8;
  undefined *puVar9;
  int local_28;
  uint local_24;
  
  puVar9 = PTR___stack_chk_guard_000b0c9c;
  iVar8 = *param_1;
  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;
  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));
  uVar5 = *(undefined4 *)(iVar8 + 0x124);
  uVar2 = uVar1 + 1;
  uVar4 = 0xffffffff;
  while (1 < uVar2) {
    uVar2 = uVar4 + uVar1 >> 1;
    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);
    uVar7 = uVar2;
    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {
      uVar7 = uVar4;
      uVar1 = uVar2;
    }
    uVar5 = *(undefined4 *)(iVar8 + 0x124);
    uVar4 = uVar7;
    uVar2 = uVar1 - uVar7;
  }
  local_28 = uVar4 + 0x101;
  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);
  if (iVar3 == 0) {
    iVar3 = *(int *)(iVar8 + 0x198);
    param_1[2] = uVar4 + 0x101;
    param_1[5] = 0;
    param_1[6] = 0;
    param_1[7] = 0;
    if (iVar3 == 2) {
      iVar3 = FUN_00036c3c(iVar8);
      if (iVar3 == 0) {
        iVar3 = 0x4000;
      }
      else {
        iVar3 = 0x7fffffff;
      }
      param_1[0xf] = iVar3;
      param_1[0xe] = iVar3;
      param_1[0xd] = iVar3;
      param_1[0x10] = 0;
      param_1[0x12] = 2;
      bufchain_init(param_1 + 8);
    }
    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);
    if (local_24 == *(uint *)puVar9) {
      return *(uint *)puVar9;
    }
    (*(code *)PTR___stack_chk_fail_000b0c70)();
  }
  puVar6 = PTR_s_Present_000b0188 + 0x26f8;
  puVar9 = PTR___assert_fail_000b0ac0;
  (*(code *)PTR___assert_fail_000b0ac0)
            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);
  iVar8 = (**(code **)(puVar9 + 0x73284))();
  if ((((iVar8 == 0) ||
       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),
       iVar8 == 0)) ||
      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),
      iVar8 == 0)) ||
     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),
     iVar8 == 0)) {
    uVar4 = 1;
  }
  else {
    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);
    if (((iVar8 == 0) ||
        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),
        iVar8 == 0)) ||
       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),
        iVar8 == 0 ||
        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),
        iVar8 == 0)))) {
      return 0;
    }
    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);
    uVar4 = (uint)(iVar8 != 0);
  }
  return uVar4;
}


lui gp,0x8
addiu gp,gp,-0x5648
addu gp,gp,t9
addiu sp,sp,-0x40
lw t9,-0x7b6c(gp)
sw s4,0x34(sp)
sw s3,0x30(sp)
lw s4,-0x74b4(gp)
lw s3,0x0(a0)
sw s2,0x2c(sp)
or s2,a0,zero
sw gp,0x10(sp)
sw s5,0x38(sp)
sw s1,0x28(sp)
li s1,-0x1
sw ra,0x3c(sp)
sw s0,0x24(sp)
lw v0,0x0(s4)
lw a0,0x124(s3)
sw v0,0x1c(sp)
jalr t9
_nop
or s5,v0,zero
lw gp,0x10(sp)
subu v0,s5,s1
sltiu v0,v0,0x2
bne v0,zero,0x0003d848
_lw a0,0x124(s3)
addu s0,s1,s5
lw t9,-0x7ea8(gp)
srl s0,s0,0x1
jalr t9
_or a1,s0,zero
addiu v1,s0,0x100
lw v0,0x8(v0)
beq v0,v1,0x0003d834
_lw gp,0x10(sp)
or s5,s0,zero
or s0,s1,zero
or s1,s0,zero
subu v0,s5,s1
sltiu v0,v0,0x2
beq v0,zero,0x0003d808
_lw a0,0x124(s3)
lw a2,-0x7c8c(gp)
addiu s1,s1,0x101
lw t9,-0x7e98(gp)
addiu a1,sp,0x18
sw s1,0x18(sp)
jalr t9
_addiu a2,a2,0x6164
bne v0,zero,0x0003d92c
_lw gp,0x10(sp)
lw v1,0x198(s3)
li v0,0x2
sw s1,0x8(s2)
sw zero,0x14(s2)
sw zero,0x18(s2)
beq v1,v0,0x0003d8cc
_sw zero,0x1c(s2)
lw t9,-0x7ebc(gp)
or a1,s2,zero
jalr t9
_lw a0,0x124(s3)
lw v1,0x1c(sp)
lw v0,0x0(s4)
bne v1,v0,0x0003d920
_lw gp,0x10(sp)
lw ra,0x3c(sp)
lw s5,0x38(sp)
lw s4,0x34(sp)
lw s3,0x30(sp)
lw s2,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x40
lw t9,-0x7c8c(gp)
addiu t9,t9,0x6c3c
bal 0x00036c3c
_or a0,s3,zero
bne v0,zero,0x0003d914
_lw gp,0x10(sp)
li v0,0x4000
lw t9,-0x7e38(gp)
addiu a0,s2,0x20
sw v0,0x3c(s2)
sw v0,0x38(s2)
sw v0,0x34(s2)
li v0,0x2
sw zero,0x40(s2)
bal 0x000200e0
_sw v0,0x48(s2)
b 0x0003d888
_lw gp,0x10(sp)
lui v0,0x7fff
b 0x0003d8e8
_ori v0,v0,0xffff
lw t9,-0x74e0(gp)
jalr t9
_nop
lw a3,-0x7fc8(gp)
li a2,0x4a9
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7690(gp)
addiu a3,a3,0x5b78
addiu a1,a1,0x13b0
jalr t9
_addiu a0,a0,0x26f8
(translation_unit "uint FUN_0003d798(int *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}\n\n" (function_definition "uint FUN_0003d798(int *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}" type_identifier (function_declarator "FUN_0003d798(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (expression_statement "puVar9 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar9 = PTR___stack_chk_guard_000b0c9c" identifier = identifier) ;) (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_000b0c9c" * (cast_expression "(uint *)PTR___stack_chk_guard_000b0c9c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));" (assignment_expression "uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124))" identifier = (call_expression "(*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124))" (parenthesized_expression "(*(code *)PTR_count234_000b05e4)" ( (pointer_expression "*(code *)PTR_count234_000b05e4" * (cast_expression "(code *)PTR_count234_000b05e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar8 + 0x124))" ( (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) )))) )))) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar8 + 0x124);" (assignment_expression "uVar5 = *(undefined4 *)(iVar8 + 0x124)" identifier = (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = uVar1 + 1;" (assignment_expression "uVar2 = uVar1 + 1" identifier = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (while_statement "while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }" while (parenthesized_expression "(1 < uVar2)" ( (binary_expression "1 < uVar2" number_literal < identifier) )) (compound_statement "{\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }" { (expression_statement "uVar2 = uVar4 + uVar1 >> 1;" (assignment_expression "uVar2 = uVar4 + uVar1 >> 1" identifier = (binary_expression "uVar4 + uVar1 >> 1" (binary_expression "uVar4 + uVar1" identifier + identifier) >> number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);" (assignment_expression "iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2)" identifier = (call_expression "(*(code *)PTR_index234_000b02a8)(uVar5,uVar2)" (parenthesized_expression "(*(code *)PTR_index234_000b02a8)" ( (pointer_expression "*(code *)PTR_index234_000b02a8" * (cast_expression "(code *)PTR_index234_000b02a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,uVar2)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = uVar2;" (assignment_expression "uVar7 = uVar2" identifier = identifier) ;) (if_statement "if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }" if (parenthesized_expression "(*(int *)(iVar3 + 8) != uVar2 + 0x100)" ( (binary_expression "*(int *)(iVar3 + 8) != uVar2 + 0x100" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) != (binary_expression "uVar2 + 0x100" identifier + number_literal)) )) (compound_statement "{\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }" { (expression_statement "uVar7 = uVar4;" (assignment_expression "uVar7 = uVar4" identifier = identifier) ;) (expression_statement "uVar1 = uVar2;" (assignment_expression "uVar1 = uVar2" identifier = identifier) ;) })) (expression_statement "uVar5 = *(undefined4 *)(iVar8 + 0x124);" (assignment_expression "uVar5 = *(undefined4 *)(iVar8 + 0x124)" identifier = (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar2 = uVar1 - uVar7;" (assignment_expression "uVar2 = uVar1 - uVar7" identifier = (binary_expression "uVar1 - uVar7" identifier - identifier)) ;) })) (expression_statement "local_28 = uVar4 + 0x101;" (assignment_expression "local_28 = uVar4 + 0x101" identifier = (binary_expression "uVar4 + 0x101" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);" (assignment_expression "iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" identifier = (call_expression "(*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" (parenthesized_expression "(*(code *)PTR_find234_000b02b8)" ( (pointer_expression "*(code *)PTR_find234_000b02b8" * (cast_expression "(code *)PTR_find234_000b02b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" ( identifier , (pointer_expression "&local_28" & identifier) , (binary_expression "PTR_LAB_000b04c4 + 0x6164" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" { (expression_statement "iVar3 = *(int *)(iVar8 + 0x198);" (assignment_expression "iVar3 = *(int *)(iVar8 + 0x198)" identifier = (pointer_expression "*(int *)(iVar8 + 0x198)" * (cast_expression "(int *)(iVar8 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x198)" ( (binary_expression "iVar8 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "param_1[2] = uVar4 + 0x101;" (assignment_expression "param_1[2] = uVar4 + 0x101" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (binary_expression "uVar4 + 0x101" identifier + number_literal)) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = 0;" (assignment_expression "param_1[6] = 0" (subscript_expression "param_1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }" { (expression_statement "iVar3 = FUN_00036c3c(iVar8);" (assignment_expression "iVar3 = FUN_00036c3c(iVar8)" identifier = (call_expression "FUN_00036c3c(iVar8)" identifier (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = 0x4000;\n      }" { (expression_statement "iVar3 = 0x4000;" (assignment_expression "iVar3 = 0x4000" identifier = number_literal) ;) }) (else_clause "else {\n        iVar3 = 0x7fffffff;\n      }" else (compound_statement "{\n        iVar3 = 0x7fffffff;\n      }" { (expression_statement "iVar3 = 0x7fffffff;" (assignment_expression "iVar3 = 0x7fffffff" identifier = number_literal) ;) }))) (expression_statement "param_1[0xf] = iVar3;" (assignment_expression "param_1[0xf] = iVar3" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xe] = iVar3;" (assignment_expression "param_1[0xe] = iVar3" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xd] = iVar3;" (assignment_expression "param_1[0xd] = iVar3" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x12] = 2;" (assignment_expression "param_1[0x12] = 2" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bufchain_init(param_1 + 8);" (call_expression "bufchain_init(param_1 + 8)" identifier (argument_list "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);" (call_expression "(*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1)" (parenthesized_expression "(*(code *)PTR_add234_000b0294)" ( (pointer_expression "*(code *)PTR_add234_000b0294" * (cast_expression "(code *)PTR_add234_000b0294" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar8 + 0x124),param_1)" ( (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }" if (parenthesized_expression "(local_24 == *(uint *)puVar9)" ( (binary_expression "local_24 == *(uint *)puVar9" identifier == (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return *(uint *)puVar9;\n    }" { (return_statement "return *(uint *)puVar9;" return (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" * (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar6 = PTR_s_Present_000b0188 + 0x26f8;" (assignment_expression "puVar6 = PTR_s_Present_000b0188 + 0x26f8" identifier = (binary_expression "PTR_s_Present_000b0188 + 0x26f8" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR___assert_fail_000b0ac0;" (assignment_expression "puVar9 = PTR___assert_fail_000b0ac0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);" (call_expression "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b0ac0)" ( (pointer_expression "*(code *)PTR___assert_fail_000b0ac0" * (cast_expression "(code *)PTR___assert_fail_000b0ac0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" ( identifier , (binary_expression "PTR_s_Present_000b0188 + 0x13b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_Present_000b0188 + 0x5b78" identifier + number_literal) ))) ;) (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73284))();" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))()" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))()" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" if (parenthesized_expression "((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0))" ( (binary_expression "(((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)" (parenthesized_expression "(((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0))" ( (binary_expression "((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)" (parenthesized_expression "((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0))" ( (binary_expression "(iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x54d8" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2730" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2738" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar4 = 1;\n  }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" else (compound_statement "{\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" { (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x273c" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }" if (parenthesized_expression "(((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0))))" ( (binary_expression "((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))" (parenthesized_expression "((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0))" ( (binary_expression "(iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2740" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))" ( (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0))" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2744" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" (binary_expression "iVar8 == 0" identifier == number_literal) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72880) + -0x4dc0" (pointer_expression "*(int *)(puVar9 + 0x72880)" * (cast_expression "(int *)(puVar9 + 0x72880)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72880)" ( (binary_expression "puVar9 + 0x72880" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10)" identifier = (call_expression "(**(code **)(puVar9 + 0x73198))(puVar6,0,10)" (parenthesized_expression "(**(code **)(puVar9 + 0x73198))" ( (pointer_expression "**(code **)(puVar9 + 0x73198)" * (pointer_expression "*(code **)(puVar9 + 0x73198)" * (cast_expression "(code **)(puVar9 + 0x73198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73198)" ( (binary_expression "puVar9 + 0x73198" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "uVar4 = (uint)(iVar8 != 0);" (assignment_expression "uVar4 = (uint)(iVar8 != 0)" identifier = (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid ssh_channel_init(ssh_channel *c)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  tree234 *ptVar5;\n  undefined *puVar6;\n  uint uVar7;\n  Ssh_conflict ssh;\n  undefined *puVar8;\n  uint i;\n  int local_24;\n  \n  puVar8 = PTR___stack_chk_guard_000b0c9c;\n  ssh = c->ssh;\n  local_24 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  uVar2 = (*(code *)PTR_count234_000b05e4)(ssh->channels);\n  ptVar5 = ssh->channels;\n  uVar3 = uVar2 + 1;\n  uVar1 = 0xffffffff;\n  while (1 < uVar3) {\n    uVar3 = uVar1 + uVar2 >> 1;\n    iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3);\n    uVar7 = uVar3;\n    if (*(int *)(iVar4 + 8) != uVar3 + 0x100) {\n      uVar7 = uVar1;\n      uVar2 = uVar3;\n    }\n    ptVar5 = ssh->channels;\n    uVar1 = uVar7;\n    uVar3 = uVar2 - uVar7;\n  }\n  i = uVar1 + 0x101;\n  iVar4 = (*(code *)PTR_find234_000b02b8)(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar4 == 0) {\n    iVar4 = ssh->version;\n    c->localid = uVar1 + 0x101;\n    c->closes = 0;\n    c->pending_eof = 0;\n    c->throttling_conn = 0;\n    if (iVar4 == 2) {\n      iVar4 = ssh_is_simple(ssh);\n      if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }\n      (c->v).v2.remlocwin = iVar4;\n      (c->v).v2.locmaxwin = iVar4;\n      (c->v).v2.locwindow = iVar4;\n      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;\n      (c->v).v2.throttle_state = ADDRTYPE_IPV6;\n      bufchain_init(&(c->v).v2.outbuffer);\n    }\n    (*(code *)PTR_add234_000b0294)(ssh->channels,c);\n    if (local_24 == *(int *)puVar8) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar8 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar4 = (**(code **)(puVar8 + 0x73284))();\n  if ((((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)) &&\n     (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0)) {\n    iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c);\n    if (((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))) {\n      return;\n    }\n    (**(code **)(puVar8 + 0x73198))(puVar6,0,10);\n  }\n  return;\n}\n\n" comment (function_definition "void ssh_channel_init(ssh_channel *c)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  tree234 *ptVar5;\n  undefined *puVar6;\n  uint uVar7;\n  Ssh_conflict ssh;\n  undefined *puVar8;\n  uint i;\n  int local_24;\n  \n  puVar8 = PTR___stack_chk_guard_000b0c9c;\n  ssh = c->ssh;\n  local_24 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  uVar2 = (*(code *)PTR_count234_000b05e4)(ssh->channels);\n  ptVar5 = ssh->channels;\n  uVar3 = uVar2 + 1;\n  uVar1 = 0xffffffff;\n  while (1 < uVar3) {\n    uVar3 = uVar1 + uVar2 >> 1;\n    iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3);\n    uVar7 = uVar3;\n    if (*(int *)(iVar4 + 8) != uVar3 + 0x100) {\n      uVar7 = uVar1;\n      uVar2 = uVar3;\n    }\n    ptVar5 = ssh->channels;\n    uVar1 = uVar7;\n    uVar3 = uVar2 - uVar7;\n  }\n  i = uVar1 + 0x101;\n  iVar4 = (*(code *)PTR_find234_000b02b8)(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar4 == 0) {\n    iVar4 = ssh->version;\n    c->localid = uVar1 + 0x101;\n    c->closes = 0;\n    c->pending_eof = 0;\n    c->throttling_conn = 0;\n    if (iVar4 == 2) {\n      iVar4 = ssh_is_simple(ssh);\n      if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }\n      (c->v).v2.remlocwin = iVar4;\n      (c->v).v2.locmaxwin = iVar4;\n      (c->v).v2.locwindow = iVar4;\n      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;\n      (c->v).v2.throttle_state = ADDRTYPE_IPV6;\n      bufchain_init(&(c->v).v2.outbuffer);\n    }\n    (*(code *)PTR_add234_000b0294)(ssh->channels,c);\n    if (local_24 == *(int *)puVar8) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar8 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar4 = (**(code **)(puVar8 + 0x73284))();\n  if ((((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)) &&\n     (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0)) {\n    iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c);\n    if (((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))) {\n      return;\n    }\n    (**(code **)(puVar8 + 0x73198))(puVar6,0,10);\n  }\n  return;\n}" primitive_type (function_declarator "ssh_channel_init(ssh_channel *c)" identifier (parameter_list "(ssh_channel *c)" ( (parameter_declaration "ssh_channel *c" type_identifier (pointer_declarator "*c" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  tree234 *ptVar5;\n  undefined *puVar6;\n  uint uVar7;\n  Ssh_conflict ssh;\n  undefined *puVar8;\n  uint i;\n  int local_24;\n  \n  puVar8 = PTR___stack_chk_guard_000b0c9c;\n  ssh = c->ssh;\n  local_24 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  uVar2 = (*(code *)PTR_count234_000b05e4)(ssh->channels);\n  ptVar5 = ssh->channels;\n  uVar3 = uVar2 + 1;\n  uVar1 = 0xffffffff;\n  while (1 < uVar3) {\n    uVar3 = uVar1 + uVar2 >> 1;\n    iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3);\n    uVar7 = uVar3;\n    if (*(int *)(iVar4 + 8) != uVar3 + 0x100) {\n      uVar7 = uVar1;\n      uVar2 = uVar3;\n    }\n    ptVar5 = ssh->channels;\n    uVar1 = uVar7;\n    uVar3 = uVar2 - uVar7;\n  }\n  i = uVar1 + 0x101;\n  iVar4 = (*(code *)PTR_find234_000b02b8)(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar4 == 0) {\n    iVar4 = ssh->version;\n    c->localid = uVar1 + 0x101;\n    c->closes = 0;\n    c->pending_eof = 0;\n    c->throttling_conn = 0;\n    if (iVar4 == 2) {\n      iVar4 = ssh_is_simple(ssh);\n      if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }\n      (c->v).v2.remlocwin = iVar4;\n      (c->v).v2.locmaxwin = iVar4;\n      (c->v).v2.locwindow = iVar4;\n      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;\n      (c->v).v2.throttle_state = ADDRTYPE_IPV6;\n      bufchain_init(&(c->v).v2.outbuffer);\n    }\n    (*(code *)PTR_add234_000b0294)(ssh->channels,c);\n    if (local_24 == *(int *)puVar8) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar8 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar4 = (**(code **)(puVar8 + 0x73284))();\n  if ((((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)) &&\n     (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0)) {\n    iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c);\n    if (((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))) {\n      return;\n    }\n    (**(code **)(puVar8 + 0x73198))(puVar6,0,10);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "tree234 *ptVar5;" type_identifier (pointer_declarator "*ptVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "Ssh_conflict ssh;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint i;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar8 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar8 = PTR___stack_chk_guard_000b0c9c" identifier = identifier) ;) (expression_statement "ssh = c->ssh;" (assignment_expression "ssh = c->ssh" identifier = (field_expression "c->ssh" identifier -> field_identifier)) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000b0c9c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b0c9c" * (cast_expression "(int *)PTR___stack_chk_guard_000b0c9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar2 = (*(code *)PTR_count234_000b05e4)(ssh->channels);" (assignment_expression "uVar2 = (*(code *)PTR_count234_000b05e4)(ssh->channels)" identifier = (call_expression "(*(code *)PTR_count234_000b05e4)(ssh->channels)" (parenthesized_expression "(*(code *)PTR_count234_000b05e4)" ( (pointer_expression "*(code *)PTR_count234_000b05e4" * (cast_expression "(code *)PTR_count234_000b05e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ssh->channels)" ( (field_expression "ssh->channels" identifier -> field_identifier) )))) ;) (expression_statement "ptVar5 = ssh->channels;" (assignment_expression "ptVar5 = ssh->channels" identifier = (field_expression "ssh->channels" identifier -> field_identifier)) ;) (expression_statement "uVar3 = uVar2 + 1;" (assignment_expression "uVar3 = uVar2 + 1" identifier = (binary_expression "uVar2 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = 0xffffffff;" (assignment_expression "uVar1 = 0xffffffff" identifier = number_literal) ;) (while_statement "while (1 < uVar3) {\n    uVar3 = uVar1 + uVar2 >> 1;\n    iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3);\n    uVar7 = uVar3;\n    if (*(int *)(iVar4 + 8) != uVar3 + 0x100) {\n      uVar7 = uVar1;\n      uVar2 = uVar3;\n    }\n    ptVar5 = ssh->channels;\n    uVar1 = uVar7;\n    uVar3 = uVar2 - uVar7;\n  }" while (parenthesized_expression "(1 < uVar3)" ( (binary_expression "1 < uVar3" number_literal < identifier) )) (compound_statement "{\n    uVar3 = uVar1 + uVar2 >> 1;\n    iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3);\n    uVar7 = uVar3;\n    if (*(int *)(iVar4 + 8) != uVar3 + 0x100) {\n      uVar7 = uVar1;\n      uVar2 = uVar3;\n    }\n    ptVar5 = ssh->channels;\n    uVar1 = uVar7;\n    uVar3 = uVar2 - uVar7;\n  }" { (expression_statement "uVar3 = uVar1 + uVar2 >> 1;" (assignment_expression "uVar3 = uVar1 + uVar2 >> 1" identifier = (binary_expression "uVar1 + uVar2 >> 1" (binary_expression "uVar1 + uVar2" identifier + identifier) >> number_literal)) ;) (expression_statement "iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3);" (assignment_expression "iVar4 = (*(code *)PTR_index234_000b02a8)(ptVar5,uVar3)" identifier = (call_expression "(*(code *)PTR_index234_000b02a8)(ptVar5,uVar3)" (parenthesized_expression "(*(code *)PTR_index234_000b02a8)" ( (pointer_expression "*(code *)PTR_index234_000b02a8" * (cast_expression "(code *)PTR_index234_000b02a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar5,uVar3)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = uVar3;" (assignment_expression "uVar7 = uVar3" identifier = identifier) ;) (if_statement "if (*(int *)(iVar4 + 8) != uVar3 + 0x100) {\n      uVar7 = uVar1;\n      uVar2 = uVar3;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 8) != uVar3 + 0x100)" ( (binary_expression "*(int *)(iVar4 + 8) != uVar3 + 0x100" (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) != (binary_expression "uVar3 + 0x100" identifier + number_literal)) )) (compound_statement "{\n      uVar7 = uVar1;\n      uVar2 = uVar3;\n    }" { (expression_statement "uVar7 = uVar1;" (assignment_expression "uVar7 = uVar1" identifier = identifier) ;) (expression_statement "uVar2 = uVar3;" (assignment_expression "uVar2 = uVar3" identifier = identifier) ;) })) (expression_statement "ptVar5 = ssh->channels;" (assignment_expression "ptVar5 = ssh->channels" identifier = (field_expression "ssh->channels" identifier -> field_identifier)) ;) (expression_statement "uVar1 = uVar7;" (assignment_expression "uVar1 = uVar7" identifier = identifier) ;) (expression_statement "uVar3 = uVar2 - uVar7;" (assignment_expression "uVar3 = uVar2 - uVar7" identifier = (binary_expression "uVar2 - uVar7" identifier - identifier)) ;) })) (expression_statement "i = uVar1 + 0x101;" (assignment_expression "i = uVar1 + 0x101" identifier = (binary_expression "uVar1 + 0x101" identifier + number_literal)) ;) (expression_statement "iVar4 = (*(code *)PTR_find234_000b02b8)(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164);" (assignment_expression "iVar4 = (*(code *)PTR_find234_000b02b8)(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164)" identifier = (call_expression "(*(code *)PTR_find234_000b02b8)(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164)" (parenthesized_expression "(*(code *)PTR_find234_000b02b8)" ( (pointer_expression "*(code *)PTR_find234_000b02b8" * (cast_expression "(code *)PTR_find234_000b02b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar5,&i,PTR_LAB_000b04c4 + 0x6164)" ( identifier , (pointer_expression "&i" & identifier) , (binary_expression "PTR_LAB_000b04c4 + 0x6164" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n    iVar4 = ssh->version;\n    c->localid = uVar1 + 0x101;\n    c->closes = 0;\n    c->pending_eof = 0;\n    c->throttling_conn = 0;\n    if (iVar4 == 2) {\n      iVar4 = ssh_is_simple(ssh);\n      if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }\n      (c->v).v2.remlocwin = iVar4;\n      (c->v).v2.locmaxwin = iVar4;\n      (c->v).v2.locwindow = iVar4;\n      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;\n      (c->v).v2.throttle_state = ADDRTYPE_IPV6;\n      bufchain_init(&(c->v).v2.outbuffer);\n    }\n    (*(code *)PTR_add234_000b0294)(ssh->channels,c);\n    if (local_24 == *(int *)puVar8) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar4 = ssh->version;\n    c->localid = uVar1 + 0x101;\n    c->closes = 0;\n    c->pending_eof = 0;\n    c->throttling_conn = 0;\n    if (iVar4 == 2) {\n      iVar4 = ssh_is_simple(ssh);\n      if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }\n      (c->v).v2.remlocwin = iVar4;\n      (c->v).v2.locmaxwin = iVar4;\n      (c->v).v2.locwindow = iVar4;\n      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;\n      (c->v).v2.throttle_state = ADDRTYPE_IPV6;\n      bufchain_init(&(c->v).v2.outbuffer);\n    }\n    (*(code *)PTR_add234_000b0294)(ssh->channels,c);\n    if (local_24 == *(int *)puVar8) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" { (expression_statement "iVar4 = ssh->version;" (assignment_expression "iVar4 = ssh->version" identifier = (field_expression "ssh->version" identifier -> field_identifier)) ;) (expression_statement "c->localid = uVar1 + 0x101;" (assignment_expression "c->localid = uVar1 + 0x101" (field_expression "c->localid" identifier -> field_identifier) = (binary_expression "uVar1 + 0x101" identifier + number_literal)) ;) (expression_statement "c->closes = 0;" (assignment_expression "c->closes = 0" (field_expression "c->closes" identifier -> field_identifier) = number_literal) ;) (expression_statement "c->pending_eof = 0;" (assignment_expression "c->pending_eof = 0" (field_expression "c->pending_eof" identifier -> field_identifier) = number_literal) ;) (expression_statement "c->throttling_conn = 0;" (assignment_expression "c->throttling_conn = 0" (field_expression "c->throttling_conn" identifier -> field_identifier) = number_literal) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = ssh_is_simple(ssh);\n      if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }\n      (c->v).v2.remlocwin = iVar4;\n      (c->v).v2.locmaxwin = iVar4;\n      (c->v).v2.locwindow = iVar4;\n      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;\n      (c->v).v2.throttle_state = ADDRTYPE_IPV6;\n      bufchain_init(&(c->v).v2.outbuffer);\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = ssh_is_simple(ssh);\n      if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }\n      (c->v).v2.remlocwin = iVar4;\n      (c->v).v2.locmaxwin = iVar4;\n      (c->v).v2.locwindow = iVar4;\n      (c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;\n      (c->v).v2.throttle_state = ADDRTYPE_IPV6;\n      bufchain_init(&(c->v).v2.outbuffer);\n    }" { (expression_statement "iVar4 = ssh_is_simple(ssh);" (assignment_expression "iVar4 = ssh_is_simple(ssh)" identifier = (call_expression "ssh_is_simple(ssh)" identifier (argument_list "(ssh)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        iVar4 = 0x4000;\n      }\n      else {\n        iVar4 = 0x7fffffff;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar4 = 0x4000;\n      }" { (expression_statement "iVar4 = 0x4000;" (assignment_expression "iVar4 = 0x4000" identifier = number_literal) ;) }) (else_clause "else {\n        iVar4 = 0x7fffffff;\n      }" else (compound_statement "{\n        iVar4 = 0x7fffffff;\n      }" { (expression_statement "iVar4 = 0x7fffffff;" (assignment_expression "iVar4 = 0x7fffffff" identifier = number_literal) ;) }))) (expression_statement "(c->v).v2.remlocwin = iVar4;" (assignment_expression "(c->v).v2.remlocwin = iVar4" (field_expression "(c->v).v2.remlocwin" (field_expression "(c->v).v2" (parenthesized_expression "(c->v)" ( (field_expression "c->v" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(c->v).v2.locmaxwin = iVar4;" (assignment_expression "(c->v).v2.locmaxwin = iVar4" (field_expression "(c->v).v2.locmaxwin" (field_expression "(c->v).v2" (parenthesized_expression "(c->v)" ( (field_expression "c->v" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(c->v).v2.locwindow = iVar4;" (assignment_expression "(c->v).v2.locwindow = iVar4" (field_expression "(c->v).v2.locwindow" (field_expression "(c->v).v2" (parenthesized_expression "(c->v)" ( (field_expression "c->v" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(c->v).v2.chanreq_head = (outstanding_channel_request *)0x0;" (assignment_expression "(c->v).v2.chanreq_head = (outstanding_channel_request *)0x0" (field_expression "(c->v).v2.chanreq_head" (field_expression "(c->v).v2" (parenthesized_expression "(c->v)" ( (field_expression "c->v" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(outstanding_channel_request *)0x0" ( (type_descriptor "outstanding_channel_request *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(c->v).v2.throttle_state = ADDRTYPE_IPV6;" (assignment_expression "(c->v).v2.throttle_state = ADDRTYPE_IPV6" (field_expression "(c->v).v2.throttle_state" (field_expression "(c->v).v2" (parenthesized_expression "(c->v)" ( (field_expression "c->v" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "bufchain_init(&(c->v).v2.outbuffer);" (call_expression "bufchain_init(&(c->v).v2.outbuffer)" identifier (argument_list "(&(c->v).v2.outbuffer)" ( (pointer_expression "&(c->v).v2.outbuffer" & (field_expression "(c->v).v2.outbuffer" (field_expression "(c->v).v2" (parenthesized_expression "(c->v)" ( (field_expression "c->v" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ))) ;) })) (expression_statement "(*(code *)PTR_add234_000b0294)(ssh->channels,c);" (call_expression "(*(code *)PTR_add234_000b0294)(ssh->channels,c)" (parenthesized_expression "(*(code *)PTR_add234_000b0294)" ( (pointer_expression "*(code *)PTR_add234_000b0294" * (cast_expression "(code *)PTR_add234_000b0294" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ssh->channels,c)" ( (field_expression "ssh->channels" identifier -> field_identifier) , identifier ))) ;) (if_statement "if (local_24 == *(int *)puVar8) {\n      return;\n    }" if (parenthesized_expression "(local_24 == *(int *)puVar8)" ( (binary_expression "local_24 == *(int *)puVar8" identifier == (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" * (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar6 = PTR_s_Present_000b0188 + 0x26f8;" (assignment_expression "puVar6 = PTR_s_Present_000b0188 + 0x26f8" identifier = (binary_expression "PTR_s_Present_000b0188 + 0x26f8" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR___assert_fail_000b0ac0;" (assignment_expression "puVar8 = PTR___assert_fail_000b0ac0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);" (call_expression "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b0ac0)" ( (pointer_expression "*(code *)PTR___assert_fail_000b0ac0" * (cast_expression "(code *)PTR___assert_fail_000b0ac0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" ( identifier , (binary_expression "PTR_s_Present_000b0188 + 0x13b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_Present_000b0188 + 0x5b78" identifier + number_literal) ))) ;) (expression_statement "iVar4 = (**(code **)(puVar8 + 0x73284))();" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))()" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))()" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)) &&\n     (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0)) {\n    iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c);\n    if (((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))) {\n      return;\n    }\n    (**(code **)(puVar8 + 0x73198))(puVar6,0,10);\n  }" if (parenthesized_expression "((((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)) &&\n     (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0))" ( (binary_expression "(((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)) &&\n     (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0)" (parenthesized_expression "(((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0))" ( (binary_expression "((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)) &&\n      (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)" (parenthesized_expression "((iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0))" ( (binary_expression "(iVar4 != 0) &&\n       (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8),\n       iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8)" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8)" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar8 + 0x72838) + 0x54d8)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x72838) + 0x54d8" (pointer_expression "*(int *)(puVar8 + 0x72838)" * (cast_expression "(int *)(puVar8 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x72838)" ( (binary_expression "puVar8 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730),\n      iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730)" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730)" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar8 + 0x72838) + 0x2730)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x72838) + 0x2730" (pointer_expression "*(int *)(puVar8 + 0x72838)" * (cast_expression "(int *)(puVar8 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x72838)" ( (binary_expression "puVar8 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738),\n     iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738)" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738)" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar8 + 0x72838) + 0x2738)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x72838) + 0x2738" (pointer_expression "*(int *)(puVar8 + 0x72838)" * (cast_expression "(int *)(puVar8 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x72838)" ( (binary_expression "puVar8 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c);\n    if (((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))) {\n      return;\n    }\n    (**(code **)(puVar8 + 0x73198))(puVar6,0,10);\n  }" { (expression_statement "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c);" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c)" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c)" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar8 + 0x72838) + 0x273c)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x72838) + 0x273c" (pointer_expression "*(int *)(puVar8 + 0x72838)" * (cast_expression "(int *)(puVar8 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x72838)" ( (binary_expression "puVar8 + 0x72838" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))) {\n      return;\n    }" if (parenthesized_expression "(((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0))))" ( (binary_expression "((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)) ||\n       ((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))" (parenthesized_expression "((iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740),\n        iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740)" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740)" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar8 + 0x72838) + 0x2740)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x72838) + 0x2740" (pointer_expression "*(int *)(puVar8 + 0x72838)" * (cast_expression "(int *)(puVar8 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x72838)" ( (binary_expression "puVar8 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "((iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)))" ( (parenthesized_expression "(iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0))" ( (comma_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744),\n        iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744)" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744)" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar8 + 0x72838) + 0x2744)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x72838) + 0x2744" (pointer_expression "*(int *)(puVar8 + 0x72838)" * (cast_expression "(int *)(puVar8 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x72838)" ( (binary_expression "puVar8 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 == 0 ||\n        (iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)" (binary_expression "iVar4 == 0" identifier == number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0),\n        iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0)" identifier = (call_expression "(**(code **)(puVar8 + 0x73284))(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0)" (parenthesized_expression "(**(code **)(puVar8 + 0x73284))" ( (pointer_expression "**(code **)(puVar8 + 0x73284)" * (pointer_expression "*(code **)(puVar8 + 0x73284)" * (cast_expression "(code **)(puVar8 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73284)" ( (binary_expression "puVar8 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar8 + 0x72880) + -0x4dc0)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x72880) + -0x4dc0" (pointer_expression "*(int *)(puVar8 + 0x72880)" * (cast_expression "(int *)(puVar8 + 0x72880)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x72880)" ( (binary_expression "puVar8 + 0x72880" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(puVar8 + 0x73198))(puVar6,0,10);" (call_expression "(**(code **)(puVar8 + 0x73198))(puVar6,0,10)" (parenthesized_expression "(**(code **)(puVar8 + 0x73198))" ( (pointer_expression "**(code **)(puVar8 + 0x73198)" * (pointer_expression "*(code **)(puVar8 + 0x73198)" * (cast_expression "(code **)(puVar8 + 0x73198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x73198)" ( (binary_expression "puVar8 + 0x73198" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,10)" ( identifier , number_literal , number_literal ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "uint FUN_0003d798(int *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}\n\n" (function_definition "uint FUN_0003d798(int *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}" type_identifier (function_declarator "FUN_0003d798(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (expression_statement "puVar9 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar9 = PTR___stack_chk_guard_000b0c9c" identifier = identifier) ;) (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_000b0c9c" * (cast_expression "(uint *)PTR___stack_chk_guard_000b0c9c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));" (assignment_expression "uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124))" identifier = (call_expression "(*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124))" (parenthesized_expression "(*(code *)PTR_count234_000b05e4)" ( (pointer_expression "*(code *)PTR_count234_000b05e4" * (cast_expression "(code *)PTR_count234_000b05e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar8 + 0x124))" ( (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) )))) )))) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar8 + 0x124);" (assignment_expression "uVar5 = *(undefined4 *)(iVar8 + 0x124)" identifier = (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = uVar1 + 1;" (assignment_expression "uVar2 = uVar1 + 1" identifier = (binary_expression "uVar1 + 1" identifier + number_literal)) ;) (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (while_statement "while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }" while (parenthesized_expression "(1 < uVar2)" ( (binary_expression "1 < uVar2" number_literal < identifier) )) (compound_statement "{\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }" { (expression_statement "uVar2 = uVar4 + uVar1 >> 1;" (assignment_expression "uVar2 = uVar4 + uVar1 >> 1" identifier = (binary_expression "uVar4 + uVar1 >> 1" (binary_expression "uVar4 + uVar1" identifier + identifier) >> number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);" (assignment_expression "iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2)" identifier = (call_expression "(*(code *)PTR_index234_000b02a8)(uVar5,uVar2)" (parenthesized_expression "(*(code *)PTR_index234_000b02a8)" ( (pointer_expression "*(code *)PTR_index234_000b02a8" * (cast_expression "(code *)PTR_index234_000b02a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,uVar2)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = uVar2;" (assignment_expression "uVar7 = uVar2" identifier = identifier) ;) (if_statement "if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }" if (parenthesized_expression "(*(int *)(iVar3 + 8) != uVar2 + 0x100)" ( (binary_expression "*(int *)(iVar3 + 8) != uVar2 + 0x100" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) != (binary_expression "uVar2 + 0x100" identifier + number_literal)) )) (compound_statement "{\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }" { (expression_statement "uVar7 = uVar4;" (assignment_expression "uVar7 = uVar4" identifier = identifier) ;) (expression_statement "uVar1 = uVar2;" (assignment_expression "uVar1 = uVar2" identifier = identifier) ;) })) (expression_statement "uVar5 = *(undefined4 *)(iVar8 + 0x124);" (assignment_expression "uVar5 = *(undefined4 *)(iVar8 + 0x124)" identifier = (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" identifier = identifier) ;) (expression_statement "uVar2 = uVar1 - uVar7;" (assignment_expression "uVar2 = uVar1 - uVar7" identifier = (binary_expression "uVar1 - uVar7" identifier - identifier)) ;) })) (expression_statement "local_28 = uVar4 + 0x101;" (assignment_expression "local_28 = uVar4 + 0x101" identifier = (binary_expression "uVar4 + 0x101" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);" (assignment_expression "iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" identifier = (call_expression "(*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" (parenthesized_expression "(*(code *)PTR_find234_000b02b8)" ( (pointer_expression "*(code *)PTR_find234_000b02b8" * (cast_expression "(code *)PTR_find234_000b02b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" ( identifier , (pointer_expression "&local_28" & identifier) , (binary_expression "PTR_LAB_000b04c4 + 0x6164" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" { (expression_statement "iVar3 = *(int *)(iVar8 + 0x198);" (assignment_expression "iVar3 = *(int *)(iVar8 + 0x198)" identifier = (pointer_expression "*(int *)(iVar8 + 0x198)" * (cast_expression "(int *)(iVar8 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x198)" ( (binary_expression "iVar8 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "param_1[2] = uVar4 + 0x101;" (assignment_expression "param_1[2] = uVar4 + 0x101" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (binary_expression "uVar4 + 0x101" identifier + number_literal)) ;) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[6] = 0;" (assignment_expression "param_1[6] = 0" (subscript_expression "param_1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }" { (expression_statement "iVar3 = FUN_00036c3c(iVar8);" (assignment_expression "iVar3 = FUN_00036c3c(iVar8)" identifier = (call_expression "FUN_00036c3c(iVar8)" identifier (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = 0x4000;\n      }" { (expression_statement "iVar3 = 0x4000;" (assignment_expression "iVar3 = 0x4000" identifier = number_literal) ;) }) (else_clause "else {\n        iVar3 = 0x7fffffff;\n      }" else (compound_statement "{\n        iVar3 = 0x7fffffff;\n      }" { (expression_statement "iVar3 = 0x7fffffff;" (assignment_expression "iVar3 = 0x7fffffff" identifier = number_literal) ;) }))) (expression_statement "param_1[0xf] = iVar3;" (assignment_expression "param_1[0xf] = iVar3" (subscript_expression "param_1[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xe] = iVar3;" (assignment_expression "param_1[0xe] = iVar3" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0xd] = iVar3;" (assignment_expression "param_1[0xd] = iVar3" (subscript_expression "param_1[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x12] = 2;" (assignment_expression "param_1[0x12] = 2" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bufchain_init(param_1 + 8);" (call_expression "bufchain_init(param_1 + 8)" identifier (argument_list "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);" (call_expression "(*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1)" (parenthesized_expression "(*(code *)PTR_add234_000b0294)" ( (pointer_expression "*(code *)PTR_add234_000b0294" * (cast_expression "(code *)PTR_add234_000b0294" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar8 + 0x124),param_1)" ( (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" * (cast_expression "(undefined4 *)(iVar8 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x124)" ( (binary_expression "iVar8 + 0x124" identifier + number_literal) )))) , identifier ))) ;) (if_statement "if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }" if (parenthesized_expression "(local_24 == *(uint *)puVar9)" ( (binary_expression "local_24 == *(uint *)puVar9" identifier == (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return *(uint *)puVar9;\n    }" { (return_statement "return *(uint *)puVar9;" return (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" * (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar6 = PTR_s_Present_000b0188 + 0x26f8;" (assignment_expression "puVar6 = PTR_s_Present_000b0188 + 0x26f8" identifier = (binary_expression "PTR_s_Present_000b0188 + 0x26f8" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR___assert_fail_000b0ac0;" (assignment_expression "puVar9 = PTR___assert_fail_000b0ac0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);" (call_expression "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b0ac0)" ( (pointer_expression "*(code *)PTR___assert_fail_000b0ac0" * (cast_expression "(code *)PTR___assert_fail_000b0ac0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" ( identifier , (binary_expression "PTR_s_Present_000b0188 + 0x13b0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_Present_000b0188 + 0x5b78" identifier + number_literal) ))) ;) (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73284))();" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))()" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))()" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" if (parenthesized_expression "((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0))" ( (binary_expression "(((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)" (parenthesized_expression "(((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0))" ( (binary_expression "((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)" (parenthesized_expression "((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0))" ( (binary_expression "(iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x54d8" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2730" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2738" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    uVar4 = 1;\n  }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" else (compound_statement "{\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" { (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x273c" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }" if (parenthesized_expression "(((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0))))" ( (binary_expression "((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))" (parenthesized_expression "((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0))" ( (binary_expression "(iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2740" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))" ( (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0))" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2744" (pointer_expression "*(int *)(puVar9 + 0x72838)" * (cast_expression "(int *)(puVar9 + 0x72838)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72838)" ( (binary_expression "puVar9 + 0x72838" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" (binary_expression "iVar8 == 0" identifier == number_literal) || (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" identifier = (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" ( (pointer_expression "**(code **)(puVar9 + 0x73284)" * (pointer_expression "*(code **)(puVar9 + 0x73284)" * (cast_expression "(code **)(puVar9 + 0x73284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73284)" ( (binary_expression "puVar9 + 0x73284" identifier + number_literal) ))))) )) (argument_list "(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" ( identifier , (binary_expression "*(int *)(puVar9 + 0x72880) + -0x4dc0" (pointer_expression "*(int *)(puVar9 + 0x72880)" * (cast_expression "(int *)(puVar9 + 0x72880)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x72880)" ( (binary_expression "puVar9 + 0x72880" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10)" identifier = (call_expression "(**(code **)(puVar9 + 0x73198))(puVar6,0,10)" (parenthesized_expression "(**(code **)(puVar9 + 0x73198))" ( (pointer_expression "**(code **)(puVar9 + 0x73198)" * (pointer_expression "*(code **)(puVar9 + 0x73198)" * (cast_expression "(code **)(puVar9 + 0x73198)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x73198)" ( (binary_expression "puVar9 + 0x73198" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,10)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "uVar4 = (uint)(iVar8 != 0);" (assignment_expression "uVar4 = (uint)(iVar8 != 0)" identifier = (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "uint FUN_0003d798(int *param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}" (type_identifier "uint") (function_declarator "FUN_0003d798(int *param_1)" (identifier "FUN_0003d798") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  uint uVar7;\n  int iVar8;\n  undefined *puVar9;\n  int local_28;\n  uint local_24;\n  \n  puVar9 = PTR___stack_chk_guard_000b0c9c;\n  iVar8 = *param_1;\n  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;\n  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));\n  uVar5 = *(undefined4 *)(iVar8 + 0x124);\n  uVar2 = uVar1 + 1;\n  uVar4 = 0xffffffff;\n  while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }\n  local_28 = uVar4 + 0x101;\n  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);\n  if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }\n  puVar6 = PTR_s_Present_000b0188 + 0x26f8;\n  puVar9 = PTR___assert_fail_000b0ac0;\n  (*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);\n  iVar8 = (**(code **)(puVar9 + 0x73284))();\n  if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }\n  return uVar4;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (expression_statement "puVar9 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar9 = PTR___stack_chk_guard_000b0c9c" (identifier "puVar9") (= "=") (identifier "PTR___stack_chk_guard_000b0c9c")) (; ";")) (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" (identifier "iVar8") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c" (identifier "local_24") (= "=") (pointer_expression "*(uint *)PTR___stack_chk_guard_000b0c9c" (* "*") (cast_expression "(uint *)PTR___stack_chk_guard_000b0c9c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b0c9c")))) (; ";")) (expression_statement "uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));" (assignment_expression "uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124))" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124))" (parenthesized_expression "(*(code *)PTR_count234_000b05e4)" (( "(") (pointer_expression "*(code *)PTR_count234_000b05e4" (* "*") (cast_expression "(code *)PTR_count234_000b05e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_count234_000b05e4"))) () ")")) (argument_list "(*(undefined4 *)(iVar8 + 0x124))" (( "(") (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x124)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x124)" (( "(") (binary_expression "iVar8 + 0x124" (identifier "iVar8") (+ "+") (number_literal "0x124")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(iVar8 + 0x124);" (assignment_expression "uVar5 = *(undefined4 *)(iVar8 + 0x124)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x124)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x124)" (( "(") (binary_expression "iVar8 + 0x124" (identifier "iVar8") (+ "+") (number_literal "0x124")) () ")"))))) (; ";")) (expression_statement "uVar2 = uVar1 + 1;" (assignment_expression "uVar2 = uVar1 + 1" (identifier "uVar2") (= "=") (binary_expression "uVar1 + 1" (identifier "uVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" (identifier "uVar4") (= "=") (number_literal "0xffffffff")) (; ";")) (while_statement "while (1 < uVar2) {\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }" (while "while") (parenthesized_expression "(1 < uVar2)" (( "(") (binary_expression "1 < uVar2" (number_literal "1") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n    uVar2 = uVar4 + uVar1 >> 1;\n    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);\n    uVar7 = uVar2;\n    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }\n    uVar5 = *(undefined4 *)(iVar8 + 0x124);\n    uVar4 = uVar7;\n    uVar2 = uVar1 - uVar7;\n  }" ({ "{") (expression_statement "uVar2 = uVar4 + uVar1 >> 1;" (assignment_expression "uVar2 = uVar4 + uVar1 >> 1" (identifier "uVar2") (= "=") (binary_expression "uVar4 + uVar1 >> 1" (binary_expression "uVar4 + uVar1" (identifier "uVar4") (+ "+") (identifier "uVar1")) (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);" (assignment_expression "iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_index234_000b02a8)(uVar5,uVar2)" (parenthesized_expression "(*(code *)PTR_index234_000b02a8)" (( "(") (pointer_expression "*(code *)PTR_index234_000b02a8" (* "*") (cast_expression "(code *)PTR_index234_000b02a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_index234_000b02a8"))) () ")")) (argument_list "(uVar5,uVar2)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "uVar7 = uVar2;" (assignment_expression "uVar7 = uVar2" (identifier "uVar7") (= "=") (identifier "uVar2")) (; ";")) (if_statement "if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 8) != uVar2 + 0x100)" (( "(") (binary_expression "*(int *)(iVar3 + 8) != uVar2 + 0x100" (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (binary_expression "uVar2 + 0x100" (identifier "uVar2") (+ "+") (number_literal "0x100"))) () ")")) (compound_statement "{\n      uVar7 = uVar4;\n      uVar1 = uVar2;\n    }" ({ "{") (expression_statement "uVar7 = uVar4;" (assignment_expression "uVar7 = uVar4" (identifier "uVar7") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar1 = uVar2;" (assignment_expression "uVar1 = uVar2" (identifier "uVar1") (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (expression_statement "uVar5 = *(undefined4 *)(iVar8 + 0x124);" (assignment_expression "uVar5 = *(undefined4 *)(iVar8 + 0x124)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x124)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x124)" (( "(") (binary_expression "iVar8 + 0x124" (identifier "iVar8") (+ "+") (number_literal "0x124")) () ")"))))) (; ";")) (expression_statement "uVar4 = uVar7;" (assignment_expression "uVar4 = uVar7" (identifier "uVar4") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar2 = uVar1 - uVar7;" (assignment_expression "uVar2 = uVar1 - uVar7" (identifier "uVar2") (= "=") (binary_expression "uVar1 - uVar7" (identifier "uVar1") (- "-") (identifier "uVar7"))) (; ";")) (} "}"))) (expression_statement "local_28 = uVar4 + 0x101;" (assignment_expression "local_28 = uVar4 + 0x101" (identifier "local_28") (= "=") (binary_expression "uVar4 + 0x101" (identifier "uVar4") (+ "+") (number_literal "0x101"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);" (assignment_expression "iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" (parenthesized_expression "(*(code *)PTR_find234_000b02b8)" (( "(") (pointer_expression "*(code *)PTR_find234_000b02b8" (* "*") (cast_expression "(code *)PTR_find234_000b02b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_find234_000b02b8"))) () ")")) (argument_list "(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164)" (( "(") (identifier "uVar5") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (binary_expression "PTR_LAB_000b04c4 + 0x6164" (identifier "PTR_LAB_000b04c4") (+ "+") (number_literal "0x6164")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = *(int *)(iVar8 + 0x198);\n    param_1[2] = uVar4 + 0x101;\n    param_1[5] = 0;\n    param_1[6] = 0;\n    param_1[7] = 0;\n    if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }\n    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);\n    if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }\n    (*(code *)PTR___stack_chk_fail_000b0c70)();\n  }" ({ "{") (expression_statement "iVar3 = *(int *)(iVar8 + 0x198);" (assignment_expression "iVar3 = *(int *)(iVar8 + 0x198)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar8 + 0x198)" (* "*") (cast_expression "(int *)(iVar8 + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x198)" (( "(") (binary_expression "iVar8 + 0x198" (identifier "iVar8") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "param_1[2] = uVar4 + 0x101;" (assignment_expression "param_1[2] = uVar4 + 0x101" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar4 + 0x101" (identifier "uVar4") (+ "+") (number_literal "0x101"))) (; ";")) (expression_statement "param_1[5] = 0;" (assignment_expression "param_1[5] = 0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[6] = 0;" (assignment_expression "param_1[6] = 0" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[7] = 0;" (assignment_expression "param_1[7] = 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar3 == 2) {\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }" (if "if") (parenthesized_expression "(iVar3 == 2)" (( "(") (binary_expression "iVar3 == 2" (identifier "iVar3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar3 = FUN_00036c3c(iVar8);\n      if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }\n      param_1[0xf] = iVar3;\n      param_1[0xe] = iVar3;\n      param_1[0xd] = iVar3;\n      param_1[0x10] = 0;\n      param_1[0x12] = 2;\n      bufchain_init(param_1 + 8);\n    }" ({ "{") (expression_statement "iVar3 = FUN_00036c3c(iVar8);" (assignment_expression "iVar3 = FUN_00036c3c(iVar8)" (identifier "iVar3") (= "=") (call_expression "FUN_00036c3c(iVar8)" (identifier "FUN_00036c3c") (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        iVar3 = 0x4000;\n      }\n      else {\n        iVar3 = 0x7fffffff;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = 0x4000;\n      }" ({ "{") (expression_statement "iVar3 = 0x4000;" (assignment_expression "iVar3 = 0x4000" (identifier "iVar3") (= "=") (number_literal "0x4000")) (; ";")) (} "}")) (else_clause "else {\n        iVar3 = 0x7fffffff;\n      }" (else "else") (compound_statement "{\n        iVar3 = 0x7fffffff;\n      }" ({ "{") (expression_statement "iVar3 = 0x7fffffff;" (assignment_expression "iVar3 = 0x7fffffff" (identifier "iVar3") (= "=") (number_literal "0x7fffffff")) (; ";")) (} "}")))) (expression_statement "param_1[0xf] = iVar3;" (assignment_expression "param_1[0xf] = iVar3" (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "param_1[0xe] = iVar3;" (assignment_expression "param_1[0xe] = iVar3" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "param_1[0xd] = iVar3;" (assignment_expression "param_1[0xd] = iVar3" (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "param_1[0x10] = 0;" (assignment_expression "param_1[0x10] = 0" (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x12] = 2;" (assignment_expression "param_1[0x12] = 2" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "bufchain_init(param_1 + 8);" (call_expression "bufchain_init(param_1 + 8)" (identifier "bufchain_init") (argument_list "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);" (call_expression "(*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1)" (parenthesized_expression "(*(code *)PTR_add234_000b0294)" (( "(") (pointer_expression "*(code *)PTR_add234_000b0294" (* "*") (cast_expression "(code *)PTR_add234_000b0294" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add234_000b0294"))) () ")")) (argument_list "(*(undefined4 *)(iVar8 + 0x124),param_1)" (( "(") (pointer_expression "*(undefined4 *)(iVar8 + 0x124)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x124)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x124)" (( "(") (binary_expression "iVar8 + 0x124" (identifier "iVar8") (+ "+") (number_literal "0x124")) () ")")))) (, ",") (identifier "param_1") () ")"))) (; ";")) (if_statement "if (local_24 == *(uint *)puVar9) {\n      return *(uint *)puVar9;\n    }" (if "if") (parenthesized_expression "(local_24 == *(uint *)puVar9)" (( "(") (binary_expression "local_24 == *(uint *)puVar9" (identifier "local_24") (== "==") (pointer_expression "*(uint *)puVar9" (* "*") (cast_expression "(uint *)puVar9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9")))) () ")")) (compound_statement "{\n      return *(uint *)puVar9;\n    }" ({ "{") (return_statement "return *(uint *)puVar9;" (return "return") (pointer_expression "*(uint *)puVar9" (* "*") (cast_expression "(uint *)puVar9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b0c70"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = PTR_s_Present_000b0188 + 0x26f8;" (assignment_expression "puVar6 = PTR_s_Present_000b0188 + 0x26f8" (identifier "puVar6") (= "=") (binary_expression "PTR_s_Present_000b0188 + 0x26f8" (identifier "PTR_s_Present_000b0188") (+ "+") (number_literal "0x26f8"))) (; ";")) (expression_statement "puVar9 = PTR___assert_fail_000b0ac0;" (assignment_expression "puVar9 = PTR___assert_fail_000b0ac0" (identifier "puVar9") (= "=") (identifier "PTR___assert_fail_000b0ac0")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);" (call_expression "(*(code *)PTR___assert_fail_000b0ac0)\n            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b0ac0)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b0ac0" (* "*") (cast_expression "(code *)PTR___assert_fail_000b0ac0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b0ac0"))) () ")")) (argument_list "(puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78)" (( "(") (identifier "puVar6") (, ",") (binary_expression "PTR_s_Present_000b0188 + 0x13b0" (identifier "PTR_s_Present_000b0188") (+ "+") (number_literal "0x13b0")) (, ",") (number_literal "0x4a9") (, ",") (binary_expression "PTR_s_Present_000b0188 + 0x5b78" (identifier "PTR_s_Present_000b0188") (+ "+") (number_literal "0x5b78")) () ")"))) (; ";")) (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73284))();" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))()" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))()" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)) {\n    uVar4 = 1;\n  }\n  else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" (if "if") (parenthesized_expression "((((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0))" (( "(") (binary_expression "(((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)) ||\n     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)" (parenthesized_expression "(((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0))" (( "(") (binary_expression "((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)) ||\n      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)" (parenthesized_expression "((iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0))" (( "(") (binary_expression "(iVar8 == 0) ||\n       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),\n       iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(puVar9 + 0x72838) + 0x54d8" (pointer_expression "*(int *)(puVar9 + 0x72838)" (* "*") (cast_expression "(int *)(puVar9 + 0x72838)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x72838)" (( "(") (binary_expression "puVar9 + 0x72838" (identifier "puVar9") (+ "+") (number_literal "0x72838")) () ")")))) (+ "+") (number_literal "0x54d8")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),\n      iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2730" (pointer_expression "*(int *)(puVar9 + 0x72838)" (* "*") (cast_expression "(int *)(puVar9 + 0x72838)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x72838)" (( "(") (binary_expression "puVar9 + 0x72838" (identifier "puVar9") (+ "+") (number_literal "0x72838")) () ")")))) (+ "+") (number_literal "0x2730")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),\n     iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2738" (pointer_expression "*(int *)(puVar9 + 0x72838)" (* "*") (cast_expression "(int *)(puVar9 + 0x72838)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x72838)" (( "(") (binary_expression "puVar9 + 0x72838" (identifier "puVar9") (+ "+") (number_literal "0x72838")) () ")")))) (+ "+") (number_literal "0x2738")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    uVar4 = 1;\n  }" ({ "{") (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" (else "else") (compound_statement "{\n    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);\n    if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }\n    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);\n    uVar4 = (uint)(iVar8 != 0);\n  }" ({ "{") (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(puVar9 + 0x72838) + 0x273c" (pointer_expression "*(int *)(puVar9 + 0x72838)" (* "*") (cast_expression "(int *)(puVar9 + 0x72838)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x72838)" (( "(") (binary_expression "puVar9 + 0x72838" (identifier "puVar9") (+ "+") (number_literal "0x72838")) () ")")))) (+ "+") (number_literal "0x273c")) () ")")))) (; ";")) (if_statement "if (((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0))))" (( "(") (binary_expression "((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)) ||\n       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))" (parenthesized_expression "((iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0))" (( "(") (binary_expression "(iVar8 == 0) ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),\n        iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2740" (pointer_expression "*(int *)(puVar9 + 0x72838)" (* "*") (cast_expression "(int *)(puVar9 + 0x72838)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x72838)" (( "(") (binary_expression "puVar9 + 0x72838" (identifier "puVar9") (+ "+") (number_literal "0x72838")) () ")")))) (+ "+") (number_literal "0x2740")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)))" (( "(") (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0))" (( "(") (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),\n        iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(puVar9 + 0x72838) + 0x2744" (pointer_expression "*(int *)(puVar9 + 0x72838)" (* "*") (cast_expression "(int *)(puVar9 + 0x72838)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x72838)" (( "(") (binary_expression "puVar9 + 0x72838" (identifier "puVar9") (+ "+") (number_literal "0x72838")) () ")")))) (+ "+") (number_literal "0x2744")) () ")")))) (, ",") (binary_expression "iVar8 == 0 ||\n        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),\n        iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" (parenthesized_expression "(**(code **)(puVar9 + 0x73284))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73284)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73284)" (* "*") (cast_expression "(code **)(puVar9 + 0x73284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73284)" (( "(") (binary_expression "puVar9 + 0x73284" (identifier "puVar9") (+ "+") (number_literal "0x73284")) () ")"))))) () ")")) (argument_list "(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(puVar9 + 0x72880) + -0x4dc0" (pointer_expression "*(int *)(puVar9 + 0x72880)" (* "*") (cast_expression "(int *)(puVar9 + 0x72880)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0x72880)" (( "(") (binary_expression "puVar9 + 0x72880" (identifier "puVar9") (+ "+") (number_literal "0x72880")) () ")")))) (+ "+") (number_literal "-0x4dc0")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);" (assignment_expression "iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar9 + 0x73198))(puVar6,0,10)" (parenthesized_expression "(**(code **)(puVar9 + 0x73198))" (( "(") (pointer_expression "**(code **)(puVar9 + 0x73198)" (* "*") (pointer_expression "*(code **)(puVar9 + 0x73198)" (* "*") (cast_expression "(code **)(puVar9 + 0x73198)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0x73198)" (( "(") (binary_expression "puVar9 + 0x73198" (identifier "puVar9") (+ "+") (number_literal "0x73198")) () ")"))))) () ")")) (argument_list "(puVar6,0,10)" (( "(") (identifier "puVar6") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "uVar4 = (uint)(iVar8 != 0);" (assignment_expression "uVar4 = (uint)(iVar8 != 0)" (identifier "uVar4") (= "=") (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))) (return_statement (identifier)))))

uint MASKED(int *param_1)

{
  uint uVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined *puVar6;
  uint uVar7;
  int iVar8;
  undefined *puVar9;
  int local_28;
  uint local_24;
  
  puVar9 = PTR___stack_chk_guard_000b0c9c;
  iVar8 = *param_1;
  local_24 = *(uint *)PTR___stack_chk_guard_000b0c9c;
  uVar1 = (*(code *)PTR_count234_000b05e4)(*(undefined4 *)(iVar8 + 0x124));
  uVar5 = *(undefined4 *)(iVar8 + 0x124);
  uVar2 = uVar1 + 1;
  uVar4 = 0xffffffff;
  while (1 < uVar2) {
    uVar2 = uVar4 + uVar1 >> 1;
    iVar3 = (*(code *)PTR_index234_000b02a8)(uVar5,uVar2);
    uVar7 = uVar2;
    if (*(int *)(iVar3 + 8) != uVar2 + 0x100) {
      uVar7 = uVar4;
      uVar1 = uVar2;
    }
    uVar5 = *(undefined4 *)(iVar8 + 0x124);
    uVar4 = uVar7;
    uVar2 = uVar1 - uVar7;
  }
  local_28 = uVar4 + 0x101;
  iVar3 = (*(code *)PTR_find234_000b02b8)(uVar5,&local_28,PTR_LAB_000b04c4 + 0x6164);
  if (iVar3 == 0) {
    iVar3 = *(int *)(iVar8 + 0x198);
    param_1[2] = uVar4 + 0x101;
    param_1[5] = 0;
    param_1[6] = 0;
    param_1[7] = 0;
    if (iVar3 == 2) {
      iVar3 = FUN_00036c3c(iVar8);
      if (iVar3 == 0) {
        iVar3 = 0x4000;
      }
      else {
        iVar3 = 0x7fffffff;
      }
      param_1[0xf] = iVar3;
      param_1[0xe] = iVar3;
      param_1[0xd] = iVar3;
      param_1[0x10] = 0;
      param_1[0x12] = 2;
      bufchain_init(param_1 + 8);
    }
    (*(code *)PTR_add234_000b0294)(*(undefined4 *)(iVar8 + 0x124),param_1);
    if (local_24 == *(uint *)puVar9) {
      return *(uint *)puVar9;
    }
    (*(code *)PTR___stack_chk_fail_000b0c70)();
  }
  puVar6 = PTR_s_Present_000b0188 + 0x26f8;
  puVar9 = PTR___assert_fail_000b0ac0;
  (*(code *)PTR___assert_fail_000b0ac0)
            (puVar6,PTR_s_Present_000b0188 + 0x13b0,0x4a9,PTR_s_Present_000b0188 + 0x5b78);
  iVar8 = (**(code **)(puVar9 + 0x73284))();
  if ((((iVar8 == 0) ||
       (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x54d8),
       iVar8 == 0)) ||
      (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2730),
      iVar8 == 0)) ||
     (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2738),
     iVar8 == 0)) {
    uVar4 = 1;
  }
  else {
    iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x273c);
    if (((iVar8 == 0) ||
        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2740),
        iVar8 == 0)) ||
       ((iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72838) + 0x2744),
        iVar8 == 0 ||
        (iVar8 = (**(code **)(puVar9 + 0x73284))(puVar6,*(int *)(puVar9 + 0x72880) + -0x4dc0),
        iVar8 == 0)))) {
      return 0;
    }
    iVar8 = (**(code **)(puVar9 + 0x73198))(puVar6,0,10);
    uVar4 = (uint)(iVar8 != 0);
  }
  return uVar4;
}

