
Ssh_gss_stat ssh_gssapi_display_status(ssh_gss_library *lib,Ssh_gss_ctx ctx,Ssh_gss_buf *buf)

{
  undefined *puVar1;
  int iVar2;
  OM_uint32 OVar3;
  void *pvVar4;
  Ssh_gss_stat SVar5;
  undefined4 uVar6;
  Ssh_gss_stat SVar7;
  gss_buffer_t pgVar8;
  gss_buffer_t pgVar9;
  size_t sVar10;
  size_t sVar11;
  int *piVar12;
  int *piVar13;
  gss_OID pgVar14;
  t_gss_display_status p_Var15;
  undefined *puVar16;
  code *pcVar17;
  code *pcVar18;
  undefined1 auStackY_c8 [4];
  undefined4 uStackY_c4;
  undefined4 uStackY_c0;
  int iStackY_bc;
  size_t sStackY_b4;
  int *piStackY_b0;
  ssh_gss_library *psStackY_ac;
  Ssh_gss_stat SStackY_a8;
  code *pcStackY_a4;
  undefined *puStackY_90;
  Ssh_gss_stat SStackY_84;
  undefined1 auStackY_80 [4];
  int iStackY_7c;
  Ssh_gss_buf *pSStackY_74;
  OM_uint32 *pOStackY_70;
  code *pcStackY_6c;
  OM_uint32 lmin;
  OM_uint32 ccc;
  gss_buffer_desc msg_maj;
  gss_buffer_desc msg_min;
  
  puVar16 = PTR___stack_chk_guard_000adcd4;
  p_Var15 = (lib->u).gssapi.display_status;
  pgVar14 = *(gss_OID *)PTR_GSS_MECH_KRB5_000ad918;
  pgVar9 = &msg_maj;
  sVar10 = 1;
  msg_maj.length = 0;
  msg_maj.value = (void *)0x0;
  msg_min.length = 0;
  msg_min.value = (void *)0x0;
  ccc = 0;
  iVar2 = *(int *)PTR___stack_chk_guard_000adcd4;
                    /* WARNING: Load size is inaccurate */
  pgVar8 = *ctx;
  buf->length = 0;
  buf->value = (void *)0x0;
  OVar3 = (*p_Var15)(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9);
  if (OVar3 == 0) {
    pgVar8 = &msg_min;
    sVar10 = 2;
    ccc = 0;
    OVar3 = (*(lib->u).gssapi.display_status)
                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8);
    puVar1 = PTR_safemalloc_000ad414;
    if (OVar3 == 0) {
      buf->length = msg_maj.length + msg_min.length + 1;
      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);
      puVar1 = PTR_memcpy_000adcd8;
      buf->value = pvVar4;
      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);
      puVar1 = PTR_memcpy_000adcd8;
      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;
      sVar10 = msg_min.length;
      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);
      *(undefined1 *)((int)buf->value + buf->length) = 0;
      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);
      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);
      SVar7 = SSH_GSS_OK;
    }
    else {
      SVar7 = SSH_GSS_FAILURE;
      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);
      pgVar8 = pgVar9;
    }
  }
  else {
    SVar7 = SSH_GSS_FAILURE;
  }
  if (iVar2 == *(int *)puVar16) {
    return SVar7;
  }
  pcVar17 = ssh_gssapi_release_cred;
  puVar16 = PTR___stack_chk_fail_000adca4;
  (*(code *)PTR___stack_chk_fail_000adca4)();
  puStackY_90 = puVar16 + 0x53e10;
  piVar12 = *(int **)(puVar16 + 0x4c854);
  sVar11 = pgVar8->length;
  iStackY_7c = *piVar12;
  SVar5 = SSH_GSS_FAILURE;
  pSStackY_74 = buf;
  pOStackY_70 = &lmin;
  pcStackY_6c = pcVar17;
  if (sVar11 != 0) {
    sVar10 = 0;
    if (*(int *)(sVar11 + 8) == 0) {
      (**(code **)(puVar16 + 0x4bf00))(sVar11);
      SVar5 = SSH_GSS_OK;
    }
    else {
      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);
      (**(code **)(puStackY_90 + -0x7f10))(sVar11);
      SVar5 = SStackY_84;
      if (SStackY_84 != SSH_GSS_OK) {
        SVar5 = SSH_GSS_FAILURE;
      }
    }
  }
  if (iStackY_7c == *piVar12) {
    return SVar5;
  }
  pcVar17 = *(code **)(puStackY_90 + -0x75ec);
  pcVar18 = ssh_gssapi_import_name;
  iVar2 = iStackY_7c;
  (*pcVar17)();
  piVar13 = *(int **)(pcVar17 + 0x4c798);
  iStackY_bc = *piVar13;
  sStackY_b4 = sVar11;
  piStackY_b0 = piVar12;
  psStackY_ac = lib;
  SStackY_a8 = SVar7;
  pcStackY_a4 = pcVar18;
  uVar6 = (**(code **)(pcVar17 + 0x4c278))(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00);
  uStackY_c0 = uVar6;
  uStackY_c4 = (**(code **)(pcVar17 + 0x4c6ec))(uVar6);
  SVar7 = (**(code **)(iVar2 + 0x3c))
                    (auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10);
  (**(code **)(pcVar17 + 0x4be44))(uVar6);
  if (SVar7 != SSH_GSS_OK) {
    SVar7 = SSH_GSS_FAILURE;
  }
  if (iStackY_bc == *piVar13) {
    return SVar7;
  }
  pcVar17 = *(code **)(pcVar17 + 0x4c768);
  (*pcVar17)();
  *(int *)(iStackY_bc + 8) = *(int *)(pcVar17 + 0x4c28c) + 4000;
  *(int *)(iStackY_bc + 0xc) = *(int *)(pcVar17 + 0x4c28c) + 0x153c;
  *(int *)(iStackY_bc + 0x10) = *(int *)(pcVar17 + 0x4c28c) + 0x110c;
  *(int *)(iStackY_bc + 0x14) = *(int *)(pcVar17 + 0x4c28c) + 0xfcc;
  *(int *)(iStackY_bc + 0x18) = *(int *)(pcVar17 + 0x4c28c) + 0x10a0;
  *(int *)(iStackY_bc + 0x1c) = *(int *)(pcVar17 + 0x4c28c) + 0x122c;
  *(int *)(iStackY_bc + 0x20) = *(int *)(pcVar17 + 0x4c28c) + 0x1480;
  *(int *)(iStackY_bc + 0x24) = *(int *)(pcVar17 + 0x4c28c) + 0x1178;
  *(int *)(iStackY_bc + 0x28) = *(int *)(pcVar17 + 0x4c28c) + 0x11c0;
  iVar2 = *(int *)(pcVar17 + 0x4c28c);
  *(Ssh_gss_stat *)(iStackY_bc + 0x2c) = iVar2 + 0x1284;
  return iVar2 + 0x1284;
}



int FUN_00061284(int param_1,undefined4 *param_2,int *param_3)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int *piVar8;
  undefined4 uVar9;
  code *pcVar10;
  undefined *puVar11;
  undefined1 auStack_c8 [4];
  undefined4 local_c4;
  undefined4 local_c0;
  int local_bc;
  int local_b4;
  int *local_b0;
  int local_ac;
  int local_a8;
  undefined4 local_a4;
  undefined *local_90;
  int local_84;
  undefined1 auStack_80 [4];
  int local_7c;
  int *local_74;
  undefined1 *local_70;
  undefined4 local_6c;
  undefined4 *local_58;
  int *local_54;
  undefined1 auStack_44 [4];
  undefined4 local_40;
  int local_3c;
  undefined4 local_38;
  int local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar11 = PTR___stack_chk_guard_000adcd4;
  pcVar10 = *(code **)(param_1 + 0x34);
  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;
  piVar8 = &local_3c;
  iVar6 = 1;
  local_3c = 0;
  local_38 = 0;
  local_34 = 0;
  local_30 = 0;
  local_40 = 0;
  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;
  piVar5 = (int *)*param_2;
  *param_3 = 0;
  param_3[1] = 0;
  local_58 = &local_40;
  local_54 = piVar8;
  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);
  if (iVar2 == 0) {
    piVar5 = &local_34;
    iVar6 = 2;
    local_40 = 0;
    local_58 = &local_40;
    local_54 = piVar5;
    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);
    puVar1 = PTR_safemalloc_000ad414;
    if (iVar2 == 0) {
      *param_3 = local_3c + local_34 + 1;
      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);
      puVar1 = PTR_memcpy_000adcd8;
      param_3[1] = iVar6;
      (*(code *)puVar1)(iVar6,local_38,local_3c);
      puVar1 = PTR_memcpy_000adcd8;
      *(undefined1 *)(param_3[1] + local_3c) = 0x20;
      iVar6 = local_34;
      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);
      *(undefined1 *)(param_3[1] + *param_3) = 0;
      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);
      (**(code **)(param_1 + 0x44))(auStack_44);
      iVar2 = 0;
    }
    else {
      iVar2 = 4;
      (**(code **)(param_1 + 0x44))(auStack_44);
      piVar5 = piVar8;
    }
  }
  else {
    iVar2 = 4;
  }
  if (local_2c == *(int *)puVar11) {
    return iVar2;
  }
  uVar9 = 0x61480;
  iVar4 = local_2c;
  puVar11 = PTR___stack_chk_fail_000adca4;
  (*(code *)PTR___stack_chk_fail_000adca4)();
  local_90 = puVar11 + 0x53e10;
  piVar8 = *(int **)(puVar11 + 0x4c854);
  iVar7 = *piVar5;
  local_7c = *piVar8;
  iVar3 = 4;
  local_74 = param_3;
  local_70 = auStack_44;
  local_6c = uVar9;
  if (iVar7 != 0) {
    iVar6 = 0;
    if (*(int *)(iVar7 + 8) == 0) {
      (**(code **)(puVar11 + 0x4bf00))(iVar7);
      iVar3 = 0;
    }
    else {
      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);
      (**(code **)(local_90 + -0x7f10))(iVar7);
      iVar3 = local_84;
      if (local_84 != 0) {
        iVar3 = 4;
      }
    }
  }
  if (local_7c == *piVar8) {
    return iVar3;
  }
  pcVar10 = *(code **)(local_90 + -0x75ec);
  uVar9 = 0x6153c;
  iVar3 = local_7c;
  (*pcVar10)();
  piVar5 = *(int **)(pcVar10 + 0x4c798);
  local_bc = *piVar5;
  local_b4 = iVar7;
  local_b0 = piVar8;
  local_ac = param_1;
  local_a8 = iVar2;
  local_a4 = uVar9;
  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);
  local_c0 = uVar9;
  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);
  iVar6 = (**(code **)(iVar3 + 0x3c))
                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);
  (**(code **)(pcVar10 + 0x4be44))(uVar9);
  if (iVar6 != 0) {
    iVar6 = 4;
  }
  if (local_bc == *piVar5) {
    return iVar6;
  }
  pcVar10 = *(code **)(pcVar10 + 0x4c768);
  (*pcVar10)();
  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;
  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;
  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;
  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;
  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;
  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;
  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;
  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;
  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;
  iVar6 = *(int *)(pcVar10 + 0x4c28c);
  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;
  return iVar6 + 0x1284;
}


lui gp,0x5
addiu gp,gp,0x400c
addu gp,gp,t9
addiu sp,sp,-0x68
lw v0,-0x7978(gp)
lw t9,0x34(a0)
sw s4,0x50(sp)
sw s6,0x58(sp)
lw s4,-0x75bc(gp)
lw s6,0x0(v0)
sw s8,0x60(sp)
or s8,a1,zero
sw s5,0x54(sp)
addiu s5,sp,0x2c
sw s3,0x4c(sp)
addiu s3,sp,0x28
sw s1,0x44(sp)
addiu s1,sp,0x24
sw s0,0x40(sp)
or s0,a2,zero
sw gp,0x18(sp)
li a2,0x1
sw s2,0x48(sp)
or s2,a0,zero
sw ra,0x64(sp)
or a3,s6,zero
sw s7,0x5c(sp)
or a0,s1,zero
sw zero,0x2c(sp)
sw zero,0x30(sp)
sw zero,0x34(sp)
sw zero,0x38(sp)
sw zero,0x28(sp)
lw v0,0x0(s4)
lw a1,0x0(a1)
sw zero,0x0(s0)
sw zero,0x4(s0)
sw v0,0x3c(sp)
sw s5,0x14(sp)
jalr t9
_sw s3,0x10(sp)
bne v0,zero,0x0006146c
_lw gp,0x18(sp)
lw t9,0x34(s2)
addiu s7,sp,0x34
lw a1,0x4(s8)
li a2,0x2
sw s3,0x10(sp)
or a3,s6,zero
sw zero,0x28(sp)
or a0,s1,zero
jalr t9
_sw s7,0x14(sp)
lw gp,0x18(sp)
bne v0,zero,0x00061450
_or s3,v0,zero
lw v0,0x34(sp)
li a1,0x1
lw a0,0x2c(sp)
lw t9,-0x7e7c(gp)
addu a0,a0,v0
addiu v0,a0,0x1
addiu a0,a0,0x2
jalr t9
_sw v0,0x0(s0)
lw gp,0x18(sp)
or a0,v0,zero
lw a2,0x2c(sp)
lw a1,0x30(sp)
lw t9,-0x75b8(gp)
jalr t9
_sw v0,0x4(s0)
lw v1,0x2c(sp)
lw v0,0x4(s0)
lw gp,0x18(sp)
addu v0,v0,v1
li v1,0x20
lw t9,-0x75b8(gp)
sb v1,0x0(v0)
lw v0,0x2c(sp)
lw a0,0x4(s0)
lw a2,0x34(sp)
addiu v0,v0,0x1
lw a1,0x38(sp)
jalr t9
_addu a0,a0,v0
or a1,s5,zero
lw v1,0x0(s0)
lw v0,0x4(s0)
addu v0,v0,v1
sb zero,0x0(v0)
lw t9,0x44(s2)
jalr t9
_or a0,s1,zero
or a1,s7,zero
lw t9,0x44(s2)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw a0,0x3c(sp)
or v0,s3,zero
lw v1,0x0(s4)
bne a0,v1,0x00061474
_lw ra,0x64(sp)
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
lw t9,0x44(s2)
or a1,s5,zero
or a0,s1,zero
jalr t9
_li s3,0x4
b 0x00061410
_lw gp,0x18(sp)
b 0x00061410
_li s3,0x4
lw t9,-0x75ec(gp)
jalr t9
_nop
lui gp,0x5
addiu gp,gp,0x3e10
addu gp,gp,t9
addiu sp,sp,-0x38
sw s1,0x30(sp)
sw s0,0x2c(sp)
lw s1,-0x75bc(gp)
lw s0,0x0(a1)
sw gp,0x10(sp)
sw ra,0x34(sp)
lw v0,0x0(s1)
sw v0,0x24(sp)
beq s0,zero,0x000614f8
_li v0,0x4
lw v0,0x8(s0)
beq v0,zero,0x00061518
_or a2,zero,zero
lw t9,0x30(a0)
addiu a1,s0,0x8
jalr t9
_addiu a0,sp,0x20
or a0,s0,zero
lw gp,0x10(sp)
lw t9,-0x7f10(gp)
jalr t9
_sw v0,0x1c(sp)
lw v0,0x1c(sp)
beq v0,zero,0x000614f8
_lw gp,0x10(sp)
li v0,0x4
lw a0,0x24(sp)
lw v1,0x0(s1)
bne a0,v1,0x00061530
_lw ra,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x38
lw t9,-0x7f10(gp)
jalr t9
_or a0,s0,zero
or v0,zero,zero
b 0x000614f8
_lw gp,0x10(sp)
lw t9,-0x75ec(gp)
jalr t9
_nop
lui gp,0x5
addiu gp,gp,0x3d54
addu gp,gp,t9
addiu sp,sp,-0x48
lw t9,-0x7adc(gp)
sw s1,0x38(sp)
sw s3,0x40(sp)
or s3,a0,zero
lw s1,-0x75bc(gp)
lw a0,-0x7fc8(gp)
sw s2,0x3c(sp)
or s2,a2,zero
or a2,zero,zero
sw ra,0x44(sp)
sw gp,0x10(sp)
addiu a0,a0,0x5e00
sw s0,0x34(sp)
lw v0,0x0(s1)
sw v0,0x2c(sp)
jalr t9
_nop
lw gp,0x10(sp)
or a0,v0,zero
sw v0,0x28(sp)
lw t9,-0x7668(gp)
jalr t9
_or s0,v0,zero
addiu a1,sp,0x24
lw gp,0x10(sp)
addiu a0,sp,0x20
lw t9,0x3c(s3)
or a3,s2,zero
sw v0,0x24(sp)
lw v0,-0x7974(gp)
jalr t9
_lw a2,0x0(v0)
or a0,s0,zero
lw gp,0x10(sp)
lw t9,-0x7f10(gp)
jalr t9
_sw v0,0x1c(sp)
lw v0,0x1c(sp)
beq v0,zero,0x000615f0
_lw gp,0x10(sp)
li v0,0x4
lw a0,0x2c(sp)
lw v1,0x0(s1)
bne a0,v1,0x00061618
_lw ra,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x48
lw t9,-0x75ec(gp)
jalr t9
_nop
(translation_unit "int FUN_00061284(int param_1,undefined4 *param_2,int *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}\n\n" (function_definition "int FUN_00061284(int param_1,undefined4 *param_2,int *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}" primitive_type (function_declarator "FUN_00061284(int param_1,undefined4 *param_2,int *param_3)" identifier (parameter_list "(int param_1,undefined4 *param_2,int *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_c4;" type_identifier identifier ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "int *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined1 auStack_80 [4];" type_identifier (array_declarator "auStack_80 [4]" identifier [ number_literal ]) ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined1 *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined1 auStack_44 [4];" type_identifier (array_declarator "auStack_44 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar11 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar11 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "pcVar10 = *(code **)(param_1 + 0x34);" (assignment_expression "pcVar10 = *(code **)(param_1 + 0x34)" identifier = (pointer_expression "*(code **)(param_1 + 0x34)" * (cast_expression "(code **)(param_1 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;" (assignment_expression "uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" identifier = (pointer_expression "*(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" * (cast_expression "(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar8 = &local_3c;" (assignment_expression "piVar8 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar5 = (int *)*param_2;" (assignment_expression "piVar5 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "param_3[1] = 0;" (assignment_expression "param_3[1] = 0" (subscript_expression "param_3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_58 = &local_40;" (assignment_expression "local_58 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_54 = piVar8;" (assignment_expression "local_54 = piVar8" identifier = identifier) ;) (expression_statement "iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);" (assignment_expression "iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9)" identifier = (call_expression "(*pcVar10)(auStack_44,piVar5,1,uVar9)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(auStack_44,piVar5,1,uVar9)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }" { (expression_statement "piVar5 = &local_34;" (assignment_expression "piVar5 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_58 = &local_40;" (assignment_expression "local_58 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_54 = piVar5;" (assignment_expression "local_54 = piVar5" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);" (assignment_expression "iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9)" identifier = (call_expression "(**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9)" (parenthesized_expression "(**(code **)(param_1 + 0x34))" ( (pointer_expression "**(code **)(param_1 + 0x34)" * (pointer_expression "*(code **)(param_1 + 0x34)" * (cast_expression "(code **)(param_1 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (argument_list "(auStack_44,param_2[1],2,uVar9)" ( identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "puVar1 = PTR_safemalloc_000ad414;" (assignment_expression "puVar1 = PTR_safemalloc_000ad414" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }" { (expression_statement "*param_3 = local_3c + local_34 + 1;" (assignment_expression "*param_3 = local_3c + local_34 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "local_3c + local_34 + 1" (binary_expression "local_3c + local_34" identifier + identifier) + number_literal)) ;) (expression_statement "iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);" (assignment_expression "iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1)" identifier = (call_expression "(*(code *)puVar1)(local_3c + local_34 + 2,1)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c + local_34 + 2,1)" ( (binary_expression "local_3c + local_34 + 2" (binary_expression "local_3c + local_34" identifier + identifier) + number_literal) , number_literal )))) ;) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" identifier = identifier) ;) (expression_statement "param_3[1] = iVar6;" (assignment_expression "param_3[1] = iVar6" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)puVar1)(iVar6,local_38,local_3c);" (call_expression "(*(code *)puVar1)(iVar6,local_38,local_3c)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,local_38,local_3c)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" identifier = identifier) ;) (expression_statement "*(undefined1 *)(param_3[1] + local_3c) = 0x20;" (assignment_expression "*(undefined1 *)(param_3[1] + local_3c) = 0x20" (pointer_expression "*(undefined1 *)(param_3[1] + local_3c)" * (cast_expression "(undefined1 *)(param_3[1] + local_3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[1] + local_3c)" ( (binary_expression "param_3[1] + local_3c" (subscript_expression "param_3[1]" identifier [ number_literal ]) + identifier) )))) = number_literal) ;) (expression_statement "iVar6 = local_34;" (assignment_expression "iVar6 = local_34" identifier = identifier) ;) (expression_statement "(*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);" (call_expression "(*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[1] + local_3c + 1,local_30,local_34)" ( (binary_expression "param_3[1] + local_3c + 1" (binary_expression "param_3[1] + local_3c" (subscript_expression "param_3[1]" identifier [ number_literal ]) + identifier) + number_literal) , identifier , identifier ))) ;) (expression_statement "*(undefined1 *)(param_3[1] + *param_3) = 0;" (assignment_expression "*(undefined1 *)(param_3[1] + *param_3) = 0" (pointer_expression "*(undefined1 *)(param_3[1] + *param_3)" * (cast_expression "(undefined1 *)(param_3[1] + *param_3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[1] + *param_3)" ( (binary_expression "param_3[1] + *param_3" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (pointer_expression "*param_3" * identifier)) )))) = number_literal) ;) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44,piVar8);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44,piVar8)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" ( (pointer_expression "**(code **)(param_1 + 0x44)" * (pointer_expression "*(code **)(param_1 + 0x44)" * (cast_expression "(code **)(param_1 + 0x44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (argument_list "(auStack_44,piVar8)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" ( (pointer_expression "**(code **)(param_1 + 0x44)" * (pointer_expression "*(code **)(param_1 + 0x44)" * (cast_expression "(code **)(param_1 + 0x44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (argument_list "(auStack_44)" ( identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" else (compound_statement "{\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" ( (pointer_expression "**(code **)(param_1 + 0x44)" * (pointer_expression "*(code **)(param_1 + 0x44)" * (cast_expression "(code **)(param_1 + 0x44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (argument_list "(auStack_44)" ( identifier ))) ;) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" identifier = identifier) ;) }))) }) (else_clause "else {\n    iVar2 = 4;\n  }" else (compound_statement "{\n    iVar2 = 4;\n  }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) }))) (if_statement "if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar11)" ( (binary_expression "local_2c == *(int *)puVar11" identifier == (pointer_expression "*(int *)puVar11" * (cast_expression "(int *)puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) })) (expression_statement "uVar9 = 0x61480;" (assignment_expression "uVar9 = 0x61480" identifier = number_literal) ;) (expression_statement "iVar4 = local_2c;" (assignment_expression "iVar4 = local_2c" identifier = identifier) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000adca4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_90 = puVar11 + 0x53e10;" (assignment_expression "local_90 = puVar11 + 0x53e10" identifier = (binary_expression "puVar11 + 0x53e10" identifier + number_literal)) ;) (expression_statement "piVar8 = *(int **)(puVar11 + 0x4c854);" (assignment_expression "piVar8 = *(int **)(puVar11 + 0x4c854)" identifier = (pointer_expression "*(int **)(puVar11 + 0x4c854)" * (cast_expression "(int **)(puVar11 + 0x4c854)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x4c854)" ( (binary_expression "puVar11 + 0x4c854" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *piVar5;" (assignment_expression "iVar7 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "local_7c = *piVar8;" (assignment_expression "local_7c = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "local_74 = param_3;" (assignment_expression "local_74 = param_3" identifier = identifier) ;) (expression_statement "local_70 = auStack_44;" (assignment_expression "local_70 = auStack_44" identifier = identifier) ;) (expression_statement "local_6c = uVar9;" (assignment_expression "local_6c = uVar9" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 8) == 0)" ( (binary_expression "*(int *)(iVar7 + 8) == 0" (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }" { (expression_statement "(**(code **)(puVar11 + 0x4bf00))(iVar7);" (call_expression "(**(code **)(puVar11 + 0x4bf00))(iVar7)" (parenthesized_expression "(**(code **)(puVar11 + 0x4bf00))" ( (pointer_expression "**(code **)(puVar11 + 0x4bf00)" * (pointer_expression "*(code **)(puVar11 + 0x4bf00)" * (cast_expression "(code **)(puVar11 + 0x4bf00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x4bf00)" ( (binary_expression "puVar11 + 0x4bf00" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" else (compound_statement "{\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" { (expression_statement "local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);" (assignment_expression "local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8)" identifier = (call_expression "(**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8)" (parenthesized_expression "(**(code **)(iVar4 + 0x30))" ( (pointer_expression "**(code **)(iVar4 + 0x30)" * (pointer_expression "*(code **)(iVar4 + 0x30)" * (cast_expression "(code **)(iVar4 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) )) (argument_list "(auStack_80,iVar7 + 8)" ( identifier , (binary_expression "iVar7 + 8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(local_90 + -0x7f10))(iVar7);" (call_expression "(**(code **)(local_90 + -0x7f10))(iVar7)" (parenthesized_expression "(**(code **)(local_90 + -0x7f10))" ( (pointer_expression "**(code **)(local_90 + -0x7f10)" * (pointer_expression "*(code **)(local_90 + -0x7f10)" * (cast_expression "(code **)(local_90 + -0x7f10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_90 + -0x7f10)" ( (binary_expression "local_90 + -0x7f10" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "iVar3 = local_84;" (assignment_expression "iVar3 = local_84" identifier = identifier) ;) (if_statement "if (local_84 != 0) {\n        iVar3 = 4;\n      }" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar3 = 4;\n      }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) })) }))) })) (if_statement "if (local_7c == *piVar8) {\n    return iVar3;\n  }" if (parenthesized_expression "(local_7c == *piVar8)" ( (binary_expression "local_7c == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "pcVar10 = *(code **)(local_90 + -0x75ec);" (assignment_expression "pcVar10 = *(code **)(local_90 + -0x75ec)" identifier = (pointer_expression "*(code **)(local_90 + -0x75ec)" * (cast_expression "(code **)(local_90 + -0x75ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_90 + -0x75ec)" ( (binary_expression "local_90 + -0x75ec" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = 0x6153c;" (assignment_expression "uVar9 = 0x6153c" identifier = number_literal) ;) (expression_statement "iVar3 = local_7c;" (assignment_expression "iVar3 = local_7c" identifier = identifier) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar5 = *(int **)(pcVar10 + 0x4c798);" (assignment_expression "piVar5 = *(int **)(pcVar10 + 0x4c798)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x4c798)" * (cast_expression "(int **)(pcVar10 + 0x4c798)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c798)" ( (binary_expression "pcVar10 + 0x4c798" identifier + number_literal) ))))) ;) (expression_statement "local_bc = *piVar5;" (assignment_expression "local_bc = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "local_b4 = iVar7;" (assignment_expression "local_b4 = iVar7" identifier = identifier) ;) (expression_statement "local_b0 = piVar8;" (assignment_expression "local_b0 = piVar8" identifier = identifier) ;) (expression_statement "local_ac = param_1;" (assignment_expression "local_ac = param_1" identifier = identifier) ;) (expression_statement "local_a8 = iVar2;" (assignment_expression "local_a8 = iVar2" identifier = identifier) ;) (expression_statement "local_a4 = uVar9;" (assignment_expression "local_a4 = uVar9" identifier = identifier) ;) (expression_statement "uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);" (assignment_expression "uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" identifier = (call_expression "(**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4c278))" ( (pointer_expression "**(code **)(pcVar10 + 0x4c278)" * (pointer_expression "*(code **)(pcVar10 + 0x4c278)" * (cast_expression "(code **)(pcVar10 + 0x4c278)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c278)" ( (binary_expression "pcVar10 + 0x4c278" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" ( (binary_expression "*(int *)(pcVar10 + 0x4bd8c) + 0x5e00" (pointer_expression "*(int *)(pcVar10 + 0x4bd8c)" * (cast_expression "(int *)(pcVar10 + 0x4bd8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4bd8c)" ( (binary_expression "pcVar10 + 0x4bd8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_c0 = uVar9;" (assignment_expression "local_c0 = uVar9" identifier = identifier) ;) (expression_statement "local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);" (assignment_expression "local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9)" identifier = (call_expression "(**(code **)(pcVar10 + 0x4c6ec))(uVar9)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4c6ec))" ( (pointer_expression "**(code **)(pcVar10 + 0x4c6ec)" * (pointer_expression "*(code **)(pcVar10 + 0x4c6ec)" * (cast_expression "(code **)(pcVar10 + 0x4c6ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c6ec)" ( (binary_expression "pcVar10 + 0x4c6ec" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);" (assignment_expression "iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" identifier = (call_expression "(**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" (parenthesized_expression "(**(code **)(iVar3 + 0x3c))" ( (pointer_expression "**(code **)(iVar3 + 0x3c)" * (pointer_expression "*(code **)(iVar3 + 0x3c)" * (cast_expression "(code **)(iVar3 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) ))))) )) (argument_list "(auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" ( identifier , (pointer_expression "&local_c4" & identifier) , (pointer_expression "**(undefined4 **)(pcVar10 + 0x4c3e0)" * (pointer_expression "*(undefined4 **)(pcVar10 + 0x4c3e0)" * (cast_expression "(undefined4 **)(pcVar10 + 0x4c3e0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c3e0)" ( (binary_expression "pcVar10 + 0x4c3e0" identifier + number_literal) ))))) , identifier )))) ;) (expression_statement "(**(code **)(pcVar10 + 0x4be44))(uVar9);" (call_expression "(**(code **)(pcVar10 + 0x4be44))(uVar9)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4be44))" ( (pointer_expression "**(code **)(pcVar10 + 0x4be44)" * (pointer_expression "*(code **)(pcVar10 + 0x4be44)" * (cast_expression "(code **)(pcVar10 + 0x4be44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4be44)" ( (binary_expression "pcVar10 + 0x4be44" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (if_statement "if (iVar6 != 0) {\n    iVar6 = 4;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = 4;\n  }" { (expression_statement "iVar6 = 4;" (assignment_expression "iVar6 = 4" identifier = number_literal) ;) })) (if_statement "if (local_bc == *piVar5) {\n    return iVar6;\n  }" if (parenthesized_expression "(local_bc == *piVar5)" ( (binary_expression "local_bc == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) })) (expression_statement "pcVar10 = *(code **)(pcVar10 + 0x4c768);" (assignment_expression "pcVar10 = *(code **)(pcVar10 + 0x4c768)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x4c768)" * (cast_expression "(code **)(pcVar10 + 0x4c768)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c768)" ( (binary_expression "pcVar10 + 0x4c768" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;" (assignment_expression "*(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000" (pointer_expression "*(int *)(local_bc + 8)" * (cast_expression "(int *)(local_bc + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 8)" ( (binary_expression "local_bc + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 4000" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;" (assignment_expression "*(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(local_bc + 0xc)" * (cast_expression "(int *)(local_bc + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0xc)" ( (binary_expression "local_bc + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;" (assignment_expression "*(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(local_bc + 0x10)" * (cast_expression "(int *)(local_bc + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x10)" ( (binary_expression "local_bc + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;" (assignment_expression "*(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(local_bc + 0x14)" * (cast_expression "(int *)(local_bc + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x14)" ( (binary_expression "local_bc + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;" (assignment_expression "*(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(local_bc + 0x18)" * (cast_expression "(int *)(local_bc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x18)" ( (binary_expression "local_bc + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;" (assignment_expression "*(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(local_bc + 0x1c)" * (cast_expression "(int *)(local_bc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x1c)" ( (binary_expression "local_bc + 0x1c" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;" (assignment_expression "*(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(local_bc + 0x20)" * (cast_expression "(int *)(local_bc + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x20)" ( (binary_expression "local_bc + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;" (assignment_expression "*(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(local_bc + 0x24)" * (cast_expression "(int *)(local_bc + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x24)" ( (binary_expression "local_bc + 0x24" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;" (assignment_expression "*(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(local_bc + 0x28)" * (cast_expression "(int *)(local_bc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x28)" ( (binary_expression "local_bc + 0x28" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar10 + 0x4c28c);" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x4c28c)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(local_bc + 0x2c) = iVar6 + 0x1284;" (assignment_expression "*(int *)(local_bc + 0x2c) = iVar6 + 0x1284" (pointer_expression "*(int *)(local_bc + 0x2c)" * (cast_expression "(int *)(local_bc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x2c)" ( (binary_expression "local_bc + 0x2c" identifier + number_literal) )))) = (binary_expression "iVar6 + 0x1284" identifier + number_literal)) ;) (return_statement "return iVar6 + 0x1284;" return (binary_expression "iVar6 + 0x1284" identifier + number_literal) ;) })))
(translation_unit "Ssh_gss_stat ssh_gssapi_display_status(ssh_gss_library *lib,Ssh_gss_ctx ctx,Ssh_gss_buf *buf)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  OM_uint32 OVar3;\n  void *pvVar4;\n  Ssh_gss_stat SVar5;\n  undefined4 uVar6;\n  Ssh_gss_stat SVar7;\n  gss_buffer_t pgVar8;\n  gss_buffer_t pgVar9;\n  size_t sVar10;\n  size_t sVar11;\n  int *piVar12;\n  int *piVar13;\n  gss_OID pgVar14;\n  t_gss_display_status p_Var15;\n  undefined *puVar16;\n  code *pcVar17;\n  code *pcVar18;\n  undefined1 auStackY_c8 [4];\n  undefined4 uStackY_c4;\n  undefined4 uStackY_c0;\n  int iStackY_bc;\n  size_t sStackY_b4;\n  int *piStackY_b0;\n  ssh_gss_library *psStackY_ac;\n  Ssh_gss_stat SStackY_a8;\n  code *pcStackY_a4;\n  undefined *puStackY_90;\n  Ssh_gss_stat SStackY_84;\n  undefined1 auStackY_80 [4];\n  int iStackY_7c;\n  Ssh_gss_buf *pSStackY_74;\n  OM_uint32 *pOStackY_70;\n  code *pcStackY_6c;\n  OM_uint32 lmin;\n  OM_uint32 ccc;\n  gss_buffer_desc msg_maj;\n  gss_buffer_desc msg_min;\n  \n  puVar16 = PTR___stack_chk_guard_000adcd4;\n  p_Var15 = (lib->u).gssapi.display_status;\n  pgVar14 = *(gss_OID *)PTR_GSS_MECH_KRB5_000ad918;\n  pgVar9 = &msg_maj;\n  sVar10 = 1;\n  msg_maj.length = 0;\n  msg_maj.value = (void *)0x0;\n  msg_min.length = 0;\n  msg_min.value = (void *)0x0;\n  ccc = 0;\n  iVar2 = *(int *)PTR___stack_chk_guard_000adcd4;\n                    /* WARNING: Load size is inaccurate */\n  pgVar8 = *ctx;\n  buf->length = 0;\n  buf->value = (void *)0x0;\n  OVar3 = (*p_Var15)(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9);\n  if (OVar3 == 0) {\n    pgVar8 = &msg_min;\n    sVar10 = 2;\n    ccc = 0;\n    OVar3 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (OVar3 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      buf->value = pvVar4;\n      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;\n      sVar10 = msg_min.length;\n      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);\n      *(undefined1 *)((int)buf->value + buf->length) = 0;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);\n      SVar7 = SSH_GSS_OK;\n    }\n    else {\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }\n  }\n  else {\n    SVar7 = SSH_GSS_FAILURE;\n  }\n  if (iVar2 == *(int *)puVar16) {\n    return SVar7;\n  }\n  pcVar17 = ssh_gssapi_release_cred;\n  puVar16 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStackY_90 = puVar16 + 0x53e10;\n  piVar12 = *(int **)(puVar16 + 0x4c854);\n  sVar11 = pgVar8->length;\n  iStackY_7c = *piVar12;\n  SVar5 = SSH_GSS_FAILURE;\n  pSStackY_74 = buf;\n  pOStackY_70 = &lmin;\n  pcStackY_6c = pcVar17;\n  if (sVar11 != 0) {\n    sVar10 = 0;\n    if (*(int *)(sVar11 + 8) == 0) {\n      (**(code **)(puVar16 + 0x4bf00))(sVar11);\n      SVar5 = SSH_GSS_OK;\n    }\n    else {\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }\n  }\n  if (iStackY_7c == *piVar12) {\n    return SVar5;\n  }\n  pcVar17 = *(code **)(puStackY_90 + -0x75ec);\n  pcVar18 = ssh_gssapi_import_name;\n  iVar2 = iStackY_7c;\n  (*pcVar17)();\n  piVar13 = *(int **)(pcVar17 + 0x4c798);\n  iStackY_bc = *piVar13;\n  sStackY_b4 = sVar11;\n  piStackY_b0 = piVar12;\n  psStackY_ac = lib;\n  SStackY_a8 = SVar7;\n  pcStackY_a4 = pcVar18;\n  uVar6 = (**(code **)(pcVar17 + 0x4c278))(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00);\n  uStackY_c0 = uVar6;\n  uStackY_c4 = (**(code **)(pcVar17 + 0x4c6ec))(uVar6);\n  SVar7 = (**(code **)(iVar2 + 0x3c))\n                    (auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10);\n  (**(code **)(pcVar17 + 0x4be44))(uVar6);\n  if (SVar7 != SSH_GSS_OK) {\n    SVar7 = SSH_GSS_FAILURE;\n  }\n  if (iStackY_bc == *piVar13) {\n    return SVar7;\n  }\n  pcVar17 = *(code **)(pcVar17 + 0x4c768);\n  (*pcVar17)();\n  *(int *)(iStackY_bc + 8) = *(int *)(pcVar17 + 0x4c28c) + 4000;\n  *(int *)(iStackY_bc + 0xc) = *(int *)(pcVar17 + 0x4c28c) + 0x153c;\n  *(int *)(iStackY_bc + 0x10) = *(int *)(pcVar17 + 0x4c28c) + 0x110c;\n  *(int *)(iStackY_bc + 0x14) = *(int *)(pcVar17 + 0x4c28c) + 0xfcc;\n  *(int *)(iStackY_bc + 0x18) = *(int *)(pcVar17 + 0x4c28c) + 0x10a0;\n  *(int *)(iStackY_bc + 0x1c) = *(int *)(pcVar17 + 0x4c28c) + 0x122c;\n  *(int *)(iStackY_bc + 0x20) = *(int *)(pcVar17 + 0x4c28c) + 0x1480;\n  *(int *)(iStackY_bc + 0x24) = *(int *)(pcVar17 + 0x4c28c) + 0x1178;\n  *(int *)(iStackY_bc + 0x28) = *(int *)(pcVar17 + 0x4c28c) + 0x11c0;\n  iVar2 = *(int *)(pcVar17 + 0x4c28c);\n  *(Ssh_gss_stat *)(iStackY_bc + 0x2c) = iVar2 + 0x1284;\n  return iVar2 + 0x1284;\n}\n\n" (function_definition "Ssh_gss_stat ssh_gssapi_display_status(ssh_gss_library *lib,Ssh_gss_ctx ctx,Ssh_gss_buf *buf)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  OM_uint32 OVar3;\n  void *pvVar4;\n  Ssh_gss_stat SVar5;\n  undefined4 uVar6;\n  Ssh_gss_stat SVar7;\n  gss_buffer_t pgVar8;\n  gss_buffer_t pgVar9;\n  size_t sVar10;\n  size_t sVar11;\n  int *piVar12;\n  int *piVar13;\n  gss_OID pgVar14;\n  t_gss_display_status p_Var15;\n  undefined *puVar16;\n  code *pcVar17;\n  code *pcVar18;\n  undefined1 auStackY_c8 [4];\n  undefined4 uStackY_c4;\n  undefined4 uStackY_c0;\n  int iStackY_bc;\n  size_t sStackY_b4;\n  int *piStackY_b0;\n  ssh_gss_library *psStackY_ac;\n  Ssh_gss_stat SStackY_a8;\n  code *pcStackY_a4;\n  undefined *puStackY_90;\n  Ssh_gss_stat SStackY_84;\n  undefined1 auStackY_80 [4];\n  int iStackY_7c;\n  Ssh_gss_buf *pSStackY_74;\n  OM_uint32 *pOStackY_70;\n  code *pcStackY_6c;\n  OM_uint32 lmin;\n  OM_uint32 ccc;\n  gss_buffer_desc msg_maj;\n  gss_buffer_desc msg_min;\n  \n  puVar16 = PTR___stack_chk_guard_000adcd4;\n  p_Var15 = (lib->u).gssapi.display_status;\n  pgVar14 = *(gss_OID *)PTR_GSS_MECH_KRB5_000ad918;\n  pgVar9 = &msg_maj;\n  sVar10 = 1;\n  msg_maj.length = 0;\n  msg_maj.value = (void *)0x0;\n  msg_min.length = 0;\n  msg_min.value = (void *)0x0;\n  ccc = 0;\n  iVar2 = *(int *)PTR___stack_chk_guard_000adcd4;\n                    /* WARNING: Load size is inaccurate */\n  pgVar8 = *ctx;\n  buf->length = 0;\n  buf->value = (void *)0x0;\n  OVar3 = (*p_Var15)(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9);\n  if (OVar3 == 0) {\n    pgVar8 = &msg_min;\n    sVar10 = 2;\n    ccc = 0;\n    OVar3 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (OVar3 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      buf->value = pvVar4;\n      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;\n      sVar10 = msg_min.length;\n      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);\n      *(undefined1 *)((int)buf->value + buf->length) = 0;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);\n      SVar7 = SSH_GSS_OK;\n    }\n    else {\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }\n  }\n  else {\n    SVar7 = SSH_GSS_FAILURE;\n  }\n  if (iVar2 == *(int *)puVar16) {\n    return SVar7;\n  }\n  pcVar17 = ssh_gssapi_release_cred;\n  puVar16 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStackY_90 = puVar16 + 0x53e10;\n  piVar12 = *(int **)(puVar16 + 0x4c854);\n  sVar11 = pgVar8->length;\n  iStackY_7c = *piVar12;\n  SVar5 = SSH_GSS_FAILURE;\n  pSStackY_74 = buf;\n  pOStackY_70 = &lmin;\n  pcStackY_6c = pcVar17;\n  if (sVar11 != 0) {\n    sVar10 = 0;\n    if (*(int *)(sVar11 + 8) == 0) {\n      (**(code **)(puVar16 + 0x4bf00))(sVar11);\n      SVar5 = SSH_GSS_OK;\n    }\n    else {\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }\n  }\n  if (iStackY_7c == *piVar12) {\n    return SVar5;\n  }\n  pcVar17 = *(code **)(puStackY_90 + -0x75ec);\n  pcVar18 = ssh_gssapi_import_name;\n  iVar2 = iStackY_7c;\n  (*pcVar17)();\n  piVar13 = *(int **)(pcVar17 + 0x4c798);\n  iStackY_bc = *piVar13;\n  sStackY_b4 = sVar11;\n  piStackY_b0 = piVar12;\n  psStackY_ac = lib;\n  SStackY_a8 = SVar7;\n  pcStackY_a4 = pcVar18;\n  uVar6 = (**(code **)(pcVar17 + 0x4c278))(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00);\n  uStackY_c0 = uVar6;\n  uStackY_c4 = (**(code **)(pcVar17 + 0x4c6ec))(uVar6);\n  SVar7 = (**(code **)(iVar2 + 0x3c))\n                    (auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10);\n  (**(code **)(pcVar17 + 0x4be44))(uVar6);\n  if (SVar7 != SSH_GSS_OK) {\n    SVar7 = SSH_GSS_FAILURE;\n  }\n  if (iStackY_bc == *piVar13) {\n    return SVar7;\n  }\n  pcVar17 = *(code **)(pcVar17 + 0x4c768);\n  (*pcVar17)();\n  *(int *)(iStackY_bc + 8) = *(int *)(pcVar17 + 0x4c28c) + 4000;\n  *(int *)(iStackY_bc + 0xc) = *(int *)(pcVar17 + 0x4c28c) + 0x153c;\n  *(int *)(iStackY_bc + 0x10) = *(int *)(pcVar17 + 0x4c28c) + 0x110c;\n  *(int *)(iStackY_bc + 0x14) = *(int *)(pcVar17 + 0x4c28c) + 0xfcc;\n  *(int *)(iStackY_bc + 0x18) = *(int *)(pcVar17 + 0x4c28c) + 0x10a0;\n  *(int *)(iStackY_bc + 0x1c) = *(int *)(pcVar17 + 0x4c28c) + 0x122c;\n  *(int *)(iStackY_bc + 0x20) = *(int *)(pcVar17 + 0x4c28c) + 0x1480;\n  *(int *)(iStackY_bc + 0x24) = *(int *)(pcVar17 + 0x4c28c) + 0x1178;\n  *(int *)(iStackY_bc + 0x28) = *(int *)(pcVar17 + 0x4c28c) + 0x11c0;\n  iVar2 = *(int *)(pcVar17 + 0x4c28c);\n  *(Ssh_gss_stat *)(iStackY_bc + 0x2c) = iVar2 + 0x1284;\n  return iVar2 + 0x1284;\n}" type_identifier (function_declarator "ssh_gssapi_display_status(ssh_gss_library *lib,Ssh_gss_ctx ctx,Ssh_gss_buf *buf)" identifier (parameter_list "(ssh_gss_library *lib,Ssh_gss_ctx ctx,Ssh_gss_buf *buf)" ( (parameter_declaration "ssh_gss_library *lib" type_identifier (pointer_declarator "*lib" * identifier)) , (parameter_declaration "Ssh_gss_ctx ctx" type_identifier identifier) , (parameter_declaration "Ssh_gss_buf *buf" type_identifier (pointer_declarator "*buf" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  OM_uint32 OVar3;\n  void *pvVar4;\n  Ssh_gss_stat SVar5;\n  undefined4 uVar6;\n  Ssh_gss_stat SVar7;\n  gss_buffer_t pgVar8;\n  gss_buffer_t pgVar9;\n  size_t sVar10;\n  size_t sVar11;\n  int *piVar12;\n  int *piVar13;\n  gss_OID pgVar14;\n  t_gss_display_status p_Var15;\n  undefined *puVar16;\n  code *pcVar17;\n  code *pcVar18;\n  undefined1 auStackY_c8 [4];\n  undefined4 uStackY_c4;\n  undefined4 uStackY_c0;\n  int iStackY_bc;\n  size_t sStackY_b4;\n  int *piStackY_b0;\n  ssh_gss_library *psStackY_ac;\n  Ssh_gss_stat SStackY_a8;\n  code *pcStackY_a4;\n  undefined *puStackY_90;\n  Ssh_gss_stat SStackY_84;\n  undefined1 auStackY_80 [4];\n  int iStackY_7c;\n  Ssh_gss_buf *pSStackY_74;\n  OM_uint32 *pOStackY_70;\n  code *pcStackY_6c;\n  OM_uint32 lmin;\n  OM_uint32 ccc;\n  gss_buffer_desc msg_maj;\n  gss_buffer_desc msg_min;\n  \n  puVar16 = PTR___stack_chk_guard_000adcd4;\n  p_Var15 = (lib->u).gssapi.display_status;\n  pgVar14 = *(gss_OID *)PTR_GSS_MECH_KRB5_000ad918;\n  pgVar9 = &msg_maj;\n  sVar10 = 1;\n  msg_maj.length = 0;\n  msg_maj.value = (void *)0x0;\n  msg_min.length = 0;\n  msg_min.value = (void *)0x0;\n  ccc = 0;\n  iVar2 = *(int *)PTR___stack_chk_guard_000adcd4;\n                    /* WARNING: Load size is inaccurate */\n  pgVar8 = *ctx;\n  buf->length = 0;\n  buf->value = (void *)0x0;\n  OVar3 = (*p_Var15)(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9);\n  if (OVar3 == 0) {\n    pgVar8 = &msg_min;\n    sVar10 = 2;\n    ccc = 0;\n    OVar3 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (OVar3 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      buf->value = pvVar4;\n      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;\n      sVar10 = msg_min.length;\n      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);\n      *(undefined1 *)((int)buf->value + buf->length) = 0;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);\n      SVar7 = SSH_GSS_OK;\n    }\n    else {\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }\n  }\n  else {\n    SVar7 = SSH_GSS_FAILURE;\n  }\n  if (iVar2 == *(int *)puVar16) {\n    return SVar7;\n  }\n  pcVar17 = ssh_gssapi_release_cred;\n  puVar16 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStackY_90 = puVar16 + 0x53e10;\n  piVar12 = *(int **)(puVar16 + 0x4c854);\n  sVar11 = pgVar8->length;\n  iStackY_7c = *piVar12;\n  SVar5 = SSH_GSS_FAILURE;\n  pSStackY_74 = buf;\n  pOStackY_70 = &lmin;\n  pcStackY_6c = pcVar17;\n  if (sVar11 != 0) {\n    sVar10 = 0;\n    if (*(int *)(sVar11 + 8) == 0) {\n      (**(code **)(puVar16 + 0x4bf00))(sVar11);\n      SVar5 = SSH_GSS_OK;\n    }\n    else {\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }\n  }\n  if (iStackY_7c == *piVar12) {\n    return SVar5;\n  }\n  pcVar17 = *(code **)(puStackY_90 + -0x75ec);\n  pcVar18 = ssh_gssapi_import_name;\n  iVar2 = iStackY_7c;\n  (*pcVar17)();\n  piVar13 = *(int **)(pcVar17 + 0x4c798);\n  iStackY_bc = *piVar13;\n  sStackY_b4 = sVar11;\n  piStackY_b0 = piVar12;\n  psStackY_ac = lib;\n  SStackY_a8 = SVar7;\n  pcStackY_a4 = pcVar18;\n  uVar6 = (**(code **)(pcVar17 + 0x4c278))(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00);\n  uStackY_c0 = uVar6;\n  uStackY_c4 = (**(code **)(pcVar17 + 0x4c6ec))(uVar6);\n  SVar7 = (**(code **)(iVar2 + 0x3c))\n                    (auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10);\n  (**(code **)(pcVar17 + 0x4be44))(uVar6);\n  if (SVar7 != SSH_GSS_OK) {\n    SVar7 = SSH_GSS_FAILURE;\n  }\n  if (iStackY_bc == *piVar13) {\n    return SVar7;\n  }\n  pcVar17 = *(code **)(pcVar17 + 0x4c768);\n  (*pcVar17)();\n  *(int *)(iStackY_bc + 8) = *(int *)(pcVar17 + 0x4c28c) + 4000;\n  *(int *)(iStackY_bc + 0xc) = *(int *)(pcVar17 + 0x4c28c) + 0x153c;\n  *(int *)(iStackY_bc + 0x10) = *(int *)(pcVar17 + 0x4c28c) + 0x110c;\n  *(int *)(iStackY_bc + 0x14) = *(int *)(pcVar17 + 0x4c28c) + 0xfcc;\n  *(int *)(iStackY_bc + 0x18) = *(int *)(pcVar17 + 0x4c28c) + 0x10a0;\n  *(int *)(iStackY_bc + 0x1c) = *(int *)(pcVar17 + 0x4c28c) + 0x122c;\n  *(int *)(iStackY_bc + 0x20) = *(int *)(pcVar17 + 0x4c28c) + 0x1480;\n  *(int *)(iStackY_bc + 0x24) = *(int *)(pcVar17 + 0x4c28c) + 0x1178;\n  *(int *)(iStackY_bc + 0x28) = *(int *)(pcVar17 + 0x4c28c) + 0x11c0;\n  iVar2 = *(int *)(pcVar17 + 0x4c28c);\n  *(Ssh_gss_stat *)(iStackY_bc + 0x2c) = iVar2 + 0x1284;\n  return iVar2 + 0x1284;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "OM_uint32 OVar3;" type_identifier identifier ;) (declaration "void *pvVar4;" primitive_type (pointer_declarator "*pvVar4" * identifier) ;) (declaration "Ssh_gss_stat SVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "Ssh_gss_stat SVar7;" type_identifier identifier ;) (declaration "gss_buffer_t pgVar8;" type_identifier identifier ;) (declaration "gss_buffer_t pgVar9;" type_identifier identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "gss_OID pgVar14;" type_identifier identifier ;) (declaration "t_gss_display_status p_Var15;" type_identifier identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "undefined1 auStackY_c8 [4];" type_identifier (array_declarator "auStackY_c8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStackY_c4;" type_identifier identifier ;) (declaration "undefined4 uStackY_c0;" type_identifier identifier ;) (declaration "int iStackY_bc;" primitive_type identifier ;) (declaration "size_t sStackY_b4;" primitive_type identifier ;) (declaration "int *piStackY_b0;" primitive_type (pointer_declarator "*piStackY_b0" * identifier) ;) (declaration "ssh_gss_library *psStackY_ac;" type_identifier (pointer_declarator "*psStackY_ac" * identifier) ;) (declaration "Ssh_gss_stat SStackY_a8;" type_identifier identifier ;) (declaration "code *pcStackY_a4;" type_identifier (pointer_declarator "*pcStackY_a4" * identifier) ;) (declaration "undefined *puStackY_90;" type_identifier (pointer_declarator "*puStackY_90" * identifier) ;) (declaration "Ssh_gss_stat SStackY_84;" type_identifier identifier ;) (declaration "undefined1 auStackY_80 [4];" type_identifier (array_declarator "auStackY_80 [4]" identifier [ number_literal ]) ;) (declaration "int iStackY_7c;" primitive_type identifier ;) (declaration "Ssh_gss_buf *pSStackY_74;" type_identifier (pointer_declarator "*pSStackY_74" * identifier) ;) (declaration "OM_uint32 *pOStackY_70;" type_identifier (pointer_declarator "*pOStackY_70" * identifier) ;) (declaration "code *pcStackY_6c;" type_identifier (pointer_declarator "*pcStackY_6c" * identifier) ;) (declaration "OM_uint32 lmin;" type_identifier identifier ;) (declaration "OM_uint32 ccc;" type_identifier identifier ;) (declaration "gss_buffer_desc msg_maj;" type_identifier identifier ;) (declaration "gss_buffer_desc msg_min;" type_identifier identifier ;) (expression_statement "puVar16 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar16 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "p_Var15 = (lib->u).gssapi.display_status;" (assignment_expression "p_Var15 = (lib->u).gssapi.display_status" identifier = (field_expression "(lib->u).gssapi.display_status" (field_expression "(lib->u).gssapi" (parenthesized_expression "(lib->u)" ( (field_expression "lib->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pgVar14 = *(gss_OID *)PTR_GSS_MECH_KRB5_000ad918;" (assignment_expression "pgVar14 = *(gss_OID *)PTR_GSS_MECH_KRB5_000ad918" identifier = (pointer_expression "*(gss_OID *)PTR_GSS_MECH_KRB5_000ad918" * (cast_expression "(gss_OID *)PTR_GSS_MECH_KRB5_000ad918" ( (type_descriptor "gss_OID *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pgVar9 = &msg_maj;" (assignment_expression "pgVar9 = &msg_maj" identifier = (pointer_expression "&msg_maj" & identifier)) ;) (expression_statement "sVar10 = 1;" (assignment_expression "sVar10 = 1" identifier = number_literal) ;) (expression_statement "msg_maj.length = 0;" (assignment_expression "msg_maj.length = 0" (field_expression "msg_maj.length" identifier . field_identifier) = number_literal) ;) (expression_statement "msg_maj.value = (void *)0x0;" (assignment_expression "msg_maj.value = (void *)0x0" (field_expression "msg_maj.value" identifier . field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "msg_min.length = 0;" (assignment_expression "msg_min.length = 0" (field_expression "msg_min.length" identifier . field_identifier) = number_literal) ;) (expression_statement "msg_min.value = (void *)0x0;" (assignment_expression "msg_min.value = (void *)0x0" (field_expression "msg_min.value" identifier . field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ccc = 0;" (assignment_expression "ccc = 0" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) comment (expression_statement "pgVar8 = *ctx;" (assignment_expression "pgVar8 = *ctx" identifier = (pointer_expression "*ctx" * identifier)) ;) (expression_statement "buf->length = 0;" (assignment_expression "buf->length = 0" (field_expression "buf->length" identifier -> field_identifier) = number_literal) ;) (expression_statement "buf->value = (void *)0x0;" (assignment_expression "buf->value = (void *)0x0" (field_expression "buf->value" identifier -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "OVar3 = (*p_Var15)(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9);" (assignment_expression "OVar3 = (*p_Var15)(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9)" identifier = (call_expression "(*p_Var15)(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9)" (parenthesized_expression "(*p_Var15)" ( (pointer_expression "*p_Var15" * identifier) )) (argument_list "(&lmin,(OM_uint32)pgVar8,1,pgVar14,&ccc,pgVar9)" ( (pointer_expression "&lmin" & identifier) , (cast_expression "(OM_uint32)pgVar8" ( (type_descriptor "OM_uint32" type_identifier) ) identifier) , number_literal , identifier , (pointer_expression "&ccc" & identifier) , identifier )))) ;) (if_statement "if (OVar3 == 0) {\n    pgVar8 = &msg_min;\n    sVar10 = 2;\n    ccc = 0;\n    OVar3 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (OVar3 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      buf->value = pvVar4;\n      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;\n      sVar10 = msg_min.length;\n      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);\n      *(undefined1 *)((int)buf->value + buf->length) = 0;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);\n      SVar7 = SSH_GSS_OK;\n    }\n    else {\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }\n  }\n  else {\n    SVar7 = SSH_GSS_FAILURE;\n  }" if (parenthesized_expression "(OVar3 == 0)" ( (binary_expression "OVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    pgVar8 = &msg_min;\n    sVar10 = 2;\n    ccc = 0;\n    OVar3 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (OVar3 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      buf->value = pvVar4;\n      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;\n      sVar10 = msg_min.length;\n      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);\n      *(undefined1 *)((int)buf->value + buf->length) = 0;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);\n      SVar7 = SSH_GSS_OK;\n    }\n    else {\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }\n  }" { (expression_statement "pgVar8 = &msg_min;" (assignment_expression "pgVar8 = &msg_min" identifier = (pointer_expression "&msg_min" & identifier)) ;) (expression_statement "sVar10 = 2;" (assignment_expression "sVar10 = 2" identifier = number_literal) ;) (expression_statement "ccc = 0;" (assignment_expression "ccc = 0" identifier = number_literal) ;) (expression_statement "OVar3 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8);" (assignment_expression "OVar3 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8)" identifier = (call_expression "(*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8)" (parenthesized_expression "(*(lib->u).gssapi.display_status)" ( (pointer_expression "*(lib->u).gssapi.display_status" * (field_expression "(lib->u).gssapi.display_status" (field_expression "(lib->u).gssapi" (parenthesized_expression "(lib->u)" ( (field_expression "lib->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )) (argument_list "(&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar14,&ccc,pgVar8)" ( (pointer_expression "&lmin" & identifier) , (pointer_expression "*(OM_uint32 *)((int)ctx + 4)" * (cast_expression "(OM_uint32 *)((int)ctx + 4)" ( (type_descriptor "OM_uint32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ctx + 4)" ( (binary_expression "(int)ctx + 4" (cast_expression "(int)ctx" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , number_literal , identifier , (pointer_expression "&ccc" & identifier) , identifier )))) ;) (expression_statement "puVar1 = PTR_safemalloc_000ad414;" (assignment_expression "puVar1 = PTR_safemalloc_000ad414" identifier = identifier) ;) (if_statement "if (OVar3 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      buf->value = pvVar4;\n      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;\n      sVar10 = msg_min.length;\n      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);\n      *(undefined1 *)((int)buf->value + buf->length) = 0;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);\n      SVar7 = SSH_GSS_OK;\n    }\n    else {\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }" if (parenthesized_expression "(OVar3 == 0)" ( (binary_expression "OVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      buf->value = pvVar4;\n      (*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;\n      sVar10 = msg_min.length;\n      (*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);\n      *(undefined1 *)((int)buf->value + buf->length) = 0;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);\n      SVar7 = SSH_GSS_OK;\n    }" { (expression_statement "buf->length = msg_maj.length + msg_min.length + 1;" (assignment_expression "buf->length = msg_maj.length + msg_min.length + 1" (field_expression "buf->length" identifier -> field_identifier) = (binary_expression "msg_maj.length + msg_min.length + 1" (binary_expression "msg_maj.length + msg_min.length" (field_expression "msg_maj.length" identifier . field_identifier) + (field_expression "msg_min.length" identifier . field_identifier)) + number_literal)) ;) (expression_statement "pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1);" (assignment_expression "pvVar4 = (void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1)" identifier = (cast_expression "(void *)(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar1)(msg_maj.length + msg_min.length + 2,1)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(msg_maj.length + msg_min.length + 2,1)" ( (binary_expression "msg_maj.length + msg_min.length + 2" (binary_expression "msg_maj.length + msg_min.length" (field_expression "msg_maj.length" identifier . field_identifier) + (field_expression "msg_min.length" identifier . field_identifier)) + number_literal) , number_literal ))))) ;) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" identifier = identifier) ;) (expression_statement "buf->value = pvVar4;" (assignment_expression "buf->value = pvVar4" (field_expression "buf->value" identifier -> field_identifier) = identifier) ;) (expression_statement "(*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length);" (call_expression "(*(code *)puVar1)(pvVar4,msg_maj.value,msg_maj.length)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pvVar4,msg_maj.value,msg_maj.length)" ( identifier , (field_expression "msg_maj.value" identifier . field_identifier) , (field_expression "msg_maj.length" identifier . field_identifier) ))) ;) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" identifier = identifier) ;) (expression_statement "*(undefined1 *)((int)buf->value + msg_maj.length) = 0x20;" (assignment_expression "*(undefined1 *)((int)buf->value + msg_maj.length) = 0x20" (pointer_expression "*(undefined1 *)((int)buf->value + msg_maj.length)" * (cast_expression "(undefined1 *)((int)buf->value + msg_maj.length)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)buf->value + msg_maj.length)" ( (binary_expression "(int)buf->value + msg_maj.length" (cast_expression "(int)buf->value" ( (type_descriptor "int" primitive_type) ) (field_expression "buf->value" identifier -> field_identifier)) + (field_expression "msg_maj.length" identifier . field_identifier)) )))) = number_literal) ;) (expression_statement "sVar10 = msg_min.length;" (assignment_expression "sVar10 = msg_min.length" identifier = (field_expression "msg_min.length" identifier . field_identifier)) ;) (expression_statement "(*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length);" (call_expression "(*(code *)puVar1)((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)buf->value + msg_maj.length + 1,msg_min.value,msg_min.length)" ( (binary_expression "(int)buf->value + msg_maj.length + 1" (binary_expression "(int)buf->value + msg_maj.length" (cast_expression "(int)buf->value" ( (type_descriptor "int" primitive_type) ) (field_expression "buf->value" identifier -> field_identifier)) + (field_expression "msg_maj.length" identifier . field_identifier)) + number_literal) , (field_expression "msg_min.value" identifier . field_identifier) , (field_expression "msg_min.length" identifier . field_identifier) ))) ;) (expression_statement "*(undefined1 *)((int)buf->value + buf->length) = 0;" (assignment_expression "*(undefined1 *)((int)buf->value + buf->length) = 0" (pointer_expression "*(undefined1 *)((int)buf->value + buf->length)" * (cast_expression "(undefined1 *)((int)buf->value + buf->length)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)buf->value + buf->length)" ( (binary_expression "(int)buf->value + buf->length" (cast_expression "(int)buf->value" ( (type_descriptor "int" primitive_type) ) (field_expression "buf->value" identifier -> field_identifier)) + (field_expression "buf->length" identifier -> field_identifier)) )))) = number_literal) ;) (expression_statement "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);" (call_expression "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar9)" (parenthesized_expression "(*(lib->u).gssapi.release_buffer)" ( (pointer_expression "*(lib->u).gssapi.release_buffer" * (field_expression "(lib->u).gssapi.release_buffer" (field_expression "(lib->u).gssapi" (parenthesized_expression "(lib->u)" ( (field_expression "lib->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )) (argument_list "(&lmin,pgVar9)" ( (pointer_expression "&lmin" & identifier) , identifier ))) ;) (expression_statement "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar8);" (call_expression "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar8)" (parenthesized_expression "(*(lib->u).gssapi.release_buffer)" ( (pointer_expression "*(lib->u).gssapi.release_buffer" * (field_expression "(lib->u).gssapi.release_buffer" (field_expression "(lib->u).gssapi" (parenthesized_expression "(lib->u)" ( (field_expression "lib->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )) (argument_list "(&lmin,pgVar8)" ( (pointer_expression "&lmin" & identifier) , identifier ))) ;) (expression_statement "SVar7 = SSH_GSS_OK;" (assignment_expression "SVar7 = SSH_GSS_OK" identifier = identifier) ;) }) (else_clause "else {\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }" else (compound_statement "{\n      SVar7 = SSH_GSS_FAILURE;\n      (*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);\n      pgVar8 = pgVar9;\n    }" { (expression_statement "SVar7 = SSH_GSS_FAILURE;" (assignment_expression "SVar7 = SSH_GSS_FAILURE" identifier = identifier) ;) (expression_statement "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar9);" (call_expression "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar9)" (parenthesized_expression "(*(lib->u).gssapi.release_buffer)" ( (pointer_expression "*(lib->u).gssapi.release_buffer" * (field_expression "(lib->u).gssapi.release_buffer" (field_expression "(lib->u).gssapi" (parenthesized_expression "(lib->u)" ( (field_expression "lib->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )) (argument_list "(&lmin,pgVar9)" ( (pointer_expression "&lmin" & identifier) , identifier ))) ;) (expression_statement "pgVar8 = pgVar9;" (assignment_expression "pgVar8 = pgVar9" identifier = identifier) ;) }))) }) (else_clause "else {\n    SVar7 = SSH_GSS_FAILURE;\n  }" else (compound_statement "{\n    SVar7 = SSH_GSS_FAILURE;\n  }" { (expression_statement "SVar7 = SSH_GSS_FAILURE;" (assignment_expression "SVar7 = SSH_GSS_FAILURE" identifier = identifier) ;) }))) (if_statement "if (iVar2 == *(int *)puVar16) {\n    return SVar7;\n  }" if (parenthesized_expression "(iVar2 == *(int *)puVar16)" ( (binary_expression "iVar2 == *(int *)puVar16" identifier == (pointer_expression "*(int *)puVar16" * (cast_expression "(int *)puVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return SVar7;\n  }" { (return_statement "return SVar7;" return identifier ;) })) (expression_statement "pcVar17 = ssh_gssapi_release_cred;" (assignment_expression "pcVar17 = ssh_gssapi_release_cred" identifier = identifier) ;) (expression_statement "puVar16 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar16 = PTR___stack_chk_fail_000adca4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStackY_90 = puVar16 + 0x53e10;" (assignment_expression "puStackY_90 = puVar16 + 0x53e10" identifier = (binary_expression "puVar16 + 0x53e10" identifier + number_literal)) ;) (expression_statement "piVar12 = *(int **)(puVar16 + 0x4c854);" (assignment_expression "piVar12 = *(int **)(puVar16 + 0x4c854)" identifier = (pointer_expression "*(int **)(puVar16 + 0x4c854)" * (cast_expression "(int **)(puVar16 + 0x4c854)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x4c854)" ( (binary_expression "puVar16 + 0x4c854" identifier + number_literal) ))))) ;) (expression_statement "sVar11 = pgVar8->length;" (assignment_expression "sVar11 = pgVar8->length" identifier = (field_expression "pgVar8->length" identifier -> field_identifier)) ;) (expression_statement "iStackY_7c = *piVar12;" (assignment_expression "iStackY_7c = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "SVar5 = SSH_GSS_FAILURE;" (assignment_expression "SVar5 = SSH_GSS_FAILURE" identifier = identifier) ;) (expression_statement "pSStackY_74 = buf;" (assignment_expression "pSStackY_74 = buf" identifier = identifier) ;) (expression_statement "pOStackY_70 = &lmin;" (assignment_expression "pOStackY_70 = &lmin" identifier = (pointer_expression "&lmin" & identifier)) ;) (expression_statement "pcStackY_6c = pcVar17;" (assignment_expression "pcStackY_6c = pcVar17" identifier = identifier) ;) (if_statement "if (sVar11 != 0) {\n    sVar10 = 0;\n    if (*(int *)(sVar11 + 8) == 0) {\n      (**(code **)(puVar16 + 0x4bf00))(sVar11);\n      SVar5 = SSH_GSS_OK;\n    }\n    else {\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }\n  }" if (parenthesized_expression "(sVar11 != 0)" ( (binary_expression "sVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    sVar10 = 0;\n    if (*(int *)(sVar11 + 8) == 0) {\n      (**(code **)(puVar16 + 0x4bf00))(sVar11);\n      SVar5 = SSH_GSS_OK;\n    }\n    else {\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }\n  }" { (expression_statement "sVar10 = 0;" (assignment_expression "sVar10 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(sVar11 + 8) == 0) {\n      (**(code **)(puVar16 + 0x4bf00))(sVar11);\n      SVar5 = SSH_GSS_OK;\n    }\n    else {\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }" if (parenthesized_expression "(*(int *)(sVar11 + 8) == 0)" ( (binary_expression "*(int *)(sVar11 + 8) == 0" (pointer_expression "*(int *)(sVar11 + 8)" * (cast_expression "(int *)(sVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar11 + 8)" ( (binary_expression "sVar11 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(puVar16 + 0x4bf00))(sVar11);\n      SVar5 = SSH_GSS_OK;\n    }" { (expression_statement "(**(code **)(puVar16 + 0x4bf00))(sVar11);" (call_expression "(**(code **)(puVar16 + 0x4bf00))(sVar11)" (parenthesized_expression "(**(code **)(puVar16 + 0x4bf00))" ( (pointer_expression "**(code **)(puVar16 + 0x4bf00)" * (pointer_expression "*(code **)(puVar16 + 0x4bf00)" * (cast_expression "(code **)(puVar16 + 0x4bf00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + 0x4bf00)" ( (binary_expression "puVar16 + 0x4bf00" identifier + number_literal) ))))) )) (argument_list "(sVar11)" ( identifier ))) ;) (expression_statement "SVar5 = SSH_GSS_OK;" (assignment_expression "SVar5 = SSH_GSS_OK" identifier = identifier) ;) }) (else_clause "else {\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }" else (compound_statement "{\n      SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);\n      (**(code **)(puStackY_90 + -0x7f10))(sVar11);\n      SVar5 = SStackY_84;\n      if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }\n    }" { (expression_statement "SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8);" (assignment_expression "SStackY_84 = (**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8)" identifier = (call_expression "(**(code **)(iVar2 + 0x30))(auStackY_80,sVar11 + 8)" (parenthesized_expression "(**(code **)(iVar2 + 0x30))" ( (pointer_expression "**(code **)(iVar2 + 0x30)" * (pointer_expression "*(code **)(iVar2 + 0x30)" * (cast_expression "(code **)(iVar2 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x30)" ( (binary_expression "iVar2 + 0x30" identifier + number_literal) ))))) )) (argument_list "(auStackY_80,sVar11 + 8)" ( identifier , (binary_expression "sVar11 + 8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(puStackY_90 + -0x7f10))(sVar11);" (call_expression "(**(code **)(puStackY_90 + -0x7f10))(sVar11)" (parenthesized_expression "(**(code **)(puStackY_90 + -0x7f10))" ( (pointer_expression "**(code **)(puStackY_90 + -0x7f10)" * (pointer_expression "*(code **)(puStackY_90 + -0x7f10)" * (cast_expression "(code **)(puStackY_90 + -0x7f10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_90 + -0x7f10)" ( (binary_expression "puStackY_90 + -0x7f10" identifier + number_literal) ))))) )) (argument_list "(sVar11)" ( identifier ))) ;) (expression_statement "SVar5 = SStackY_84;" (assignment_expression "SVar5 = SStackY_84" identifier = identifier) ;) (if_statement "if (SStackY_84 != SSH_GSS_OK) {\n        SVar5 = SSH_GSS_FAILURE;\n      }" if (parenthesized_expression "(SStackY_84 != SSH_GSS_OK)" ( (binary_expression "SStackY_84 != SSH_GSS_OK" identifier != identifier) )) (compound_statement "{\n        SVar5 = SSH_GSS_FAILURE;\n      }" { (expression_statement "SVar5 = SSH_GSS_FAILURE;" (assignment_expression "SVar5 = SSH_GSS_FAILURE" identifier = identifier) ;) })) }))) })) (if_statement "if (iStackY_7c == *piVar12) {\n    return SVar5;\n  }" if (parenthesized_expression "(iStackY_7c == *piVar12)" ( (binary_expression "iStackY_7c == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n    return SVar5;\n  }" { (return_statement "return SVar5;" return identifier ;) })) (expression_statement "pcVar17 = *(code **)(puStackY_90 + -0x75ec);" (assignment_expression "pcVar17 = *(code **)(puStackY_90 + -0x75ec)" identifier = (pointer_expression "*(code **)(puStackY_90 + -0x75ec)" * (cast_expression "(code **)(puStackY_90 + -0x75ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_90 + -0x75ec)" ( (binary_expression "puStackY_90 + -0x75ec" identifier + number_literal) ))))) ;) (expression_statement "pcVar18 = ssh_gssapi_import_name;" (assignment_expression "pcVar18 = ssh_gssapi_import_name" identifier = identifier) ;) (expression_statement "iVar2 = iStackY_7c;" (assignment_expression "iVar2 = iStackY_7c" identifier = identifier) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar13 = *(int **)(pcVar17 + 0x4c798);" (assignment_expression "piVar13 = *(int **)(pcVar17 + 0x4c798)" identifier = (pointer_expression "*(int **)(pcVar17 + 0x4c798)" * (cast_expression "(int **)(pcVar17 + 0x4c798)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x4c798)" ( (binary_expression "pcVar17 + 0x4c798" identifier + number_literal) ))))) ;) (expression_statement "iStackY_bc = *piVar13;" (assignment_expression "iStackY_bc = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "sStackY_b4 = sVar11;" (assignment_expression "sStackY_b4 = sVar11" identifier = identifier) ;) (expression_statement "piStackY_b0 = piVar12;" (assignment_expression "piStackY_b0 = piVar12" identifier = identifier) ;) (expression_statement "psStackY_ac = lib;" (assignment_expression "psStackY_ac = lib" identifier = identifier) ;) (expression_statement "SStackY_a8 = SVar7;" (assignment_expression "SStackY_a8 = SVar7" identifier = identifier) ;) (expression_statement "pcStackY_a4 = pcVar18;" (assignment_expression "pcStackY_a4 = pcVar18" identifier = identifier) ;) (expression_statement "uVar6 = (**(code **)(pcVar17 + 0x4c278))(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00);" (assignment_expression "uVar6 = (**(code **)(pcVar17 + 0x4c278))(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00)" identifier = (call_expression "(**(code **)(pcVar17 + 0x4c278))(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00)" (parenthesized_expression "(**(code **)(pcVar17 + 0x4c278))" ( (pointer_expression "**(code **)(pcVar17 + 0x4c278)" * (pointer_expression "*(code **)(pcVar17 + 0x4c278)" * (cast_expression "(code **)(pcVar17 + 0x4c278)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x4c278)" ( (binary_expression "pcVar17 + 0x4c278" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar17 + 0x4bd8c) + 0x5e00)" ( (binary_expression "*(int *)(pcVar17 + 0x4bd8c) + 0x5e00" (pointer_expression "*(int *)(pcVar17 + 0x4bd8c)" * (cast_expression "(int *)(pcVar17 + 0x4bd8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4bd8c)" ( (binary_expression "pcVar17 + 0x4bd8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStackY_c0 = uVar6;" (assignment_expression "uStackY_c0 = uVar6" identifier = identifier) ;) (expression_statement "uStackY_c4 = (**(code **)(pcVar17 + 0x4c6ec))(uVar6);" (assignment_expression "uStackY_c4 = (**(code **)(pcVar17 + 0x4c6ec))(uVar6)" identifier = (call_expression "(**(code **)(pcVar17 + 0x4c6ec))(uVar6)" (parenthesized_expression "(**(code **)(pcVar17 + 0x4c6ec))" ( (pointer_expression "**(code **)(pcVar17 + 0x4c6ec)" * (pointer_expression "*(code **)(pcVar17 + 0x4c6ec)" * (cast_expression "(code **)(pcVar17 + 0x4c6ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x4c6ec)" ( (binary_expression "pcVar17 + 0x4c6ec" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "SVar7 = (**(code **)(iVar2 + 0x3c))\n                    (auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10);" (assignment_expression "SVar7 = (**(code **)(iVar2 + 0x3c))\n                    (auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10)" identifier = (call_expression "(**(code **)(iVar2 + 0x3c))\n                    (auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10)" (parenthesized_expression "(**(code **)(iVar2 + 0x3c))" ( (pointer_expression "**(code **)(iVar2 + 0x3c)" * (pointer_expression "*(code **)(iVar2 + 0x3c)" * (cast_expression "(code **)(iVar2 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x3c)" ( (binary_expression "iVar2 + 0x3c" identifier + number_literal) ))))) )) (argument_list "(auStackY_c8,&uStackY_c4,**(undefined4 **)(pcVar17 + 0x4c3e0),sVar10)" ( identifier , (pointer_expression "&uStackY_c4" & identifier) , (pointer_expression "**(undefined4 **)(pcVar17 + 0x4c3e0)" * (pointer_expression "*(undefined4 **)(pcVar17 + 0x4c3e0)" * (cast_expression "(undefined4 **)(pcVar17 + 0x4c3e0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x4c3e0)" ( (binary_expression "pcVar17 + 0x4c3e0" identifier + number_literal) ))))) , identifier )))) ;) (expression_statement "(**(code **)(pcVar17 + 0x4be44))(uVar6);" (call_expression "(**(code **)(pcVar17 + 0x4be44))(uVar6)" (parenthesized_expression "(**(code **)(pcVar17 + 0x4be44))" ( (pointer_expression "**(code **)(pcVar17 + 0x4be44)" * (pointer_expression "*(code **)(pcVar17 + 0x4be44)" * (cast_expression "(code **)(pcVar17 + 0x4be44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x4be44)" ( (binary_expression "pcVar17 + 0x4be44" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) (if_statement "if (SVar7 != SSH_GSS_OK) {\n    SVar7 = SSH_GSS_FAILURE;\n  }" if (parenthesized_expression "(SVar7 != SSH_GSS_OK)" ( (binary_expression "SVar7 != SSH_GSS_OK" identifier != identifier) )) (compound_statement "{\n    SVar7 = SSH_GSS_FAILURE;\n  }" { (expression_statement "SVar7 = SSH_GSS_FAILURE;" (assignment_expression "SVar7 = SSH_GSS_FAILURE" identifier = identifier) ;) })) (if_statement "if (iStackY_bc == *piVar13) {\n    return SVar7;\n  }" if (parenthesized_expression "(iStackY_bc == *piVar13)" ( (binary_expression "iStackY_bc == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    return SVar7;\n  }" { (return_statement "return SVar7;" return identifier ;) })) (expression_statement "pcVar17 = *(code **)(pcVar17 + 0x4c768);" (assignment_expression "pcVar17 = *(code **)(pcVar17 + 0x4c768)" identifier = (pointer_expression "*(code **)(pcVar17 + 0x4c768)" * (cast_expression "(code **)(pcVar17 + 0x4c768)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x4c768)" ( (binary_expression "pcVar17 + 0x4c768" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar17)();" (call_expression "(*pcVar17)()" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(int *)(iStackY_bc + 8) = *(int *)(pcVar17 + 0x4c28c) + 4000;" (assignment_expression "*(int *)(iStackY_bc + 8) = *(int *)(pcVar17 + 0x4c28c) + 4000" (pointer_expression "*(int *)(iStackY_bc + 8)" * (cast_expression "(int *)(iStackY_bc + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 8)" ( (binary_expression "iStackY_bc + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 4000" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0xc) = *(int *)(pcVar17 + 0x4c28c) + 0x153c;" (assignment_expression "*(int *)(iStackY_bc + 0xc) = *(int *)(pcVar17 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(iStackY_bc + 0xc)" * (cast_expression "(int *)(iStackY_bc + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0xc)" ( (binary_expression "iStackY_bc + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0x10) = *(int *)(pcVar17 + 0x4c28c) + 0x110c;" (assignment_expression "*(int *)(iStackY_bc + 0x10) = *(int *)(pcVar17 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(iStackY_bc + 0x10)" * (cast_expression "(int *)(iStackY_bc + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x10)" ( (binary_expression "iStackY_bc + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0x14) = *(int *)(pcVar17 + 0x4c28c) + 0xfcc;" (assignment_expression "*(int *)(iStackY_bc + 0x14) = *(int *)(pcVar17 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(iStackY_bc + 0x14)" * (cast_expression "(int *)(iStackY_bc + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x14)" ( (binary_expression "iStackY_bc + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0x18) = *(int *)(pcVar17 + 0x4c28c) + 0x10a0;" (assignment_expression "*(int *)(iStackY_bc + 0x18) = *(int *)(pcVar17 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(iStackY_bc + 0x18)" * (cast_expression "(int *)(iStackY_bc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x18)" ( (binary_expression "iStackY_bc + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0x1c) = *(int *)(pcVar17 + 0x4c28c) + 0x122c;" (assignment_expression "*(int *)(iStackY_bc + 0x1c) = *(int *)(pcVar17 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(iStackY_bc + 0x1c)" * (cast_expression "(int *)(iStackY_bc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x1c)" ( (binary_expression "iStackY_bc + 0x1c" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0x20) = *(int *)(pcVar17 + 0x4c28c) + 0x1480;" (assignment_expression "*(int *)(iStackY_bc + 0x20) = *(int *)(pcVar17 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(iStackY_bc + 0x20)" * (cast_expression "(int *)(iStackY_bc + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x20)" ( (binary_expression "iStackY_bc + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0x24) = *(int *)(pcVar17 + 0x4c28c) + 0x1178;" (assignment_expression "*(int *)(iStackY_bc + 0x24) = *(int *)(pcVar17 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(iStackY_bc + 0x24)" * (cast_expression "(int *)(iStackY_bc + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x24)" ( (binary_expression "iStackY_bc + 0x24" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_bc + 0x28) = *(int *)(pcVar17 + 0x4c28c) + 0x11c0;" (assignment_expression "*(int *)(iStackY_bc + 0x28) = *(int *)(pcVar17 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(iStackY_bc + 0x28)" * (cast_expression "(int *)(iStackY_bc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x28)" ( (binary_expression "iStackY_bc + 0x28" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar17 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar2 = *(int *)(pcVar17 + 0x4c28c);" (assignment_expression "iVar2 = *(int *)(pcVar17 + 0x4c28c)" identifier = (pointer_expression "*(int *)(pcVar17 + 0x4c28c)" * (cast_expression "(int *)(pcVar17 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + 0x4c28c)" ( (binary_expression "pcVar17 + 0x4c28c" identifier + number_literal) ))))) ;) (expression_statement "*(Ssh_gss_stat *)(iStackY_bc + 0x2c) = iVar2 + 0x1284;" (assignment_expression "*(Ssh_gss_stat *)(iStackY_bc + 0x2c) = iVar2 + 0x1284" (pointer_expression "*(Ssh_gss_stat *)(iStackY_bc + 0x2c)" * (cast_expression "(Ssh_gss_stat *)(iStackY_bc + 0x2c)" ( (type_descriptor "Ssh_gss_stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_bc + 0x2c)" ( (binary_expression "iStackY_bc + 0x2c" identifier + number_literal) )))) = (binary_expression "iVar2 + 0x1284" identifier + number_literal)) ;) (return_statement "return iVar2 + 0x1284;" return (binary_expression "iVar2 + 0x1284" identifier + number_literal) ;) })))
(translation_unit "int FUN_00061284(int param_1,undefined4 *param_2,int *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}\n\n" (function_definition "int FUN_00061284(int param_1,undefined4 *param_2,int *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}" primitive_type (function_declarator "FUN_00061284(int param_1,undefined4 *param_2,int *param_3)" identifier (parameter_list "(int param_1,undefined4 *param_2,int *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_c4;" type_identifier identifier ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "int *local_b0;" primitive_type (pointer_declarator "*local_b0" * identifier) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined1 auStack_80 [4];" type_identifier (array_declarator "auStack_80 [4]" identifier [ number_literal ]) ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "undefined1 *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined4 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined1 auStack_44 [4];" type_identifier (array_declarator "auStack_44 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar11 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar11 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "pcVar10 = *(code **)(param_1 + 0x34);" (assignment_expression "pcVar10 = *(code **)(param_1 + 0x34)" identifier = (pointer_expression "*(code **)(param_1 + 0x34)" * (cast_expression "(code **)(param_1 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;" (assignment_expression "uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" identifier = (pointer_expression "*(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" * (cast_expression "(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar8 = &local_3c;" (assignment_expression "piVar8 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar5 = (int *)*param_2;" (assignment_expression "piVar5 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "param_3[1] = 0;" (assignment_expression "param_3[1] = 0" (subscript_expression "param_3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_58 = &local_40;" (assignment_expression "local_58 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_54 = piVar8;" (assignment_expression "local_54 = piVar8" identifier = identifier) ;) (expression_statement "iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);" (assignment_expression "iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9)" identifier = (call_expression "(*pcVar10)(auStack_44,piVar5,1,uVar9)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(auStack_44,piVar5,1,uVar9)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }" { (expression_statement "piVar5 = &local_34;" (assignment_expression "piVar5 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_58 = &local_40;" (assignment_expression "local_58 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "local_54 = piVar5;" (assignment_expression "local_54 = piVar5" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);" (assignment_expression "iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9)" identifier = (call_expression "(**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9)" (parenthesized_expression "(**(code **)(param_1 + 0x34))" ( (pointer_expression "**(code **)(param_1 + 0x34)" * (pointer_expression "*(code **)(param_1 + 0x34)" * (cast_expression "(code **)(param_1 + 0x34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) )) (argument_list "(auStack_44,param_2[1],2,uVar9)" ( identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "puVar1 = PTR_safemalloc_000ad414;" (assignment_expression "puVar1 = PTR_safemalloc_000ad414" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }" { (expression_statement "*param_3 = local_3c + local_34 + 1;" (assignment_expression "*param_3 = local_3c + local_34 + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "local_3c + local_34 + 1" (binary_expression "local_3c + local_34" identifier + identifier) + number_literal)) ;) (expression_statement "iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);" (assignment_expression "iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1)" identifier = (call_expression "(*(code *)puVar1)(local_3c + local_34 + 2,1)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c + local_34 + 2,1)" ( (binary_expression "local_3c + local_34 + 2" (binary_expression "local_3c + local_34" identifier + identifier) + number_literal) , number_literal )))) ;) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" identifier = identifier) ;) (expression_statement "param_3[1] = iVar6;" (assignment_expression "param_3[1] = iVar6" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)puVar1)(iVar6,local_38,local_3c);" (call_expression "(*(code *)puVar1)(iVar6,local_38,local_3c)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,local_38,local_3c)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" identifier = identifier) ;) (expression_statement "*(undefined1 *)(param_3[1] + local_3c) = 0x20;" (assignment_expression "*(undefined1 *)(param_3[1] + local_3c) = 0x20" (pointer_expression "*(undefined1 *)(param_3[1] + local_3c)" * (cast_expression "(undefined1 *)(param_3[1] + local_3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[1] + local_3c)" ( (binary_expression "param_3[1] + local_3c" (subscript_expression "param_3[1]" identifier [ number_literal ]) + identifier) )))) = number_literal) ;) (expression_statement "iVar6 = local_34;" (assignment_expression "iVar6 = local_34" identifier = identifier) ;) (expression_statement "(*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);" (call_expression "(*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[1] + local_3c + 1,local_30,local_34)" ( (binary_expression "param_3[1] + local_3c + 1" (binary_expression "param_3[1] + local_3c" (subscript_expression "param_3[1]" identifier [ number_literal ]) + identifier) + number_literal) , identifier , identifier ))) ;) (expression_statement "*(undefined1 *)(param_3[1] + *param_3) = 0;" (assignment_expression "*(undefined1 *)(param_3[1] + *param_3) = 0" (pointer_expression "*(undefined1 *)(param_3[1] + *param_3)" * (cast_expression "(undefined1 *)(param_3[1] + *param_3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[1] + *param_3)" ( (binary_expression "param_3[1] + *param_3" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (pointer_expression "*param_3" * identifier)) )))) = number_literal) ;) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44,piVar8);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44,piVar8)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" ( (pointer_expression "**(code **)(param_1 + 0x44)" * (pointer_expression "*(code **)(param_1 + 0x44)" * (cast_expression "(code **)(param_1 + 0x44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (argument_list "(auStack_44,piVar8)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" ( (pointer_expression "**(code **)(param_1 + 0x44)" * (pointer_expression "*(code **)(param_1 + 0x44)" * (cast_expression "(code **)(param_1 + 0x44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (argument_list "(auStack_44)" ( identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" else (compound_statement "{\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" ( (pointer_expression "**(code **)(param_1 + 0x44)" * (pointer_expression "*(code **)(param_1 + 0x44)" * (cast_expression "(code **)(param_1 + 0x44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) )) (argument_list "(auStack_44)" ( identifier ))) ;) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" identifier = identifier) ;) }))) }) (else_clause "else {\n    iVar2 = 4;\n  }" else (compound_statement "{\n    iVar2 = 4;\n  }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) }))) (if_statement "if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar11)" ( (binary_expression "local_2c == *(int *)puVar11" identifier == (pointer_expression "*(int *)puVar11" * (cast_expression "(int *)puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) })) (expression_statement "uVar9 = 0x61480;" (assignment_expression "uVar9 = 0x61480" identifier = number_literal) ;) (expression_statement "iVar4 = local_2c;" (assignment_expression "iVar4 = local_2c" identifier = identifier) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000adca4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_90 = puVar11 + 0x53e10;" (assignment_expression "local_90 = puVar11 + 0x53e10" identifier = (binary_expression "puVar11 + 0x53e10" identifier + number_literal)) ;) (expression_statement "piVar8 = *(int **)(puVar11 + 0x4c854);" (assignment_expression "piVar8 = *(int **)(puVar11 + 0x4c854)" identifier = (pointer_expression "*(int **)(puVar11 + 0x4c854)" * (cast_expression "(int **)(puVar11 + 0x4c854)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x4c854)" ( (binary_expression "puVar11 + 0x4c854" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *piVar5;" (assignment_expression "iVar7 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "local_7c = *piVar8;" (assignment_expression "local_7c = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) (expression_statement "local_74 = param_3;" (assignment_expression "local_74 = param_3" identifier = identifier) ;) (expression_statement "local_70 = auStack_44;" (assignment_expression "local_70 = auStack_44" identifier = identifier) ;) (expression_statement "local_6c = uVar9;" (assignment_expression "local_6c = uVar9" identifier = identifier) ;) (if_statement "if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar7 + 8) == 0)" ( (binary_expression "*(int *)(iVar7 + 8) == 0" (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }" { (expression_statement "(**(code **)(puVar11 + 0x4bf00))(iVar7);" (call_expression "(**(code **)(puVar11 + 0x4bf00))(iVar7)" (parenthesized_expression "(**(code **)(puVar11 + 0x4bf00))" ( (pointer_expression "**(code **)(puVar11 + 0x4bf00)" * (pointer_expression "*(code **)(puVar11 + 0x4bf00)" * (cast_expression "(code **)(puVar11 + 0x4bf00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x4bf00)" ( (binary_expression "puVar11 + 0x4bf00" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" else (compound_statement "{\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" { (expression_statement "local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);" (assignment_expression "local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8)" identifier = (call_expression "(**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8)" (parenthesized_expression "(**(code **)(iVar4 + 0x30))" ( (pointer_expression "**(code **)(iVar4 + 0x30)" * (pointer_expression "*(code **)(iVar4 + 0x30)" * (cast_expression "(code **)(iVar4 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x30)" ( (binary_expression "iVar4 + 0x30" identifier + number_literal) ))))) )) (argument_list "(auStack_80,iVar7 + 8)" ( identifier , (binary_expression "iVar7 + 8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(local_90 + -0x7f10))(iVar7);" (call_expression "(**(code **)(local_90 + -0x7f10))(iVar7)" (parenthesized_expression "(**(code **)(local_90 + -0x7f10))" ( (pointer_expression "**(code **)(local_90 + -0x7f10)" * (pointer_expression "*(code **)(local_90 + -0x7f10)" * (cast_expression "(code **)(local_90 + -0x7f10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_90 + -0x7f10)" ( (binary_expression "local_90 + -0x7f10" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "iVar3 = local_84;" (assignment_expression "iVar3 = local_84" identifier = identifier) ;) (if_statement "if (local_84 != 0) {\n        iVar3 = 4;\n      }" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar3 = 4;\n      }" { (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" identifier = number_literal) ;) })) }))) })) (if_statement "if (local_7c == *piVar8) {\n    return iVar3;\n  }" if (parenthesized_expression "(local_7c == *piVar8)" ( (binary_expression "local_7c == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "pcVar10 = *(code **)(local_90 + -0x75ec);" (assignment_expression "pcVar10 = *(code **)(local_90 + -0x75ec)" identifier = (pointer_expression "*(code **)(local_90 + -0x75ec)" * (cast_expression "(code **)(local_90 + -0x75ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_90 + -0x75ec)" ( (binary_expression "local_90 + -0x75ec" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = 0x6153c;" (assignment_expression "uVar9 = 0x6153c" identifier = number_literal) ;) (expression_statement "iVar3 = local_7c;" (assignment_expression "iVar3 = local_7c" identifier = identifier) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar5 = *(int **)(pcVar10 + 0x4c798);" (assignment_expression "piVar5 = *(int **)(pcVar10 + 0x4c798)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x4c798)" * (cast_expression "(int **)(pcVar10 + 0x4c798)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c798)" ( (binary_expression "pcVar10 + 0x4c798" identifier + number_literal) ))))) ;) (expression_statement "local_bc = *piVar5;" (assignment_expression "local_bc = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "local_b4 = iVar7;" (assignment_expression "local_b4 = iVar7" identifier = identifier) ;) (expression_statement "local_b0 = piVar8;" (assignment_expression "local_b0 = piVar8" identifier = identifier) ;) (expression_statement "local_ac = param_1;" (assignment_expression "local_ac = param_1" identifier = identifier) ;) (expression_statement "local_a8 = iVar2;" (assignment_expression "local_a8 = iVar2" identifier = identifier) ;) (expression_statement "local_a4 = uVar9;" (assignment_expression "local_a4 = uVar9" identifier = identifier) ;) (expression_statement "uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);" (assignment_expression "uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" identifier = (call_expression "(**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4c278))" ( (pointer_expression "**(code **)(pcVar10 + 0x4c278)" * (pointer_expression "*(code **)(pcVar10 + 0x4c278)" * (cast_expression "(code **)(pcVar10 + 0x4c278)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c278)" ( (binary_expression "pcVar10 + 0x4c278" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" ( (binary_expression "*(int *)(pcVar10 + 0x4bd8c) + 0x5e00" (pointer_expression "*(int *)(pcVar10 + 0x4bd8c)" * (cast_expression "(int *)(pcVar10 + 0x4bd8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4bd8c)" ( (binary_expression "pcVar10 + 0x4bd8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_c0 = uVar9;" (assignment_expression "local_c0 = uVar9" identifier = identifier) ;) (expression_statement "local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);" (assignment_expression "local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9)" identifier = (call_expression "(**(code **)(pcVar10 + 0x4c6ec))(uVar9)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4c6ec))" ( (pointer_expression "**(code **)(pcVar10 + 0x4c6ec)" * (pointer_expression "*(code **)(pcVar10 + 0x4c6ec)" * (cast_expression "(code **)(pcVar10 + 0x4c6ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c6ec)" ( (binary_expression "pcVar10 + 0x4c6ec" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier )))) ;) (expression_statement "iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);" (assignment_expression "iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" identifier = (call_expression "(**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" (parenthesized_expression "(**(code **)(iVar3 + 0x3c))" ( (pointer_expression "**(code **)(iVar3 + 0x3c)" * (pointer_expression "*(code **)(iVar3 + 0x3c)" * (cast_expression "(code **)(iVar3 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x3c)" ( (binary_expression "iVar3 + 0x3c" identifier + number_literal) ))))) )) (argument_list "(auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" ( identifier , (pointer_expression "&local_c4" & identifier) , (pointer_expression "**(undefined4 **)(pcVar10 + 0x4c3e0)" * (pointer_expression "*(undefined4 **)(pcVar10 + 0x4c3e0)" * (cast_expression "(undefined4 **)(pcVar10 + 0x4c3e0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c3e0)" ( (binary_expression "pcVar10 + 0x4c3e0" identifier + number_literal) ))))) , identifier )))) ;) (expression_statement "(**(code **)(pcVar10 + 0x4be44))(uVar9);" (call_expression "(**(code **)(pcVar10 + 0x4be44))(uVar9)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4be44))" ( (pointer_expression "**(code **)(pcVar10 + 0x4be44)" * (pointer_expression "*(code **)(pcVar10 + 0x4be44)" * (cast_expression "(code **)(pcVar10 + 0x4be44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4be44)" ( (binary_expression "pcVar10 + 0x4be44" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (if_statement "if (iVar6 != 0) {\n    iVar6 = 4;\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = 4;\n  }" { (expression_statement "iVar6 = 4;" (assignment_expression "iVar6 = 4" identifier = number_literal) ;) })) (if_statement "if (local_bc == *piVar5) {\n    return iVar6;\n  }" if (parenthesized_expression "(local_bc == *piVar5)" ( (binary_expression "local_bc == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) })) (expression_statement "pcVar10 = *(code **)(pcVar10 + 0x4c768);" (assignment_expression "pcVar10 = *(code **)(pcVar10 + 0x4c768)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x4c768)" * (cast_expression "(code **)(pcVar10 + 0x4c768)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x4c768)" ( (binary_expression "pcVar10 + 0x4c768" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;" (assignment_expression "*(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000" (pointer_expression "*(int *)(local_bc + 8)" * (cast_expression "(int *)(local_bc + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 8)" ( (binary_expression "local_bc + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 4000" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;" (assignment_expression "*(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(local_bc + 0xc)" * (cast_expression "(int *)(local_bc + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0xc)" ( (binary_expression "local_bc + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;" (assignment_expression "*(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(local_bc + 0x10)" * (cast_expression "(int *)(local_bc + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x10)" ( (binary_expression "local_bc + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;" (assignment_expression "*(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(local_bc + 0x14)" * (cast_expression "(int *)(local_bc + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x14)" ( (binary_expression "local_bc + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;" (assignment_expression "*(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(local_bc + 0x18)" * (cast_expression "(int *)(local_bc + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x18)" ( (binary_expression "local_bc + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;" (assignment_expression "*(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(local_bc + 0x1c)" * (cast_expression "(int *)(local_bc + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x1c)" ( (binary_expression "local_bc + 0x1c" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;" (assignment_expression "*(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(local_bc + 0x20)" * (cast_expression "(int *)(local_bc + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x20)" ( (binary_expression "local_bc + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;" (assignment_expression "*(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(local_bc + 0x24)" * (cast_expression "(int *)(local_bc + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x24)" ( (binary_expression "local_bc + 0x24" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;" (assignment_expression "*(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(local_bc + 0x28)" * (cast_expression "(int *)(local_bc + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x28)" ( (binary_expression "local_bc + 0x28" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar6 = *(int *)(pcVar10 + 0x4c28c);" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x4c28c)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" * (cast_expression "(int *)(pcVar10 + 0x4c28c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x4c28c)" ( (binary_expression "pcVar10 + 0x4c28c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(local_bc + 0x2c) = iVar6 + 0x1284;" (assignment_expression "*(int *)(local_bc + 0x2c) = iVar6 + 0x1284" (pointer_expression "*(int *)(local_bc + 0x2c)" * (cast_expression "(int *)(local_bc + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_bc + 0x2c)" ( (binary_expression "local_bc + 0x2c" identifier + number_literal) )))) = (binary_expression "iVar6 + 0x1284" identifier + number_literal)) ;) (return_statement "return iVar6 + 0x1284;" return (binary_expression "iVar6 + 0x1284" identifier + number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_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 ( (binary_expression (binary_expression IDENT + IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + 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 ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT)) )))) = LIT) ;) (expression_statement (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 , IDENT ))) ;) (expression_statement (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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (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 ))) ;) (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 IDENT + LIT) )))) ;) (expression_statement (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 )))) ;) (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 , (pointer_expression & IDENT) , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT )))) ;) (expression_statement (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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (return_statement return (binary_expression IDENT + LIT) ;) })))
(function_definition "int FUN_00061284(int param_1,undefined4 *param_2,int *param_3)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}" (primitive_type "int") (function_declarator "FUN_00061284(int param_1,undefined4 *param_2,int *param_3)" (identifier "FUN_00061284") (parameter_list "(int param_1,undefined4 *param_2,int *param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  code *pcVar10;\n  undefined *puVar11;\n  undefined1 auStack_c8 [4];\n  undefined4 local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  int local_b4;\n  int *local_b0;\n  int local_ac;\n  int local_a8;\n  undefined4 local_a4;\n  undefined *local_90;\n  int local_84;\n  undefined1 auStack_80 [4];\n  int local_7c;\n  int *local_74;\n  undefined1 *local_70;\n  undefined4 local_6c;\n  undefined4 *local_58;\n  int *local_54;\n  undefined1 auStack_44 [4];\n  undefined4 local_40;\n  int local_3c;\n  undefined4 local_38;\n  int local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar11 = PTR___stack_chk_guard_000adcd4;\n  pcVar10 = *(code **)(param_1 + 0x34);\n  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;\n  piVar8 = &local_3c;\n  iVar6 = 1;\n  local_3c = 0;\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  local_40 = 0;\n  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;\n  piVar5 = (int *)*param_2;\n  *param_3 = 0;\n  param_3[1] = 0;\n  local_58 = &local_40;\n  local_54 = piVar8;\n  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);\n  if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }\n  if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }\n  uVar9 = 0x61480;\n  iVar4 = local_2c;\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  local_90 = puVar11 + 0x53e10;\n  piVar8 = *(int **)(puVar11 + 0x4c854);\n  iVar7 = *piVar5;\n  local_7c = *piVar8;\n  iVar3 = 4;\n  local_74 = param_3;\n  local_70 = auStack_44;\n  local_6c = uVar9;\n  if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }\n  if (local_7c == *piVar8) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(local_90 + -0x75ec);\n  uVar9 = 0x6153c;\n  iVar3 = local_7c;\n  (*pcVar10)();\n  piVar5 = *(int **)(pcVar10 + 0x4c798);\n  local_bc = *piVar5;\n  local_b4 = iVar7;\n  local_b0 = piVar8;\n  local_ac = param_1;\n  local_a8 = iVar2;\n  local_a4 = uVar9;\n  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);\n  local_c0 = uVar9;\n  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);\n  iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);\n  (**(code **)(pcVar10 + 0x4be44))(uVar9);\n  if (iVar6 != 0) {\n    iVar6 = 4;\n  }\n  if (local_bc == *piVar5) {\n    return iVar6;\n  }\n  pcVar10 = *(code **)(pcVar10 + 0x4c768);\n  (*pcVar10)();\n  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;\n  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;\n  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;\n  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;\n  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;\n  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;\n  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;\n  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;\n  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;\n  iVar6 = *(int *)(pcVar10 + 0x4c28c);\n  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;\n  return iVar6 + 0x1284;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined1 auStack_c8 [4];" (type_identifier "undefined1") (array_declarator "auStack_c8 [4]" (identifier "auStack_c8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_c4;" (type_identifier "undefined4") (identifier "local_c4") (; ";")) (declaration "undefined4 local_c0;" (type_identifier "undefined4") (identifier "local_c0") (; ";")) (declaration "int local_bc;" (primitive_type "int") (identifier "local_bc") (; ";")) (declaration "int local_b4;" (primitive_type "int") (identifier "local_b4") (; ";")) (declaration "int *local_b0;" (primitive_type "int") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "int local_ac;" (primitive_type "int") (identifier "local_ac") (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "undefined4 local_a4;" (type_identifier "undefined4") (identifier "local_a4") (; ";")) (declaration "undefined *local_90;" (type_identifier "undefined") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "int local_84;" (primitive_type "int") (identifier "local_84") (; ";")) (declaration "undefined1 auStack_80 [4];" (type_identifier "undefined1") (array_declarator "auStack_80 [4]" (identifier "auStack_80") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "int *local_74;" (primitive_type "int") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "undefined1 *local_70;" (type_identifier "undefined1") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "undefined4 *local_58;" (type_identifier "undefined4") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "int *local_54;" (primitive_type "int") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined1 auStack_44 [4];" (type_identifier "undefined1") (array_declarator "auStack_44 [4]" (identifier "auStack_44") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar11 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar11 = PTR___stack_chk_guard_000adcd4" (identifier "puVar11") (= "=") (identifier "PTR___stack_chk_guard_000adcd4")) (; ";")) (expression_statement "pcVar10 = *(code **)(param_1 + 0x34);" (assignment_expression "pcVar10 = *(code **)(param_1 + 0x34)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(param_1 + 0x34)" (* "*") (cast_expression "(code **)(param_1 + 0x34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;" (assignment_expression "uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" (identifier "uVar9") (= "=") (pointer_expression "*(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" (* "*") (cast_expression "(undefined4 *)PTR_GSS_MECH_KRB5_000ad918" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GSS_MECH_KRB5_000ad918")))) (; ";")) (expression_statement "piVar8 = &local_3c;" (assignment_expression "piVar8 = &local_3c" (identifier "piVar8") (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000adcd4" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000adcd4")))) (; ";")) (expression_statement "piVar5 = (int *)*param_2;" (assignment_expression "piVar5 = (int *)*param_2" (identifier "piVar5") (= "=") (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_3[1] = 0;" (assignment_expression "param_3[1] = 0" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = &local_40;" (assignment_expression "local_58 = &local_40" (identifier "local_58") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "local_54 = piVar8;" (assignment_expression "local_54 = piVar8" (identifier "local_54") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);" (assignment_expression "iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9)" (identifier "iVar2") (= "=") (call_expression "(*pcVar10)(auStack_44,piVar5,1,uVar9)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(auStack_44,piVar5,1,uVar9)" (( "(") (identifier "auStack_44") (, ",") (identifier "piVar5") (, ",") (number_literal "1") (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }\n  else {\n    iVar2 = 4;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar5 = &local_34;\n    iVar6 = 2;\n    local_40 = 0;\n    local_58 = &local_40;\n    local_54 = piVar5;\n    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);\n    puVar1 = PTR_safemalloc_000ad414;\n    if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }\n  }" ({ "{") (expression_statement "piVar5 = &local_34;" (assignment_expression "piVar5 = &local_34" (identifier "piVar5") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" (identifier "iVar6") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = &local_40;" (assignment_expression "local_58 = &local_40" (identifier "local_58") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "local_54 = piVar5;" (assignment_expression "local_54 = piVar5" (identifier "local_54") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);" (assignment_expression "iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9)" (parenthesized_expression "(**(code **)(param_1 + 0x34))" (( "(") (pointer_expression "**(code **)(param_1 + 0x34)" (* "*") (pointer_expression "*(code **)(param_1 + 0x34)" (* "*") (cast_expression "(code **)(param_1 + 0x34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) () ")")) (argument_list "(auStack_44,param_2[1],2,uVar9)" (( "(") (identifier "auStack_44") (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "2") (, ",") (identifier "uVar9") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_safemalloc_000ad414;" (assignment_expression "puVar1 = PTR_safemalloc_000ad414" (identifier "puVar1") (= "=") (identifier "PTR_safemalloc_000ad414")) (; ";")) (if_statement "if (iVar2 == 0) {\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *param_3 = local_3c + local_34 + 1;\n      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);\n      puVar1 = PTR_memcpy_000adcd8;\n      param_3[1] = iVar6;\n      (*(code *)puVar1)(iVar6,local_38,local_3c);\n      puVar1 = PTR_memcpy_000adcd8;\n      *(undefined1 *)(param_3[1] + local_3c) = 0x20;\n      iVar6 = local_34;\n      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      iVar2 = 0;\n    }" ({ "{") (expression_statement "*param_3 = local_3c + local_34 + 1;" (assignment_expression "*param_3 = local_3c + local_34 + 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "local_3c + local_34 + 1" (binary_expression "local_3c + local_34" (identifier "local_3c") (+ "+") (identifier "local_34")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);" (assignment_expression "iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1)" (identifier "iVar6") (= "=") (call_expression "(*(code *)puVar1)(local_3c + local_34 + 2,1)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(local_3c + local_34 + 2,1)" (( "(") (binary_expression "local_3c + local_34 + 2" (binary_expression "local_3c + local_34" (identifier "local_3c") (+ "+") (identifier "local_34")) (+ "+") (number_literal "2")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" (identifier "puVar1") (= "=") (identifier "PTR_memcpy_000adcd8")) (; ";")) (expression_statement "param_3[1] = iVar6;" (assignment_expression "param_3[1] = iVar6" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "(*(code *)puVar1)(iVar6,local_38,local_3c);" (call_expression "(*(code *)puVar1)(iVar6,local_38,local_3c)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(iVar6,local_38,local_3c)" (( "(") (identifier "iVar6") (, ",") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "puVar1 = PTR_memcpy_000adcd8;" (assignment_expression "puVar1 = PTR_memcpy_000adcd8" (identifier "puVar1") (= "=") (identifier "PTR_memcpy_000adcd8")) (; ";")) (expression_statement "*(undefined1 *)(param_3[1] + local_3c) = 0x20;" (assignment_expression "*(undefined1 *)(param_3[1] + local_3c) = 0x20" (pointer_expression "*(undefined1 *)(param_3[1] + local_3c)" (* "*") (cast_expression "(undefined1 *)(param_3[1] + local_3c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3[1] + local_3c)" (( "(") (binary_expression "param_3[1] + local_3c" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "local_3c")) () ")")))) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "iVar6 = local_34;" (assignment_expression "iVar6 = local_34" (identifier "iVar6") (= "=") (identifier "local_34")) (; ";")) (expression_statement "(*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);" (call_expression "(*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34)" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "(param_3[1] + local_3c + 1,local_30,local_34)" (( "(") (binary_expression "param_3[1] + local_3c + 1" (binary_expression "param_3[1] + local_3c" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "local_3c")) (+ "+") (number_literal "1")) (, ",") (identifier "local_30") (, ",") (identifier "local_34") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_3[1] + *param_3) = 0;" (assignment_expression "*(undefined1 *)(param_3[1] + *param_3) = 0" (pointer_expression "*(undefined1 *)(param_3[1] + *param_3)" (* "*") (cast_expression "(undefined1 *)(param_3[1] + *param_3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3[1] + *param_3)" (( "(") (binary_expression "param_3[1] + *param_3" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44,piVar8);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44,piVar8)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" (( "(") (pointer_expression "**(code **)(param_1 + 0x44)" (* "*") (pointer_expression "*(code **)(param_1 + 0x44)" (* "*") (cast_expression "(code **)(param_1 + 0x44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (argument_list "(auStack_44,piVar8)" (( "(") (identifier "auStack_44") (, ",") (identifier "piVar8") () ")"))) (; ";")) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" (( "(") (pointer_expression "**(code **)(param_1 + 0x44)" (* "*") (pointer_expression "*(code **)(param_1 + 0x44)" (* "*") (cast_expression "(code **)(param_1 + 0x44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (argument_list "(auStack_44)" (( "(") (identifier "auStack_44") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" (else "else") (compound_statement "{\n      iVar2 = 4;\n      (**(code **)(param_1 + 0x44))(auStack_44);\n      piVar5 = piVar8;\n    }" ({ "{") (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" (identifier "iVar2") (= "=") (number_literal "4")) (; ";")) (expression_statement "(**(code **)(param_1 + 0x44))(auStack_44);" (call_expression "(**(code **)(param_1 + 0x44))(auStack_44)" (parenthesized_expression "(**(code **)(param_1 + 0x44))" (( "(") (pointer_expression "**(code **)(param_1 + 0x44)" (* "*") (pointer_expression "*(code **)(param_1 + 0x44)" (* "*") (cast_expression "(code **)(param_1 + 0x44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) () ")")) (argument_list "(auStack_44)" (( "(") (identifier "auStack_44") () ")"))) (; ";")) (expression_statement "piVar5 = piVar8;" (assignment_expression "piVar5 = piVar8" (identifier "piVar5") (= "=") (identifier "piVar8")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    iVar2 = 4;\n  }" (else "else") (compound_statement "{\n    iVar2 = 4;\n  }" ({ "{") (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" (identifier "iVar2") (= "=") (number_literal "4")) (; ";")) (} "}")))) (if_statement "if (local_2c == *(int *)puVar11) {\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar11)" (( "(") (binary_expression "local_2c == *(int *)puVar11" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar11" (* "*") (cast_expression "(int *)puVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar11")))) () ")")) (compound_statement "{\n    return iVar2;\n  }" ({ "{") (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (expression_statement "uVar9 = 0x61480;" (assignment_expression "uVar9 = 0x61480" (identifier "uVar9") (= "=") (number_literal "0x61480")) (; ";")) (expression_statement "iVar4 = local_2c;" (assignment_expression "iVar4 = local_2c" (identifier "iVar4") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar11 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000adca4" (identifier "puVar11") (= "=") (identifier "PTR___stack_chk_fail_000adca4")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000adca4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000adca4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_90 = puVar11 + 0x53e10;" (assignment_expression "local_90 = puVar11 + 0x53e10" (identifier "local_90") (= "=") (binary_expression "puVar11 + 0x53e10" (identifier "puVar11") (+ "+") (number_literal "0x53e10"))) (; ";")) (expression_statement "piVar8 = *(int **)(puVar11 + 0x4c854);" (assignment_expression "piVar8 = *(int **)(puVar11 + 0x4c854)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(puVar11 + 0x4c854)" (* "*") (cast_expression "(int **)(puVar11 + 0x4c854)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x4c854)" (( "(") (binary_expression "puVar11 + 0x4c854" (identifier "puVar11") (+ "+") (number_literal "0x4c854")) () ")"))))) (; ";")) (expression_statement "iVar7 = *piVar5;" (assignment_expression "iVar7 = *piVar5" (identifier "iVar7") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "local_7c = *piVar8;" (assignment_expression "local_7c = *piVar8" (identifier "local_7c") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" (identifier "iVar3") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_74 = param_3;" (assignment_expression "local_74 = param_3" (identifier "local_74") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_70 = auStack_44;" (assignment_expression "local_70 = auStack_44" (identifier "local_70") (= "=") (identifier "auStack_44")) (; ";")) (expression_statement "local_6c = uVar9;" (assignment_expression "local_6c = uVar9" (identifier "local_6c") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (iVar7 != 0) {\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = 0;\n    if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(iVar7 + 8) == 0) {\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }\n    else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar7 + 8) == 0" (pointer_expression "*(int *)(iVar7 + 8)" (* "*") (cast_expression "(int *)(iVar7 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(puVar11 + 0x4bf00))(iVar7);\n      iVar3 = 0;\n    }" ({ "{") (expression_statement "(**(code **)(puVar11 + 0x4bf00))(iVar7);" (call_expression "(**(code **)(puVar11 + 0x4bf00))(iVar7)" (parenthesized_expression "(**(code **)(puVar11 + 0x4bf00))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x4bf00)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x4bf00)" (* "*") (cast_expression "(code **)(puVar11 + 0x4bf00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x4bf00)" (( "(") (binary_expression "puVar11 + 0x4bf00" (identifier "puVar11") (+ "+") (number_literal "0x4bf00")) () ")"))))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" (else "else") (compound_statement "{\n      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);\n      (**(code **)(local_90 + -0x7f10))(iVar7);\n      iVar3 = local_84;\n      if (local_84 != 0) {\n        iVar3 = 4;\n      }\n    }" ({ "{") (expression_statement "local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);" (assignment_expression "local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8)" (identifier "local_84") (= "=") (call_expression "(**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8)" (parenthesized_expression "(**(code **)(iVar4 + 0x30))" (( "(") (pointer_expression "**(code **)(iVar4 + 0x30)" (* "*") (pointer_expression "*(code **)(iVar4 + 0x30)" (* "*") (cast_expression "(code **)(iVar4 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x30)" (( "(") (binary_expression "iVar4 + 0x30" (identifier "iVar4") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(auStack_80,iVar7 + 8)" (( "(") (identifier "auStack_80") (, ",") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "(**(code **)(local_90 + -0x7f10))(iVar7);" (call_expression "(**(code **)(local_90 + -0x7f10))(iVar7)" (parenthesized_expression "(**(code **)(local_90 + -0x7f10))" (( "(") (pointer_expression "**(code **)(local_90 + -0x7f10)" (* "*") (pointer_expression "*(code **)(local_90 + -0x7f10)" (* "*") (cast_expression "(code **)(local_90 + -0x7f10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_90 + -0x7f10)" (( "(") (binary_expression "local_90 + -0x7f10" (identifier "local_90") (+ "+") (number_literal "-0x7f10")) () ")"))))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "iVar3 = local_84;" (assignment_expression "iVar3 = local_84" (identifier "iVar3") (= "=") (identifier "local_84")) (; ";")) (if_statement "if (local_84 != 0) {\n        iVar3 = 4;\n      }" (if "if") (parenthesized_expression "(local_84 != 0)" (( "(") (binary_expression "local_84 != 0" (identifier "local_84") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = 4;\n      }" ({ "{") (expression_statement "iVar3 = 4;" (assignment_expression "iVar3 = 4" (identifier "iVar3") (= "=") (number_literal "4")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (local_7c == *piVar8) {\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(local_7c == *piVar8)" (( "(") (binary_expression "local_7c == *piVar8" (identifier "local_7c") (== "==") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (compound_statement "{\n    return iVar3;\n  }" ({ "{") (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}"))) (expression_statement "pcVar10 = *(code **)(local_90 + -0x75ec);" (assignment_expression "pcVar10 = *(code **)(local_90 + -0x75ec)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(local_90 + -0x75ec)" (* "*") (cast_expression "(code **)(local_90 + -0x75ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_90 + -0x75ec)" (( "(") (binary_expression "local_90 + -0x75ec" (identifier "local_90") (+ "+") (number_literal "-0x75ec")) () ")"))))) (; ";")) (expression_statement "uVar9 = 0x6153c;" (assignment_expression "uVar9 = 0x6153c" (identifier "uVar9") (= "=") (number_literal "0x6153c")) (; ";")) (expression_statement "iVar3 = local_7c;" (assignment_expression "iVar3 = local_7c" (identifier "iVar3") (= "=") (identifier "local_7c")) (; ";")) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar5 = *(int **)(pcVar10 + 0x4c798);" (assignment_expression "piVar5 = *(int **)(pcVar10 + 0x4c798)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(pcVar10 + 0x4c798)" (* "*") (cast_expression "(int **)(pcVar10 + 0x4c798)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x4c798)" (( "(") (binary_expression "pcVar10 + 0x4c798" (identifier "pcVar10") (+ "+") (number_literal "0x4c798")) () ")"))))) (; ";")) (expression_statement "local_bc = *piVar5;" (assignment_expression "local_bc = *piVar5" (identifier "local_bc") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "local_b4 = iVar7;" (assignment_expression "local_b4 = iVar7" (identifier "local_b4") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "local_b0 = piVar8;" (assignment_expression "local_b0 = piVar8" (identifier "local_b0") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "local_ac = param_1;" (assignment_expression "local_ac = param_1" (identifier "local_ac") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_a8 = iVar2;" (assignment_expression "local_a8 = iVar2" (identifier "local_a8") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "local_a4 = uVar9;" (assignment_expression "local_a4 = uVar9" (identifier "local_a4") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);" (assignment_expression "uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4c278))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x4c278)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x4c278)" (* "*") (cast_expression "(code **)(pcVar10 + 0x4c278)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x4c278)" (( "(") (binary_expression "pcVar10 + 0x4c278" (identifier "pcVar10") (+ "+") (number_literal "0x4c278")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x4bd8c) + 0x5e00" (pointer_expression "*(int *)(pcVar10 + 0x4bd8c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4bd8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4bd8c)" (( "(") (binary_expression "pcVar10 + 0x4bd8c" (identifier "pcVar10") (+ "+") (number_literal "0x4bd8c")) () ")")))) (+ "+") (number_literal "0x5e00")) () ")")))) (; ";")) (expression_statement "local_c0 = uVar9;" (assignment_expression "local_c0 = uVar9" (identifier "local_c0") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);" (assignment_expression "local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9)" (identifier "local_c4") (= "=") (call_expression "(**(code **)(pcVar10 + 0x4c6ec))(uVar9)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4c6ec))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x4c6ec)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x4c6ec)" (* "*") (cast_expression "(code **)(pcVar10 + 0x4c6ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x4c6ec)" (( "(") (binary_expression "pcVar10 + 0x4c6ec" (identifier "pcVar10") (+ "+") (number_literal "0x4c6ec")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")")))) (; ";")) (expression_statement "iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);" (assignment_expression "iVar6 = (**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(iVar3 + 0x3c))\n                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" (parenthesized_expression "(**(code **)(iVar3 + 0x3c))" (( "(") (pointer_expression "**(code **)(iVar3 + 0x3c)" (* "*") (pointer_expression "*(code **)(iVar3 + 0x3c)" (* "*") (cast_expression "(code **)(iVar3 + 0x3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x3c)" (( "(") (binary_expression "iVar3 + 0x3c" (identifier "iVar3") (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (argument_list "(auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6)" (( "(") (identifier "auStack_c8") (, ",") (pointer_expression "&local_c4" (& "&") (identifier "local_c4")) (, ",") (pointer_expression "**(undefined4 **)(pcVar10 + 0x4c3e0)" (* "*") (pointer_expression "*(undefined4 **)(pcVar10 + 0x4c3e0)" (* "*") (cast_expression "(undefined4 **)(pcVar10 + 0x4c3e0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x4c3e0)" (( "(") (binary_expression "pcVar10 + 0x4c3e0" (identifier "pcVar10") (+ "+") (number_literal "0x4c3e0")) () ")"))))) (, ",") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x4be44))(uVar9);" (call_expression "(**(code **)(pcVar10 + 0x4be44))(uVar9)" (parenthesized_expression "(**(code **)(pcVar10 + 0x4be44))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x4be44)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x4be44)" (* "*") (cast_expression "(code **)(pcVar10 + 0x4be44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x4be44)" (( "(") (binary_expression "pcVar10 + 0x4be44" (identifier "pcVar10") (+ "+") (number_literal "0x4be44")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (if_statement "if (iVar6 != 0) {\n    iVar6 = 4;\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = 4;\n  }" ({ "{") (expression_statement "iVar6 = 4;" (assignment_expression "iVar6 = 4" (identifier "iVar6") (= "=") (number_literal "4")) (; ";")) (} "}"))) (if_statement "if (local_bc == *piVar5) {\n    return iVar6;\n  }" (if "if") (parenthesized_expression "(local_bc == *piVar5)" (( "(") (binary_expression "local_bc == *piVar5" (identifier "local_bc") (== "==") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) () ")")) (compound_statement "{\n    return iVar6;\n  }" ({ "{") (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (} "}"))) (expression_statement "pcVar10 = *(code **)(pcVar10 + 0x4c768);" (assignment_expression "pcVar10 = *(code **)(pcVar10 + 0x4c768)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x4c768)" (* "*") (cast_expression "(code **)(pcVar10 + 0x4c768)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x4c768)" (( "(") (binary_expression "pcVar10 + 0x4c768" (identifier "pcVar10") (+ "+") (number_literal "0x4c768")) () ")"))))) (; ";")) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;" (assignment_expression "*(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000" (pointer_expression "*(int *)(local_bc + 8)" (* "*") (cast_expression "(int *)(local_bc + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 8)" (( "(") (binary_expression "local_bc + 8" (identifier "local_bc") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 4000" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "4000"))) (; ";")) (expression_statement "*(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;" (assignment_expression "*(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(local_bc + 0xc)" (* "*") (cast_expression "(int *)(local_bc + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0xc)" (( "(") (binary_expression "local_bc + 0xc" (identifier "local_bc") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x153c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0x153c"))) (; ";")) (expression_statement "*(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;" (assignment_expression "*(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(local_bc + 0x10)" (* "*") (cast_expression "(int *)(local_bc + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x10)" (( "(") (binary_expression "local_bc + 0x10" (identifier "local_bc") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x110c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0x110c"))) (; ";")) (expression_statement "*(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;" (assignment_expression "*(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(local_bc + 0x14)" (* "*") (cast_expression "(int *)(local_bc + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x14)" (( "(") (binary_expression "local_bc + 0x14" (identifier "local_bc") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0xfcc" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0xfcc"))) (; ";")) (expression_statement "*(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;" (assignment_expression "*(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(local_bc + 0x18)" (* "*") (cast_expression "(int *)(local_bc + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x18)" (( "(") (binary_expression "local_bc + 0x18" (identifier "local_bc") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x10a0" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0x10a0"))) (; ";")) (expression_statement "*(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;" (assignment_expression "*(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(local_bc + 0x1c)" (* "*") (cast_expression "(int *)(local_bc + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x1c)" (( "(") (binary_expression "local_bc + 0x1c" (identifier "local_bc") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x122c" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0x122c"))) (; ";")) (expression_statement "*(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;" (assignment_expression "*(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(local_bc + 0x20)" (* "*") (cast_expression "(int *)(local_bc + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x20)" (( "(") (binary_expression "local_bc + 0x20" (identifier "local_bc") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x1480" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0x1480"))) (; ";")) (expression_statement "*(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;" (assignment_expression "*(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(local_bc + 0x24)" (* "*") (cast_expression "(int *)(local_bc + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x24)" (( "(") (binary_expression "local_bc + 0x24" (identifier "local_bc") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x1178" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0x1178"))) (; ";")) (expression_statement "*(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;" (assignment_expression "*(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(local_bc + 0x28)" (* "*") (cast_expression "(int *)(local_bc + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x28)" (( "(") (binary_expression "local_bc + 0x28" (identifier "local_bc") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar10 + 0x4c28c) + 0x11c0" (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")")))) (+ "+") (number_literal "0x11c0"))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar10 + 0x4c28c);" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x4c28c)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x4c28c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x4c28c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x4c28c)" (( "(") (binary_expression "pcVar10 + 0x4c28c" (identifier "pcVar10") (+ "+") (number_literal "0x4c28c")) () ")"))))) (; ";")) (expression_statement "*(int *)(local_bc + 0x2c) = iVar6 + 0x1284;" (assignment_expression "*(int *)(local_bc + 0x2c) = iVar6 + 0x1284" (pointer_expression "*(int *)(local_bc + 0x2c)" (* "*") (cast_expression "(int *)(local_bc + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_bc + 0x2c)" (( "(") (binary_expression "local_bc + 0x2c" (identifier "local_bc") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "iVar6 + 0x1284" (identifier "iVar6") (+ "+") (number_literal "0x1284"))) (; ";")) (return_statement "return iVar6 + 0x1284;" (return "return") (binary_expression "iVar6 + 0x1284" (identifier "iVar6") (+ "+") (number_literal "0x1284")) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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 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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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 (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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 (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))))) right: (number_literal))) (expression_statement (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) (identifier)))) (expression_statement (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)))) (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 (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (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)))) (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: (identifier) right: (number_literal)))))) (expression_statement (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)))) (expression_statement (assignment_expression left: (identifier) right: (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))))) (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) (pointer_expression argument: (identifier)) (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)))))) (identifier))))) (expression_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (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: (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)))) (return_statement (binary_expression left: (identifier) right: (number_literal))))))

int MASKED(int param_1,undefined4 *param_2,int *param_3)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  int *piVar8;
  undefined4 uVar9;
  code *pcVar10;
  undefined *puVar11;
  undefined1 auStack_c8 [4];
  undefined4 local_c4;
  undefined4 local_c0;
  int local_bc;
  int local_b4;
  int *local_b0;
  int local_ac;
  int local_a8;
  undefined4 local_a4;
  undefined *local_90;
  int local_84;
  undefined1 auStack_80 [4];
  int local_7c;
  int *local_74;
  undefined1 *local_70;
  undefined4 local_6c;
  undefined4 *local_58;
  int *local_54;
  undefined1 auStack_44 [4];
  undefined4 local_40;
  int local_3c;
  undefined4 local_38;
  int local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar11 = PTR___stack_chk_guard_000adcd4;
  pcVar10 = *(code **)(param_1 + 0x34);
  uVar9 = *(undefined4 *)PTR_GSS_MECH_KRB5_000ad918;
  piVar8 = &local_3c;
  iVar6 = 1;
  local_3c = 0;
  local_38 = 0;
  local_34 = 0;
  local_30 = 0;
  local_40 = 0;
  local_2c = *(int *)PTR___stack_chk_guard_000adcd4;
  piVar5 = (int *)*param_2;
  *param_3 = 0;
  param_3[1] = 0;
  local_58 = &local_40;
  local_54 = piVar8;
  iVar2 = (*pcVar10)(auStack_44,piVar5,1,uVar9);
  if (iVar2 == 0) {
    piVar5 = &local_34;
    iVar6 = 2;
    local_40 = 0;
    local_58 = &local_40;
    local_54 = piVar5;
    iVar2 = (**(code **)(param_1 + 0x34))(auStack_44,param_2[1],2,uVar9);
    puVar1 = PTR_safemalloc_000ad414;
    if (iVar2 == 0) {
      *param_3 = local_3c + local_34 + 1;
      iVar6 = (*(code *)puVar1)(local_3c + local_34 + 2,1);
      puVar1 = PTR_memcpy_000adcd8;
      param_3[1] = iVar6;
      (*(code *)puVar1)(iVar6,local_38,local_3c);
      puVar1 = PTR_memcpy_000adcd8;
      *(undefined1 *)(param_3[1] + local_3c) = 0x20;
      iVar6 = local_34;
      (*(code *)puVar1)(param_3[1] + local_3c + 1,local_30,local_34);
      *(undefined1 *)(param_3[1] + *param_3) = 0;
      (**(code **)(param_1 + 0x44))(auStack_44,piVar8);
      (**(code **)(param_1 + 0x44))(auStack_44);
      iVar2 = 0;
    }
    else {
      iVar2 = 4;
      (**(code **)(param_1 + 0x44))(auStack_44);
      piVar5 = piVar8;
    }
  }
  else {
    iVar2 = 4;
  }
  if (local_2c == *(int *)puVar11) {
    return iVar2;
  }
  uVar9 = 0x61480;
  iVar4 = local_2c;
  puVar11 = PTR___stack_chk_fail_000adca4;
  (*(code *)PTR___stack_chk_fail_000adca4)();
  local_90 = puVar11 + 0x53e10;
  piVar8 = *(int **)(puVar11 + 0x4c854);
  iVar7 = *piVar5;
  local_7c = *piVar8;
  iVar3 = 4;
  local_74 = param_3;
  local_70 = auStack_44;
  local_6c = uVar9;
  if (iVar7 != 0) {
    iVar6 = 0;
    if (*(int *)(iVar7 + 8) == 0) {
      (**(code **)(puVar11 + 0x4bf00))(iVar7);
      iVar3 = 0;
    }
    else {
      local_84 = (**(code **)(iVar4 + 0x30))(auStack_80,iVar7 + 8);
      (**(code **)(local_90 + -0x7f10))(iVar7);
      iVar3 = local_84;
      if (local_84 != 0) {
        iVar3 = 4;
      }
    }
  }
  if (local_7c == *piVar8) {
    return iVar3;
  }
  pcVar10 = *(code **)(local_90 + -0x75ec);
  uVar9 = 0x6153c;
  iVar3 = local_7c;
  (*pcVar10)();
  piVar5 = *(int **)(pcVar10 + 0x4c798);
  local_bc = *piVar5;
  local_b4 = iVar7;
  local_b0 = piVar8;
  local_ac = param_1;
  local_a8 = iVar2;
  local_a4 = uVar9;
  uVar9 = (**(code **)(pcVar10 + 0x4c278))(*(int *)(pcVar10 + 0x4bd8c) + 0x5e00);
  local_c0 = uVar9;
  local_c4 = (**(code **)(pcVar10 + 0x4c6ec))(uVar9);
  iVar6 = (**(code **)(iVar3 + 0x3c))
                    (auStack_c8,&local_c4,**(undefined4 **)(pcVar10 + 0x4c3e0),iVar6);
  (**(code **)(pcVar10 + 0x4be44))(uVar9);
  if (iVar6 != 0) {
    iVar6 = 4;
  }
  if (local_bc == *piVar5) {
    return iVar6;
  }
  pcVar10 = *(code **)(pcVar10 + 0x4c768);
  (*pcVar10)();
  *(int *)(local_bc + 8) = *(int *)(pcVar10 + 0x4c28c) + 4000;
  *(int *)(local_bc + 0xc) = *(int *)(pcVar10 + 0x4c28c) + 0x153c;
  *(int *)(local_bc + 0x10) = *(int *)(pcVar10 + 0x4c28c) + 0x110c;
  *(int *)(local_bc + 0x14) = *(int *)(pcVar10 + 0x4c28c) + 0xfcc;
  *(int *)(local_bc + 0x18) = *(int *)(pcVar10 + 0x4c28c) + 0x10a0;
  *(int *)(local_bc + 0x1c) = *(int *)(pcVar10 + 0x4c28c) + 0x122c;
  *(int *)(local_bc + 0x20) = *(int *)(pcVar10 + 0x4c28c) + 0x1480;
  *(int *)(local_bc + 0x24) = *(int *)(pcVar10 + 0x4c28c) + 0x1178;
  *(int *)(local_bc + 0x28) = *(int *)(pcVar10 + 0x4c28c) + 0x11c0;
  iVar6 = *(int *)(pcVar10 + 0x4c28c);
  *(int *)(local_bc + 0x2c) = iVar6 + 0x1284;
  return iVar6 + 0x1284;
}

