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

{
  int iVar1;
  OM_uint32 OVar2;
  void *pvVar3;
  Ssh_gss_stat SVar4;
  undefined4 uVar5;
  gss_buffer_t pgVar6;
  undefined4 uVar7;
  size_t sVar8;
  gss_OID pgVar9;
  undefined *puVar10;
  code *pcVar11;
  code *pcVar12;
  undefined1 auStackY_a8 [4];
  undefined4 uStackY_a4;
  undefined4 uStackY_a0;
  int iStackY_9c;
  size_t sStackY_98;
  Ssh_gss_stat SStackY_94;
  undefined4 uStackY_90;
  code *pcStackY_8c;
  undefined *puStackY_78;
  undefined1 auStackY_70 [4];
  int iStackY_6c;
  Ssh_gss_buf *pSStackY_64;
  ssh_gss_library *psStackY_60;
  code *pcStackY_5c;
  OM_uint32 lmin;
  OM_uint32 ccc;
  gss_buffer_desc msg_maj;
  gss_buffer_desc msg_min;
  
  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;
  msg_maj.length = 0;
  msg_maj.value = (void *)0x0;
  msg_min.length = 0;
  msg_min.value = (void *)0x0;
  buf->length = 0;
  buf->value = (void *)0x0;
  ccc = 0;
  pgVar9 = *(gss_OID *)PTR_GSS_MECH_KRB5_000b8878;
  uVar7 = 1;
                    /* WARNING: Load size is inaccurate */
  pgVar6 = *ctx;
  OVar2 = (*(lib->u).gssapi.display_status)(&lmin,(OM_uint32)pgVar6,1,pgVar9,&ccc,&msg_maj);
  if (OVar2 == 0) {
    ccc = 0;
    uVar7 = 2;
    OVar2 = (*(lib->u).gssapi.display_status)
                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);
    if (OVar2 == 0) {
      buf->length = msg_maj.length + msg_min.length + 1;
      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);
      buf->value = pvVar3;
      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);
      return SVar4;
    }
    pgVar6 = &msg_maj;
    (*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);
  }
  if (iVar1 != *(int *)PTR___stack_chk_guard_000b8ce8) {
    pcVar11 = ssh_gssapi_release_cred;
    puVar10 = PTR___stack_chk_fail_000b8cbc;
    (*(code *)PTR___stack_chk_fail_000b8cbc)();
    puStackY_78 = puVar10 + 0x5886c;
    iStackY_6c = **(int **)(puVar10 + 0x512c4);
    sVar8 = pgVar6->length;
    pSStackY_64 = buf;
    psStackY_60 = lib;
    pcStackY_5c = pcVar11;
    if (sVar8 == 0) {
      SVar4 = SSH_GSS_FAILURE;
    }
    else {
      uVar7 = 0;
      if (*(int *)(sVar8 + 8) == 0) {
        (**(code **)(puVar10 + 0x508c4))(sVar8);
        SVar4 = SSH_GSS_OK;
      }
      else {
        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);
        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);
        if (SVar4 != SSH_GSS_OK) {
          SVar4 = SSH_GSS_FAILURE;
        }
      }
    }
    if (iStackY_6c != **(int **)(puStackY_78 + -0x75a8)) {
      pcVar11 = *(code **)(puStackY_78 + -0x75d4);
      pcVar12 = ssh_gssapi_import_name;
      iVar1 = iStackY_6c;
      (*pcVar11)();
      uStackY_90 = 4;
      iStackY_9c = **(int **)(pcVar11 + 0x511ec);
      sStackY_98 = sVar8;
      SStackY_94 = SVar4;
      pcStackY_8c = pcVar12;
      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);
      uStackY_a0 = uVar5;
      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);
      SVar4 = (**(code **)(iVar1 + 0x3c))
                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);
      (**(code **)(pcVar11 + 0x507ec))(uVar5);
      if (SVar4 != SSH_GSS_OK) {
        SVar4 = SSH_GSS_FAILURE;
      }
      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {
        pcVar11 = *(code **)(pcVar11 + 0x511c0);
        (*pcVar11)();
        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;
        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;
        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;
        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;
        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;
        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;
        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;
        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;
        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;
        iVar1 = *(int *)(pcVar11 + 0x50c0c);
        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;
        return iVar1 + 0x7820;
      }
      return SVar4;
    }
    return SVar4;
  }
  return SSH_GSS_FAILURE;
}



/* WARNING: Type propagation algorithm not settling */

int FUN_00067820(int param_1,int *param_2,int *param_3)

{
  int iVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  undefined4 uVar7;
  undefined *puVar8;
  code *pcVar9;
  undefined1 auStack_a8 [4];
  undefined4 local_a4;
  undefined4 local_a0;
  int local_9c;
  int local_98;
  int local_94;
  int local_90;
  undefined4 local_8c;
  undefined *local_78;
  undefined1 auStack_70 [4];
  int local_6c;
  int *local_64;
  int local_60;
  undefined4 local_5c;
  int *local_48;
  int *local_44;
  int aiStack_34 [8];
  
  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;
  aiStack_34[2] = 0;
  aiStack_34[3] = 0;
  aiStack_34[4] = 0;
  aiStack_34[5] = 0;
  *param_3 = 0;
  param_3[1] = 0;
  aiStack_34[1] = 0;
  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;
  local_44 = aiStack_34 + 2;
  local_48 = aiStack_34 + 1;
  iVar5 = 1;
  piVar4 = (int *)*param_2;
  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);
  if (iVar1 == 0) {
    aiStack_34[1] = 0;
    local_48 = aiStack_34 + 1;
    iVar5 = 2;
    local_44 = aiStack_34 + 4;
    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);
    if (iVar1 == 0) {
      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;
      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);
      param_3[1] = iVar5;
      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);
      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;
      iVar5 = aiStack_34[4];
      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);
      *(undefined1 *)(param_3[1] + *param_3) = 0;
      param_3 = aiStack_34;
      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);
      piVar4 = aiStack_34 + 4;
      (**(code **)(param_1 + 0x44))(param_3);
      iVar1 = 0;
    }
    else {
      piVar4 = aiStack_34 + 2;
      (**(code **)(param_1 + 0x44))(aiStack_34);
      iVar1 = 4;
    }
  }
  else {
    iVar1 = 4;
  }
  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {
    return iVar1;
  }
  uVar7 = 0x67a24;
  iVar2 = aiStack_34[6];
  puVar8 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  local_78 = puVar8 + 0x5886c;
  local_6c = **(int **)(puVar8 + 0x512c4);
  iVar6 = *piVar4;
  local_64 = param_3;
  local_60 = param_1;
  local_5c = uVar7;
  if (iVar6 == 0) {
    iVar2 = 4;
  }
  else {
    iVar5 = 0;
    if (*(int *)(iVar6 + 8) == 0) {
      (**(code **)(puVar8 + 0x508c4))(iVar6);
      iVar2 = 0;
    }
    else {
      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);
      (**(code **)(local_78 + -0x7fa8))(iVar6);
      if (iVar2 != 0) {
        iVar2 = 4;
      }
    }
  }
  if (local_6c != **(int **)(local_78 + -0x75a8)) {
    pcVar9 = *(code **)(local_78 + -0x75d4);
    uVar7 = 0x67afc;
    iVar3 = local_6c;
    (*pcVar9)();
    local_9c = **(int **)(pcVar9 + 0x511ec);
    local_98 = iVar6;
    local_94 = iVar2;
    local_90 = iVar1;
    local_8c = uVar7;
    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);
    local_a0 = uVar7;
    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);
    iVar5 = (**(code **)(iVar3 + 0x3c))
                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);
    (**(code **)(pcVar9 + 0x507ec))(uVar7);
    if (iVar5 != 0) {
      iVar5 = 4;
    }
    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {
      pcVar9 = *(code **)(pcVar9 + 0x511c0);
      (*pcVar9)();
      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;
      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;
      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;
      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;
      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;
      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;
      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;
      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;
      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;
      iVar5 = *(int *)(pcVar9 + 0x50c0c);
      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;
      return iVar5 + 0x7820;
    }
    return iVar5;
  }
  return iVar2;
}


lui gp,0x6
addiu gp,gp,-0x7590
addu gp,gp,t9
addiu sp,sp,-0x58
sw ra,0x54(sp)
sw s3,0x50(sp)
sw s2,0x4c(sp)
sw s1,0x48(sp)
sw s0,0x44(sp)
sw gp,0x18(sp)
or s1,a0,zero
or s2,a1,zero
or s0,a2,zero
lw v0,-0x75a8(gp)
lw v0,0x0(v0)
sw v0,0x3c(sp)
sw zero,0x2c(sp)
sw zero,0x30(sp)
sw zero,0x34(sp)
sw zero,0x38(sp)
sw zero,0x0(a2)
sw zero,0x4(a2)
sw zero,0x28(sp)
lw v0,-0x7a18(gp)
lw s3,0x0(v0)
addiu v0,sp,0x2c
sw v0,0x14(sp)
addiu v0,sp,0x28
sw v0,0x10(sp)
lw t9,0x34(a0)
or a3,s3,zero
li a2,0x1
lw a1,0x0(a1)
addiu a0,sp,0x24
jalr t9
_nop
lw gp,0x18(sp)
bne v0,zero,0x00067a10
_addiu v0,sp,0x34
sw zero,0x28(sp)
sw v0,0x14(sp)
addiu v0,sp,0x28
sw v0,0x10(sp)
lw t9,0x34(s1)
or a3,s3,zero
li a2,0x2
lw a1,0x4(s2)
addiu a0,sp,0x24
jalr t9
_nop
lw gp,0x18(sp)
bne v0,zero,0x000679f0
_or s2,v0,zero
lw a0,0x2c(sp)
lw v0,0x34(sp)
addu a0,a0,v0
addiu v0,a0,0x1
sw v0,0x0(s0)
li a1,0x1
addiu a0,a0,0x2
lw t9,-0x7f98(gp)
jalr t9
_nop
lw gp,0x18(sp)
sw v0,0x4(s0)
lw a2,0x2c(sp)
lw a1,0x30(sp)
or a0,v0,zero
lw t9,-0x75a4(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x4(s0)
lw v1,0x2c(sp)
addu v0,v0,v1
li v1,0x20
sb v1,0x0(v0)
lw v0,0x2c(sp)
addiu v0,v0,0x1
lw a0,0x4(s0)
lw a2,0x34(sp)
lw a1,0x38(sp)
addu a0,a0,v0
lw t9,-0x75a4(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x4(s0)
lw v1,0x0(s0)
addu v0,v0,v1
sb zero,0x0(v0)
lw t9,0x44(s1)
addiu a1,sp,0x2c
addiu s0,sp,0x24
or a0,s0,zero
jalr t9
_nop
lw gp,0x18(sp)
lw t9,0x44(s1)
addiu a1,sp,0x34
or a0,s0,zero
jalr t9
_nop
lw gp,0x18(sp)
or v0,s2,zero
lw a0,0x3c(sp)
lw v1,-0x75a8(gp)
lw v1,0x0(v1)
bne a0,v1,0x00067a18
_lw ra,0x54(sp)
lw s3,0x50(sp)
lw s2,0x4c(sp)
lw s1,0x48(sp)
lw s0,0x44(sp)
jr ra
_addiu sp,sp,0x58
lw t9,0x44(s1)
addiu a1,sp,0x2c
addiu a0,sp,0x24
jalr t9
_nop
lw gp,0x18(sp)
b 0x000679c0
_li s2,0x4
b 0x000679c0
_li s2,0x4
lw t9,-0x75d4(gp)
jalr t9
_nop
lui gp,0x6
addiu gp,gp,-0x7794
addu gp,gp,t9
addiu sp,sp,-0x30
sw ra,0x2c(sp)
sw s1,0x28(sp)
sw s0,0x24(sp)
sw gp,0x10(sp)
lw v0,-0x75a8(gp)
lw v0,0x0(v0)
sw v0,0x1c(sp)
lw s0,0x0(a1)
beq s0,zero,0x00067acc
_nop
lw v0,0x8(s0)
beq v0,zero,0x00067ad4
_or a2,zero,zero
lw t9,0x30(a0)
addiu a1,s0,0x8
addiu a0,sp,0x18
jalr t9
_nop
lw gp,0x10(sp)
or s1,v0,zero
or a0,s0,zero
lw t9,-0x7fa8(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq s1,zero,0x00067aa8
_or v0,s1,zero
li s1,0x4
or v0,s1,zero
lw a0,0x1c(sp)
lw v1,-0x75a8(gp)
lw v1,0x0(v1)
bne a0,v1,0x00067af0
_lw ra,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x30
b 0x00067aa4
_li s1,0x4
or a0,s0,zero
lw t9,-0x7fa8(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x00067aa4
_or s1,zero,zero
lw t9,-0x75d4(gp)
jalr t9
_nop
lui gp,0x6
addiu gp,gp,-0x786c
addu gp,gp,t9
addiu sp,sp,-0x38
sw ra,0x34(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
sw s0,0x28(sp)
sw gp,0x10(sp)
or s2,a0,zero
or s1,a2,zero
lw v0,-0x75a8(gp)
lw v0,0x0(v0)
sw v0,0x24(sp)
or a2,zero,zero
lw a0,-0x7f48(gp)
addiu a0,a0,0x13f0
lw t9,-0x7b68(gp)
jalr t9
_nop
lw gp,0x10(sp)
or s0,v0,zero
sw v0,0x20(sp)
or a0,v0,zero
lw t9,-0x7650(gp)
jalr t9
_nop
lw gp,0x10(sp)
sw v0,0x1c(sp)
lw t9,0x3c(s2)
or a3,s1,zero
lw v0,-0x7a14(gp)
lw a2,0x0(v0)
addiu a1,sp,0x1c
addiu a0,sp,0x18
jalr t9
_nop
lw gp,0x10(sp)
or s1,v0,zero
or a0,s0,zero
lw t9,-0x7fa8(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq s1,zero,0x00067bbc
_or v0,s1,zero
li s1,0x4
or v0,s1,zero
lw a0,0x24(sp)
lw v1,-0x75a8(gp)
lw v1,0x0(v1)
bne a0,v1,0x00067be4
_lw ra,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x38
lw t9,-0x75d4(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nint FUN_00067820(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}\n\n" comment (function_definition "int FUN_00067820(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}" primitive_type (function_declarator "FUN_00067820(int param_1,int *param_2,int *param_3)" identifier (parameter_list "(int param_1,int *param_2,int *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined1 auStack_a8 [4];" type_identifier (array_declarator "auStack_a8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "undefined *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "undefined1 auStack_70 [4];" type_identifier (array_declarator "auStack_70 [4]" identifier [ number_literal ]) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "int aiStack_34 [8];" primitive_type (array_declarator "aiStack_34 [8]" identifier [ number_literal ]) ;) (expression_statement "aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8" (subscript_expression "aiStack_34[6]" identifier [ number_literal ]) = (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "aiStack_34[2] = 0;" (assignment_expression "aiStack_34[2] = 0" (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_34[3] = 0;" (assignment_expression "aiStack_34[3] = 0" (subscript_expression "aiStack_34[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_34[4] = 0;" (assignment_expression "aiStack_34[4] = 0" (subscript_expression "aiStack_34[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_34[5] = 0;" (assignment_expression "aiStack_34[5] = 0" (subscript_expression "aiStack_34[5]" identifier [ number_literal ]) = number_literal) ;) (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 "aiStack_34[1] = 0;" (assignment_expression "aiStack_34[1] = 0" (subscript_expression "aiStack_34[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;" (assignment_expression "uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" identifier = (pointer_expression "*(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" * (cast_expression "(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_44 = aiStack_34 + 2;" (assignment_expression "local_44 = aiStack_34 + 2" identifier = (binary_expression "aiStack_34 + 2" identifier + number_literal)) ;) (expression_statement "local_48 = aiStack_34 + 1;" (assignment_expression "local_48 = aiStack_34 + 1" identifier = (binary_expression "aiStack_34 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "piVar4 = (int *)*param_2;" (assignment_expression "piVar4 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);" (assignment_expression "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7)" identifier = (call_expression "(**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7)" (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 "(aiStack_34,piVar4,1,uVar7)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }" { (expression_statement "aiStack_34[1] = 0;" (assignment_expression "aiStack_34[1] = 0" (subscript_expression "aiStack_34[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_48 = aiStack_34 + 1;" (assignment_expression "local_48 = aiStack_34 + 1" identifier = (binary_expression "aiStack_34 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) (expression_statement "local_44 = aiStack_34 + 4;" (assignment_expression "local_44 = aiStack_34 + 4" identifier = (binary_expression "aiStack_34 + 4" identifier + number_literal)) ;) (expression_statement "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);" (assignment_expression "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7)" identifier = (call_expression "(**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7)" (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 "(aiStack_34,param_2[1],2,uVar7)" ( identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }" { (expression_statement "*param_3 = aiStack_34[2] + aiStack_34[4] + 1;" (assignment_expression "*param_3 = aiStack_34[2] + aiStack_34[4] + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "aiStack_34[2] + aiStack_34[4] + 1" (binary_expression "aiStack_34[2] + aiStack_34[4]" (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[4]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);" (assignment_expression "iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b82f8)" ( (pointer_expression "*(code *)PTR_safemalloc_000b82f8" * (cast_expression "(code *)PTR_safemalloc_000b82f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(aiStack_34[2] + aiStack_34[4] + 2,1)" ( (binary_expression "aiStack_34[2] + aiStack_34[4] + 2" (binary_expression "aiStack_34[2] + aiStack_34[4]" (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[4]" identifier [ number_literal ])) + number_literal) , number_literal )))) ;) (expression_statement "param_3[1] = iVar5;" (assignment_expression "param_3[1] = iVar5" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);" (call_expression "(*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2])" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,aiStack_34[3],aiStack_34[2])" ( identifier , (subscript_expression "aiStack_34[3]" identifier [ number_literal ]) , (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) ))) ;) (expression_statement "*(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;" (assignment_expression "*(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20" (pointer_expression "*(undefined1 *)(param_3[1] + aiStack_34[2])" * (cast_expression "(undefined1 *)(param_3[1] + aiStack_34[2])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[1] + aiStack_34[2])" ( (binary_expression "param_3[1] + aiStack_34[2]" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[2]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "iVar5 = aiStack_34[4];" (assignment_expression "iVar5 = aiStack_34[4]" identifier = (subscript_expression "aiStack_34[4]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);" (call_expression "(*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4])" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4])" ( (binary_expression "param_3[1] + aiStack_34[2] + 1" (binary_expression "param_3[1] + aiStack_34[2]" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[2]" identifier [ number_literal ])) + number_literal) , (subscript_expression "aiStack_34[5]" identifier [ number_literal ]) , (subscript_expression "aiStack_34[4]" identifier [ number_literal ]) ))) ;) (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 "param_3 = aiStack_34;" (assignment_expression "param_3 = aiStack_34" identifier = identifier) ;) (expression_statement "(**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);" (call_expression "(**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2)" (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 "(param_3,aiStack_34 + 2)" ( identifier , (binary_expression "aiStack_34 + 2" identifier + number_literal) ))) ;) (expression_statement "piVar4 = aiStack_34 + 4;" (assignment_expression "piVar4 = aiStack_34 + 4" identifier = (binary_expression "aiStack_34 + 4" identifier + number_literal)) ;) (expression_statement "(**(code **)(param_1 + 0x44))(param_3);" (call_expression "(**(code **)(param_1 + 0x44))(param_3)" (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 "(param_3)" ( identifier ))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" else (compound_statement "{\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" { (expression_statement "piVar4 = aiStack_34 + 2;" (assignment_expression "piVar4 = aiStack_34 + 2" identifier = (binary_expression "aiStack_34 + 2" identifier + number_literal)) ;) (expression_statement "(**(code **)(param_1 + 0x44))(aiStack_34);" (call_expression "(**(code **)(param_1 + 0x44))(aiStack_34)" (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 "(aiStack_34)" ( identifier ))) ;) (expression_statement "iVar1 = 4;" (assignment_expression "iVar1 = 4" identifier = number_literal) ;) }))) }) (else_clause "else {\n    iVar1 = 4;\n  }" else (compound_statement "{\n    iVar1 = 4;\n  }" { (expression_statement "iVar1 = 4;" (assignment_expression "iVar1 = 4" identifier = number_literal) ;) }))) (if_statement "if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" if (parenthesized_expression "(aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8)" ( (binary_expression "aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8" (subscript_expression "aiStack_34[6]" identifier [ number_literal ]) == (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) })) (expression_statement "uVar7 = 0x67a24;" (assignment_expression "uVar7 = 0x67a24" identifier = number_literal) ;) (expression_statement "iVar2 = aiStack_34[6];" (assignment_expression "iVar2 = aiStack_34[6]" identifier = (subscript_expression "aiStack_34[6]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar8 = PTR___stack_chk_fail_000b8cbc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" * (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_78 = puVar8 + 0x5886c;" (assignment_expression "local_78 = puVar8 + 0x5886c" identifier = (binary_expression "puVar8 + 0x5886c" identifier + number_literal)) ;) (expression_statement "local_6c = **(int **)(puVar8 + 0x512c4);" (assignment_expression "local_6c = **(int **)(puVar8 + 0x512c4)" identifier = (pointer_expression "**(int **)(puVar8 + 0x512c4)" * (pointer_expression "*(int **)(puVar8 + 0x512c4)" * (cast_expression "(int **)(puVar8 + 0x512c4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x512c4)" ( (binary_expression "puVar8 + 0x512c4" identifier + number_literal) )))))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "local_64 = param_3;" (assignment_expression "local_64 = param_3" identifier = identifier) ;) (expression_statement "local_60 = param_1;" (assignment_expression "local_60 = param_1" identifier = identifier) ;) (expression_statement "local_5c = uVar7;" (assignment_expression "local_5c = uVar7" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = 4;\n  }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) }) (else_clause "else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" else (compound_statement "{\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 8) == 0)" ( (binary_expression "*(int *)(iVar6 + 8) == 0" (pointer_expression "*(int *)(iVar6 + 8)" * (cast_expression "(int *)(iVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }" { (expression_statement "(**(code **)(puVar8 + 0x508c4))(iVar6);" (call_expression "(**(code **)(puVar8 + 0x508c4))(iVar6)" (parenthesized_expression "(**(code **)(puVar8 + 0x508c4))" ( (pointer_expression "**(code **)(puVar8 + 0x508c4)" * (pointer_expression "*(code **)(puVar8 + 0x508c4)" * (cast_expression "(code **)(puVar8 + 0x508c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x508c4)" ( (binary_expression "puVar8 + 0x508c4" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" else (compound_statement "{\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" { (expression_statement "iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);" (assignment_expression "iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8)" identifier = (call_expression "(**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 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 "(auStack_70,iVar6 + 8)" ( identifier , (binary_expression "iVar6 + 8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(local_78 + -0x7fa8))(iVar6);" (call_expression "(**(code **)(local_78 + -0x7fa8))(iVar6)" (parenthesized_expression "(**(code **)(local_78 + -0x7fa8))" ( (pointer_expression "**(code **)(local_78 + -0x7fa8)" * (pointer_expression "*(code **)(local_78 + -0x7fa8)" * (cast_expression "(code **)(local_78 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_78 + -0x7fa8)" ( (binary_expression "local_78 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (iVar2 != 0) {\n        iVar2 = 4;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar2 = 4;\n      }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) })) }))) }))) (if_statement "if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }" if (parenthesized_expression "(local_6c != **(int **)(local_78 + -0x75a8))" ( (binary_expression "local_6c != **(int **)(local_78 + -0x75a8)" identifier != (pointer_expression "**(int **)(local_78 + -0x75a8)" * (pointer_expression "*(int **)(local_78 + -0x75a8)" * (cast_expression "(int **)(local_78 + -0x75a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_78 + -0x75a8)" ( (binary_expression "local_78 + -0x75a8" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }" { (expression_statement "pcVar9 = *(code **)(local_78 + -0x75d4);" (assignment_expression "pcVar9 = *(code **)(local_78 + -0x75d4)" identifier = (pointer_expression "*(code **)(local_78 + -0x75d4)" * (cast_expression "(code **)(local_78 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_78 + -0x75d4)" ( (binary_expression "local_78 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = 0x67afc;" (assignment_expression "uVar7 = 0x67afc" identifier = number_literal) ;) (expression_statement "iVar3 = local_6c;" (assignment_expression "iVar3 = local_6c" identifier = identifier) ;) (expression_statement "(*pcVar9)();" (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_9c = **(int **)(pcVar9 + 0x511ec);" (assignment_expression "local_9c = **(int **)(pcVar9 + 0x511ec)" identifier = (pointer_expression "**(int **)(pcVar9 + 0x511ec)" * (pointer_expression "*(int **)(pcVar9 + 0x511ec)" * (cast_expression "(int **)(pcVar9 + 0x511ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x511ec)" ( (binary_expression "pcVar9 + 0x511ec" identifier + number_literal) )))))) ;) (expression_statement "local_98 = iVar6;" (assignment_expression "local_98 = iVar6" identifier = identifier) ;) (expression_statement "local_94 = iVar2;" (assignment_expression "local_94 = iVar2" identifier = identifier) ;) (expression_statement "local_90 = iVar1;" (assignment_expression "local_90 = iVar1" identifier = identifier) ;) (expression_statement "local_8c = uVar7;" (assignment_expression "local_8c = uVar7" identifier = identifier) ;) (expression_statement "uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);" (assignment_expression "uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" identifier = (call_expression "(**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" (parenthesized_expression "(**(code **)(pcVar9 + 0x50c2c))" ( (pointer_expression "**(code **)(pcVar9 + 0x50c2c)" * (pointer_expression "*(code **)(pcVar9 + 0x50c2c)" * (cast_expression "(code **)(pcVar9 + 0x50c2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x50c2c)" ( (binary_expression "pcVar9 + 0x50c2c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" ( (binary_expression "*(int *)(pcVar9 + 0x5084c) + 0x13f0" (pointer_expression "*(int *)(pcVar9 + 0x5084c)" * (cast_expression "(int *)(pcVar9 + 0x5084c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x5084c)" ( (binary_expression "pcVar9 + 0x5084c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_a0 = uVar7;" (assignment_expression "local_a0 = uVar7" identifier = identifier) ;) (expression_statement "local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);" (assignment_expression "local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7)" identifier = (call_expression "(**(code **)(pcVar9 + 0x51144))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x51144))" ( (pointer_expression "**(code **)(pcVar9 + 0x51144)" * (pointer_expression "*(code **)(pcVar9 + 0x51144)" * (cast_expression "(code **)(pcVar9 + 0x51144)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x51144)" ( (binary_expression "pcVar9 + 0x51144" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);" (assignment_expression "iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" identifier = (call_expression "(**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" (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_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" ( identifier , (pointer_expression "&local_a4" & identifier) , (pointer_expression "**(undefined4 **)(pcVar9 + 0x50d80)" * (pointer_expression "*(undefined4 **)(pcVar9 + 0x50d80)" * (cast_expression "(undefined4 **)(pcVar9 + 0x50d80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x50d80)" ( (binary_expression "pcVar9 + 0x50d80" identifier + number_literal) ))))) , identifier )))) ;) (expression_statement "(**(code **)(pcVar9 + 0x507ec))(uVar7);" (call_expression "(**(code **)(pcVar9 + 0x507ec))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x507ec))" ( (pointer_expression "**(code **)(pcVar9 + 0x507ec)" * (pointer_expression "*(code **)(pcVar9 + 0x507ec)" * (cast_expression "(code **)(pcVar9 + 0x507ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x507ec)" ( (binary_expression "pcVar9 + 0x507ec" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (if_statement "if (iVar5 != 0) {\n      iVar5 = 4;\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar5 = 4;\n    }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) })) (if_statement "if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }" if (parenthesized_expression "(local_9c != **(int **)(pcVar9 + 0x511ec))" ( (binary_expression "local_9c != **(int **)(pcVar9 + 0x511ec)" identifier != (pointer_expression "**(int **)(pcVar9 + 0x511ec)" * (pointer_expression "*(int **)(pcVar9 + 0x511ec)" * (cast_expression "(int **)(pcVar9 + 0x511ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x511ec)" ( (binary_expression "pcVar9 + 0x511ec" identifier + number_literal) )))))) )) (compound_statement "{\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }" { (expression_statement "pcVar9 = *(code **)(pcVar9 + 0x511c0);" (assignment_expression "pcVar9 = *(code **)(pcVar9 + 0x511c0)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x511c0)" * (cast_expression "(code **)(pcVar9 + 0x511c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x511c0)" ( (binary_expression "pcVar9 + 0x511c0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)();" (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;" (assignment_expression "*(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(local_9c + 8)" * (cast_expression "(int *)(local_9c + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 8)" ( (binary_expression "local_9c + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;" (assignment_expression "*(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(local_9c + 0xc)" * (cast_expression "(int *)(local_9c + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0xc)" ( (binary_expression "local_9c + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;" (assignment_expression "*(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(local_9c + 0x10)" * (cast_expression "(int *)(local_9c + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x10)" ( (binary_expression "local_9c + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;" (assignment_expression "*(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(local_9c + 0x14)" * (cast_expression "(int *)(local_9c + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x14)" ( (binary_expression "local_9c + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;" (assignment_expression "*(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(local_9c + 0x18)" * (cast_expression "(int *)(local_9c + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x18)" ( (binary_expression "local_9c + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;" (assignment_expression "*(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(local_9c + 0x1c)" * (cast_expression "(int *)(local_9c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x1c)" ( (binary_expression "local_9c + 0x1c" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;" (assignment_expression "*(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(local_9c + 0x20)" * (cast_expression "(int *)(local_9c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x20)" ( (binary_expression "local_9c + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;" (assignment_expression "*(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(local_9c + 0x24)" * (cast_expression "(int *)(local_9c + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x24)" ( (binary_expression "local_9c + 0x24" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;" (assignment_expression "*(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(local_9c + 0x28)" * (cast_expression "(int *)(local_9c + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x28)" ( (binary_expression "local_9c + 0x28" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar9 + 0x50c0c);" (assignment_expression "iVar5 = *(int *)(pcVar9 + 0x50c0c)" identifier = (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(local_9c + 0x2c) = iVar5 + 0x7820;" (assignment_expression "*(int *)(local_9c + 0x2c) = iVar5 + 0x7820" (pointer_expression "*(int *)(local_9c + 0x2c)" * (cast_expression "(int *)(local_9c + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x2c)" ( (binary_expression "local_9c + 0x2c" identifier + number_literal) )))) = (binary_expression "iVar5 + 0x7820" identifier + number_literal)) ;) (return_statement "return iVar5 + 0x7820;" return (binary_expression "iVar5 + 0x7820" identifier + number_literal) ;) })) (return_statement "return iVar5;" return identifier ;) })) (return_statement "return iVar2;" return identifier ;) })))
(translation_unit "Ssh_gss_stat ssh_gssapi_display_status(ssh_gss_library *lib,Ssh_gss_ctx ctx,Ssh_gss_buf *buf)\n\n{\n  int iVar1;\n  OM_uint32 OVar2;\n  void *pvVar3;\n  Ssh_gss_stat SVar4;\n  undefined4 uVar5;\n  gss_buffer_t pgVar6;\n  undefined4 uVar7;\n  size_t sVar8;\n  gss_OID pgVar9;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  undefined1 auStackY_a8 [4];\n  undefined4 uStackY_a4;\n  undefined4 uStackY_a0;\n  int iStackY_9c;\n  size_t sStackY_98;\n  Ssh_gss_stat SStackY_94;\n  undefined4 uStackY_90;\n  code *pcStackY_8c;\n  undefined *puStackY_78;\n  undefined1 auStackY_70 [4];\n  int iStackY_6c;\n  Ssh_gss_buf *pSStackY_64;\n  ssh_gss_library *psStackY_60;\n  code *pcStackY_5c;\n  OM_uint32 lmin;\n  OM_uint32 ccc;\n  gss_buffer_desc msg_maj;\n  gss_buffer_desc msg_min;\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  msg_maj.length = 0;\n  msg_maj.value = (void *)0x0;\n  msg_min.length = 0;\n  msg_min.value = (void *)0x0;\n  buf->length = 0;\n  buf->value = (void *)0x0;\n  ccc = 0;\n  pgVar9 = *(gss_OID *)PTR_GSS_MECH_KRB5_000b8878;\n  uVar7 = 1;\n                    /* WARNING: Load size is inaccurate */\n  pgVar6 = *ctx;\n  OVar2 = (*(lib->u).gssapi.display_status)(&lmin,(OM_uint32)pgVar6,1,pgVar9,&ccc,&msg_maj);\n  if (OVar2 == 0) {\n    ccc = 0;\n    uVar7 = 2;\n    OVar2 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);\n    if (OVar2 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);\n      buf->value = pvVar3;\n      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);\n      return SVar4;\n    }\n    pgVar6 = &msg_maj;\n    (*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);\n  }\n  if (iVar1 != *(int *)PTR___stack_chk_guard_000b8ce8) {\n    pcVar11 = ssh_gssapi_release_cred;\n    puVar10 = PTR___stack_chk_fail_000b8cbc;\n    (*(code *)PTR___stack_chk_fail_000b8cbc)();\n    puStackY_78 = puVar10 + 0x5886c;\n    iStackY_6c = **(int **)(puVar10 + 0x512c4);\n    sVar8 = pgVar6->length;\n    pSStackY_64 = buf;\n    psStackY_60 = lib;\n    pcStackY_5c = pcVar11;\n    if (sVar8 == 0) {\n      SVar4 = SSH_GSS_FAILURE;\n    }\n    else {\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }\n    if (iStackY_6c != **(int **)(puStackY_78 + -0x75a8)) {\n      pcVar11 = *(code **)(puStackY_78 + -0x75d4);\n      pcVar12 = ssh_gssapi_import_name;\n      iVar1 = iStackY_6c;\n      (*pcVar11)();\n      uStackY_90 = 4;\n      iStackY_9c = **(int **)(pcVar11 + 0x511ec);\n      sStackY_98 = sVar8;\n      SStackY_94 = SVar4;\n      pcStackY_8c = pcVar12;\n      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);\n      uStackY_a0 = uVar5;\n      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);\n      SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);\n      (**(code **)(pcVar11 + 0x507ec))(uVar5);\n      if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }\n      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }\n      return SVar4;\n    }\n    return SVar4;\n  }\n  return SSH_GSS_FAILURE;\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  int iVar1;\n  OM_uint32 OVar2;\n  void *pvVar3;\n  Ssh_gss_stat SVar4;\n  undefined4 uVar5;\n  gss_buffer_t pgVar6;\n  undefined4 uVar7;\n  size_t sVar8;\n  gss_OID pgVar9;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  undefined1 auStackY_a8 [4];\n  undefined4 uStackY_a4;\n  undefined4 uStackY_a0;\n  int iStackY_9c;\n  size_t sStackY_98;\n  Ssh_gss_stat SStackY_94;\n  undefined4 uStackY_90;\n  code *pcStackY_8c;\n  undefined *puStackY_78;\n  undefined1 auStackY_70 [4];\n  int iStackY_6c;\n  Ssh_gss_buf *pSStackY_64;\n  ssh_gss_library *psStackY_60;\n  code *pcStackY_5c;\n  OM_uint32 lmin;\n  OM_uint32 ccc;\n  gss_buffer_desc msg_maj;\n  gss_buffer_desc msg_min;\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  msg_maj.length = 0;\n  msg_maj.value = (void *)0x0;\n  msg_min.length = 0;\n  msg_min.value = (void *)0x0;\n  buf->length = 0;\n  buf->value = (void *)0x0;\n  ccc = 0;\n  pgVar9 = *(gss_OID *)PTR_GSS_MECH_KRB5_000b8878;\n  uVar7 = 1;\n                    /* WARNING: Load size is inaccurate */\n  pgVar6 = *ctx;\n  OVar2 = (*(lib->u).gssapi.display_status)(&lmin,(OM_uint32)pgVar6,1,pgVar9,&ccc,&msg_maj);\n  if (OVar2 == 0) {\n    ccc = 0;\n    uVar7 = 2;\n    OVar2 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);\n    if (OVar2 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);\n      buf->value = pvVar3;\n      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);\n      return SVar4;\n    }\n    pgVar6 = &msg_maj;\n    (*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);\n  }\n  if (iVar1 != *(int *)PTR___stack_chk_guard_000b8ce8) {\n    pcVar11 = ssh_gssapi_release_cred;\n    puVar10 = PTR___stack_chk_fail_000b8cbc;\n    (*(code *)PTR___stack_chk_fail_000b8cbc)();\n    puStackY_78 = puVar10 + 0x5886c;\n    iStackY_6c = **(int **)(puVar10 + 0x512c4);\n    sVar8 = pgVar6->length;\n    pSStackY_64 = buf;\n    psStackY_60 = lib;\n    pcStackY_5c = pcVar11;\n    if (sVar8 == 0) {\n      SVar4 = SSH_GSS_FAILURE;\n    }\n    else {\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }\n    if (iStackY_6c != **(int **)(puStackY_78 + -0x75a8)) {\n      pcVar11 = *(code **)(puStackY_78 + -0x75d4);\n      pcVar12 = ssh_gssapi_import_name;\n      iVar1 = iStackY_6c;\n      (*pcVar11)();\n      uStackY_90 = 4;\n      iStackY_9c = **(int **)(pcVar11 + 0x511ec);\n      sStackY_98 = sVar8;\n      SStackY_94 = SVar4;\n      pcStackY_8c = pcVar12;\n      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);\n      uStackY_a0 = uVar5;\n      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);\n      SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);\n      (**(code **)(pcVar11 + 0x507ec))(uVar5);\n      if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }\n      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }\n      return SVar4;\n    }\n    return SVar4;\n  }\n  return SSH_GSS_FAILURE;\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  int iVar1;\n  OM_uint32 OVar2;\n  void *pvVar3;\n  Ssh_gss_stat SVar4;\n  undefined4 uVar5;\n  gss_buffer_t pgVar6;\n  undefined4 uVar7;\n  size_t sVar8;\n  gss_OID pgVar9;\n  undefined *puVar10;\n  code *pcVar11;\n  code *pcVar12;\n  undefined1 auStackY_a8 [4];\n  undefined4 uStackY_a4;\n  undefined4 uStackY_a0;\n  int iStackY_9c;\n  size_t sStackY_98;\n  Ssh_gss_stat SStackY_94;\n  undefined4 uStackY_90;\n  code *pcStackY_8c;\n  undefined *puStackY_78;\n  undefined1 auStackY_70 [4];\n  int iStackY_6c;\n  Ssh_gss_buf *pSStackY_64;\n  ssh_gss_library *psStackY_60;\n  code *pcStackY_5c;\n  OM_uint32 lmin;\n  OM_uint32 ccc;\n  gss_buffer_desc msg_maj;\n  gss_buffer_desc msg_min;\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  msg_maj.length = 0;\n  msg_maj.value = (void *)0x0;\n  msg_min.length = 0;\n  msg_min.value = (void *)0x0;\n  buf->length = 0;\n  buf->value = (void *)0x0;\n  ccc = 0;\n  pgVar9 = *(gss_OID *)PTR_GSS_MECH_KRB5_000b8878;\n  uVar7 = 1;\n                    /* WARNING: Load size is inaccurate */\n  pgVar6 = *ctx;\n  OVar2 = (*(lib->u).gssapi.display_status)(&lmin,(OM_uint32)pgVar6,1,pgVar9,&ccc,&msg_maj);\n  if (OVar2 == 0) {\n    ccc = 0;\n    uVar7 = 2;\n    OVar2 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);\n    if (OVar2 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);\n      buf->value = pvVar3;\n      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);\n      return SVar4;\n    }\n    pgVar6 = &msg_maj;\n    (*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);\n  }\n  if (iVar1 != *(int *)PTR___stack_chk_guard_000b8ce8) {\n    pcVar11 = ssh_gssapi_release_cred;\n    puVar10 = PTR___stack_chk_fail_000b8cbc;\n    (*(code *)PTR___stack_chk_fail_000b8cbc)();\n    puStackY_78 = puVar10 + 0x5886c;\n    iStackY_6c = **(int **)(puVar10 + 0x512c4);\n    sVar8 = pgVar6->length;\n    pSStackY_64 = buf;\n    psStackY_60 = lib;\n    pcStackY_5c = pcVar11;\n    if (sVar8 == 0) {\n      SVar4 = SSH_GSS_FAILURE;\n    }\n    else {\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }\n    if (iStackY_6c != **(int **)(puStackY_78 + -0x75a8)) {\n      pcVar11 = *(code **)(puStackY_78 + -0x75d4);\n      pcVar12 = ssh_gssapi_import_name;\n      iVar1 = iStackY_6c;\n      (*pcVar11)();\n      uStackY_90 = 4;\n      iStackY_9c = **(int **)(pcVar11 + 0x511ec);\n      sStackY_98 = sVar8;\n      SStackY_94 = SVar4;\n      pcStackY_8c = pcVar12;\n      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);\n      uStackY_a0 = uVar5;\n      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);\n      SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);\n      (**(code **)(pcVar11 + 0x507ec))(uVar5);\n      if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }\n      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }\n      return SVar4;\n    }\n    return SVar4;\n  }\n  return SSH_GSS_FAILURE;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "OM_uint32 OVar2;" type_identifier identifier ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (declaration "Ssh_gss_stat SVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "gss_buffer_t pgVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "gss_OID pgVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined1 auStackY_a8 [4];" type_identifier (array_declarator "auStackY_a8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStackY_a4;" type_identifier identifier ;) (declaration "undefined4 uStackY_a0;" type_identifier identifier ;) (declaration "int iStackY_9c;" primitive_type identifier ;) (declaration "size_t sStackY_98;" primitive_type identifier ;) (declaration "Ssh_gss_stat SStackY_94;" type_identifier identifier ;) (declaration "undefined4 uStackY_90;" type_identifier identifier ;) (declaration "code *pcStackY_8c;" type_identifier (pointer_declarator "*pcStackY_8c" * identifier) ;) (declaration "undefined *puStackY_78;" type_identifier (pointer_declarator "*puStackY_78" * identifier) ;) (declaration "undefined1 auStackY_70 [4];" type_identifier (array_declarator "auStackY_70 [4]" identifier [ number_literal ]) ;) (declaration "int iStackY_6c;" primitive_type identifier ;) (declaration "Ssh_gss_buf *pSStackY_64;" type_identifier (pointer_declarator "*pSStackY_64" * identifier) ;) (declaration "ssh_gss_library *psStackY_60;" type_identifier (pointer_declarator "*psStackY_60" * identifier) ;) (declaration "code *pcStackY_5c;" type_identifier (pointer_declarator "*pcStackY_5c" * 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 "iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (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 "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 "ccc = 0;" (assignment_expression "ccc = 0" identifier = number_literal) ;) (expression_statement "pgVar9 = *(gss_OID *)PTR_GSS_MECH_KRB5_000b8878;" (assignment_expression "pgVar9 = *(gss_OID *)PTR_GSS_MECH_KRB5_000b8878" identifier = (pointer_expression "*(gss_OID *)PTR_GSS_MECH_KRB5_000b8878" * (cast_expression "(gss_OID *)PTR_GSS_MECH_KRB5_000b8878" ( (type_descriptor "gss_OID *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) comment (expression_statement "pgVar6 = *ctx;" (assignment_expression "pgVar6 = *ctx" identifier = (pointer_expression "*ctx" * identifier)) ;) (expression_statement "OVar2 = (*(lib->u).gssapi.display_status)(&lmin,(OM_uint32)pgVar6,1,pgVar9,&ccc,&msg_maj);" (assignment_expression "OVar2 = (*(lib->u).gssapi.display_status)(&lmin,(OM_uint32)pgVar6,1,pgVar9,&ccc,&msg_maj)" identifier = (call_expression "(*(lib->u).gssapi.display_status)(&lmin,(OM_uint32)pgVar6,1,pgVar9,&ccc,&msg_maj)" (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)pgVar6,1,pgVar9,&ccc,&msg_maj)" ( (pointer_expression "&lmin" & identifier) , (cast_expression "(OM_uint32)pgVar6" ( (type_descriptor "OM_uint32" type_identifier) ) identifier) , number_literal , identifier , (pointer_expression "&ccc" & identifier) , (pointer_expression "&msg_maj" & identifier) )))) ;) (if_statement "if (OVar2 == 0) {\n    ccc = 0;\n    uVar7 = 2;\n    OVar2 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);\n    if (OVar2 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);\n      buf->value = pvVar3;\n      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);\n      return SVar4;\n    }\n    pgVar6 = &msg_maj;\n    (*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);\n  }" if (parenthesized_expression "(OVar2 == 0)" ( (binary_expression "OVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    ccc = 0;\n    uVar7 = 2;\n    OVar2 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);\n    if (OVar2 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);\n      buf->value = pvVar3;\n      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);\n      return SVar4;\n    }\n    pgVar6 = &msg_maj;\n    (*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);\n  }" { (expression_statement "ccc = 0;" (assignment_expression "ccc = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) (expression_statement "OVar2 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);" (assignment_expression "OVar2 = (*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min)" identifier = (call_expression "(*(lib->u).gssapi.display_status)\n                      (&lmin,*(OM_uint32 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min)" (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,pgVar9,&ccc,&msg_min)" ( (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) , (pointer_expression "&msg_min" & identifier) )))) ;) (if_statement "if (OVar2 == 0) {\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);\n      buf->value = pvVar3;\n      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);\n      return SVar4;\n    }" if (parenthesized_expression "(OVar2 == 0)" ( (binary_expression "OVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      buf->length = msg_maj.length + msg_min.length + 1;\n      pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);\n      buf->value = pvVar3;\n      SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);\n      return SVar4;\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 "pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);" (assignment_expression "pvVar3 = (void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1)" identifier = (cast_expression "(void *)(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b82f8)" ( (pointer_expression "*(code *)PTR_safemalloc_000b82f8" * (cast_expression "(code *)PTR_safemalloc_000b82f8" ( (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 "buf->value = pvVar3;" (assignment_expression "buf->value = pvVar3" (field_expression "buf->value" identifier -> field_identifier) = identifier) ;) (expression_statement "SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);" (assignment_expression "SVar4 = (*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length)" identifier = (call_expression "(*(code *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length)" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pvVar3,msg_maj.value,msg_maj.length)" ( identifier , (field_expression "msg_maj.value" identifier . field_identifier) , (field_expression "msg_maj.length" identifier . field_identifier) )))) ;) (return_statement "return SVar4;" return identifier ;) })) (expression_statement "pgVar6 = &msg_maj;" (assignment_expression "pgVar6 = &msg_maj" identifier = (pointer_expression "&msg_maj" & identifier)) ;) (expression_statement "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);" (call_expression "(*(lib->u).gssapi.release_buffer)(&lmin,pgVar6)" (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,pgVar6)" ( (pointer_expression "&lmin" & identifier) , identifier ))) ;) })) (if_statement "if (iVar1 != *(int *)PTR___stack_chk_guard_000b8ce8) {\n    pcVar11 = ssh_gssapi_release_cred;\n    puVar10 = PTR___stack_chk_fail_000b8cbc;\n    (*(code *)PTR___stack_chk_fail_000b8cbc)();\n    puStackY_78 = puVar10 + 0x5886c;\n    iStackY_6c = **(int **)(puVar10 + 0x512c4);\n    sVar8 = pgVar6->length;\n    pSStackY_64 = buf;\n    psStackY_60 = lib;\n    pcStackY_5c = pcVar11;\n    if (sVar8 == 0) {\n      SVar4 = SSH_GSS_FAILURE;\n    }\n    else {\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }\n    if (iStackY_6c != **(int **)(puStackY_78 + -0x75a8)) {\n      pcVar11 = *(code **)(puStackY_78 + -0x75d4);\n      pcVar12 = ssh_gssapi_import_name;\n      iVar1 = iStackY_6c;\n      (*pcVar11)();\n      uStackY_90 = 4;\n      iStackY_9c = **(int **)(pcVar11 + 0x511ec);\n      sStackY_98 = sVar8;\n      SStackY_94 = SVar4;\n      pcStackY_8c = pcVar12;\n      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);\n      uStackY_a0 = uVar5;\n      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);\n      SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);\n      (**(code **)(pcVar11 + 0x507ec))(uVar5);\n      if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }\n      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }\n      return SVar4;\n    }\n    return SVar4;\n  }" if (parenthesized_expression "(iVar1 != *(int *)PTR___stack_chk_guard_000b8ce8)" ( (binary_expression "iVar1 != *(int *)PTR___stack_chk_guard_000b8ce8" identifier != (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    pcVar11 = ssh_gssapi_release_cred;\n    puVar10 = PTR___stack_chk_fail_000b8cbc;\n    (*(code *)PTR___stack_chk_fail_000b8cbc)();\n    puStackY_78 = puVar10 + 0x5886c;\n    iStackY_6c = **(int **)(puVar10 + 0x512c4);\n    sVar8 = pgVar6->length;\n    pSStackY_64 = buf;\n    psStackY_60 = lib;\n    pcStackY_5c = pcVar11;\n    if (sVar8 == 0) {\n      SVar4 = SSH_GSS_FAILURE;\n    }\n    else {\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }\n    if (iStackY_6c != **(int **)(puStackY_78 + -0x75a8)) {\n      pcVar11 = *(code **)(puStackY_78 + -0x75d4);\n      pcVar12 = ssh_gssapi_import_name;\n      iVar1 = iStackY_6c;\n      (*pcVar11)();\n      uStackY_90 = 4;\n      iStackY_9c = **(int **)(pcVar11 + 0x511ec);\n      sStackY_98 = sVar8;\n      SStackY_94 = SVar4;\n      pcStackY_8c = pcVar12;\n      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);\n      uStackY_a0 = uVar5;\n      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);\n      SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);\n      (**(code **)(pcVar11 + 0x507ec))(uVar5);\n      if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }\n      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }\n      return SVar4;\n    }\n    return SVar4;\n  }" { (expression_statement "pcVar11 = ssh_gssapi_release_cred;" (assignment_expression "pcVar11 = ssh_gssapi_release_cred" identifier = identifier) ;) (expression_statement "puVar10 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar10 = PTR___stack_chk_fail_000b8cbc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" * (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStackY_78 = puVar10 + 0x5886c;" (assignment_expression "puStackY_78 = puVar10 + 0x5886c" identifier = (binary_expression "puVar10 + 0x5886c" identifier + number_literal)) ;) (expression_statement "iStackY_6c = **(int **)(puVar10 + 0x512c4);" (assignment_expression "iStackY_6c = **(int **)(puVar10 + 0x512c4)" identifier = (pointer_expression "**(int **)(puVar10 + 0x512c4)" * (pointer_expression "*(int **)(puVar10 + 0x512c4)" * (cast_expression "(int **)(puVar10 + 0x512c4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x512c4)" ( (binary_expression "puVar10 + 0x512c4" identifier + number_literal) )))))) ;) (expression_statement "sVar8 = pgVar6->length;" (assignment_expression "sVar8 = pgVar6->length" identifier = (field_expression "pgVar6->length" identifier -> field_identifier)) ;) (expression_statement "pSStackY_64 = buf;" (assignment_expression "pSStackY_64 = buf" identifier = identifier) ;) (expression_statement "psStackY_60 = lib;" (assignment_expression "psStackY_60 = lib" identifier = identifier) ;) (expression_statement "pcStackY_5c = pcVar11;" (assignment_expression "pcStackY_5c = pcVar11" identifier = identifier) ;) (if_statement "if (sVar8 == 0) {\n      SVar4 = SSH_GSS_FAILURE;\n    }\n    else {\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      SVar4 = SSH_GSS_FAILURE;\n    }" { (expression_statement "SVar4 = SSH_GSS_FAILURE;" (assignment_expression "SVar4 = SSH_GSS_FAILURE" identifier = identifier) ;) }) (else_clause "else {\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }" else (compound_statement "{\n      uVar7 = 0;\n      if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }\n    }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(sVar8 + 8) == 0) {\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }\n      else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }" if (parenthesized_expression "(*(int *)(sVar8 + 8) == 0)" ( (binary_expression "*(int *)(sVar8 + 8) == 0" (pointer_expression "*(int *)(sVar8 + 8)" * (cast_expression "(int *)(sVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar8 + 8)" ( (binary_expression "sVar8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        (**(code **)(puVar10 + 0x508c4))(sVar8);\n        SVar4 = SSH_GSS_OK;\n      }" { (expression_statement "(**(code **)(puVar10 + 0x508c4))(sVar8);" (call_expression "(**(code **)(puVar10 + 0x508c4))(sVar8)" (parenthesized_expression "(**(code **)(puVar10 + 0x508c4))" ( (pointer_expression "**(code **)(puVar10 + 0x508c4)" * (pointer_expression "*(code **)(puVar10 + 0x508c4)" * (cast_expression "(code **)(puVar10 + 0x508c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x508c4)" ( (binary_expression "puVar10 + 0x508c4" identifier + number_literal) ))))) )) (argument_list "(sVar8)" ( identifier ))) ;) (expression_statement "SVar4 = SSH_GSS_OK;" (assignment_expression "SVar4 = SSH_GSS_OK" identifier = identifier) ;) }) (else_clause "else {\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }" else (compound_statement "{\n        SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);\n        (**(code **)(puStackY_78 + -0x7fa8))(sVar8);\n        if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }\n      }" { (expression_statement "SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8);" (assignment_expression "SVar4 = (**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8)" identifier = (call_expression "(**(code **)(iVar1 + 0x30))(auStackY_70,sVar8 + 8)" (parenthesized_expression "(**(code **)(iVar1 + 0x30))" ( (pointer_expression "**(code **)(iVar1 + 0x30)" * (pointer_expression "*(code **)(iVar1 + 0x30)" * (cast_expression "(code **)(iVar1 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x30)" ( (binary_expression "iVar1 + 0x30" identifier + number_literal) ))))) )) (argument_list "(auStackY_70,sVar8 + 8)" ( identifier , (binary_expression "sVar8 + 8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(puStackY_78 + -0x7fa8))(sVar8);" (call_expression "(**(code **)(puStackY_78 + -0x7fa8))(sVar8)" (parenthesized_expression "(**(code **)(puStackY_78 + -0x7fa8))" ( (pointer_expression "**(code **)(puStackY_78 + -0x7fa8)" * (pointer_expression "*(code **)(puStackY_78 + -0x7fa8)" * (cast_expression "(code **)(puStackY_78 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_78 + -0x7fa8)" ( (binary_expression "puStackY_78 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(sVar8)" ( identifier ))) ;) (if_statement "if (SVar4 != SSH_GSS_OK) {\n          SVar4 = SSH_GSS_FAILURE;\n        }" if (parenthesized_expression "(SVar4 != SSH_GSS_OK)" ( (binary_expression "SVar4 != SSH_GSS_OK" identifier != identifier) )) (compound_statement "{\n          SVar4 = SSH_GSS_FAILURE;\n        }" { (expression_statement "SVar4 = SSH_GSS_FAILURE;" (assignment_expression "SVar4 = SSH_GSS_FAILURE" identifier = identifier) ;) })) }))) }))) (if_statement "if (iStackY_6c != **(int **)(puStackY_78 + -0x75a8)) {\n      pcVar11 = *(code **)(puStackY_78 + -0x75d4);\n      pcVar12 = ssh_gssapi_import_name;\n      iVar1 = iStackY_6c;\n      (*pcVar11)();\n      uStackY_90 = 4;\n      iStackY_9c = **(int **)(pcVar11 + 0x511ec);\n      sStackY_98 = sVar8;\n      SStackY_94 = SVar4;\n      pcStackY_8c = pcVar12;\n      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);\n      uStackY_a0 = uVar5;\n      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);\n      SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);\n      (**(code **)(pcVar11 + 0x507ec))(uVar5);\n      if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }\n      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }\n      return SVar4;\n    }" if (parenthesized_expression "(iStackY_6c != **(int **)(puStackY_78 + -0x75a8))" ( (binary_expression "iStackY_6c != **(int **)(puStackY_78 + -0x75a8)" identifier != (pointer_expression "**(int **)(puStackY_78 + -0x75a8)" * (pointer_expression "*(int **)(puStackY_78 + -0x75a8)" * (cast_expression "(int **)(puStackY_78 + -0x75a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_78 + -0x75a8)" ( (binary_expression "puStackY_78 + -0x75a8" identifier + number_literal) )))))) )) (compound_statement "{\n      pcVar11 = *(code **)(puStackY_78 + -0x75d4);\n      pcVar12 = ssh_gssapi_import_name;\n      iVar1 = iStackY_6c;\n      (*pcVar11)();\n      uStackY_90 = 4;\n      iStackY_9c = **(int **)(pcVar11 + 0x511ec);\n      sStackY_98 = sVar8;\n      SStackY_94 = SVar4;\n      pcStackY_8c = pcVar12;\n      uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);\n      uStackY_a0 = uVar5;\n      uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);\n      SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);\n      (**(code **)(pcVar11 + 0x507ec))(uVar5);\n      if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }\n      if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }\n      return SVar4;\n    }" { (expression_statement "pcVar11 = *(code **)(puStackY_78 + -0x75d4);" (assignment_expression "pcVar11 = *(code **)(puStackY_78 + -0x75d4)" identifier = (pointer_expression "*(code **)(puStackY_78 + -0x75d4)" * (cast_expression "(code **)(puStackY_78 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_78 + -0x75d4)" ( (binary_expression "puStackY_78 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar12 = ssh_gssapi_import_name;" (assignment_expression "pcVar12 = ssh_gssapi_import_name" identifier = identifier) ;) (expression_statement "iVar1 = iStackY_6c;" (assignment_expression "iVar1 = iStackY_6c" identifier = identifier) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStackY_90 = 4;" (assignment_expression "uStackY_90 = 4" identifier = number_literal) ;) (expression_statement "iStackY_9c = **(int **)(pcVar11 + 0x511ec);" (assignment_expression "iStackY_9c = **(int **)(pcVar11 + 0x511ec)" identifier = (pointer_expression "**(int **)(pcVar11 + 0x511ec)" * (pointer_expression "*(int **)(pcVar11 + 0x511ec)" * (cast_expression "(int **)(pcVar11 + 0x511ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x511ec)" ( (binary_expression "pcVar11 + 0x511ec" identifier + number_literal) )))))) ;) (expression_statement "sStackY_98 = sVar8;" (assignment_expression "sStackY_98 = sVar8" identifier = identifier) ;) (expression_statement "SStackY_94 = SVar4;" (assignment_expression "SStackY_94 = SVar4" identifier = identifier) ;) (expression_statement "pcStackY_8c = pcVar12;" (assignment_expression "pcStackY_8c = pcVar12" identifier = identifier) ;) (expression_statement "uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0);" (assignment_expression "uVar5 = (**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0)" identifier = (call_expression "(**(code **)(pcVar11 + 0x50c2c))(*(int *)(pcVar11 + 0x5084c) + 0x13f0)" (parenthesized_expression "(**(code **)(pcVar11 + 0x50c2c))" ( (pointer_expression "**(code **)(pcVar11 + 0x50c2c)" * (pointer_expression "*(code **)(pcVar11 + 0x50c2c)" * (cast_expression "(code **)(pcVar11 + 0x50c2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x50c2c)" ( (binary_expression "pcVar11 + 0x50c2c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x5084c) + 0x13f0)" ( (binary_expression "*(int *)(pcVar11 + 0x5084c) + 0x13f0" (pointer_expression "*(int *)(pcVar11 + 0x5084c)" * (cast_expression "(int *)(pcVar11 + 0x5084c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x5084c)" ( (binary_expression "pcVar11 + 0x5084c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStackY_a0 = uVar5;" (assignment_expression "uStackY_a0 = uVar5" identifier = identifier) ;) (expression_statement "uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5);" (assignment_expression "uStackY_a4 = (**(code **)(pcVar11 + 0x51144))(uVar5)" identifier = (call_expression "(**(code **)(pcVar11 + 0x51144))(uVar5)" (parenthesized_expression "(**(code **)(pcVar11 + 0x51144))" ( (pointer_expression "**(code **)(pcVar11 + 0x51144)" * (pointer_expression "*(code **)(pcVar11 + 0x51144)" * (cast_expression "(code **)(pcVar11 + 0x51144)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x51144)" ( (binary_expression "pcVar11 + 0x51144" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7);" (assignment_expression "SVar4 = (**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7)" identifier = (call_expression "(**(code **)(iVar1 + 0x3c))\n                        (auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7)" (parenthesized_expression "(**(code **)(iVar1 + 0x3c))" ( (pointer_expression "**(code **)(iVar1 + 0x3c)" * (pointer_expression "*(code **)(iVar1 + 0x3c)" * (cast_expression "(code **)(iVar1 + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x3c)" ( (binary_expression "iVar1 + 0x3c" identifier + number_literal) ))))) )) (argument_list "(auStackY_a8,&uStackY_a4,**(undefined4 **)(pcVar11 + 0x50d80),uVar7)" ( identifier , (pointer_expression "&uStackY_a4" & identifier) , (pointer_expression "**(undefined4 **)(pcVar11 + 0x50d80)" * (pointer_expression "*(undefined4 **)(pcVar11 + 0x50d80)" * (cast_expression "(undefined4 **)(pcVar11 + 0x50d80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x50d80)" ( (binary_expression "pcVar11 + 0x50d80" identifier + number_literal) ))))) , identifier )))) ;) (expression_statement "(**(code **)(pcVar11 + 0x507ec))(uVar5);" (call_expression "(**(code **)(pcVar11 + 0x507ec))(uVar5)" (parenthesized_expression "(**(code **)(pcVar11 + 0x507ec))" ( (pointer_expression "**(code **)(pcVar11 + 0x507ec)" * (pointer_expression "*(code **)(pcVar11 + 0x507ec)" * (cast_expression "(code **)(pcVar11 + 0x507ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x507ec)" ( (binary_expression "pcVar11 + 0x507ec" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier ))) ;) (if_statement "if (SVar4 != SSH_GSS_OK) {\n        SVar4 = SSH_GSS_FAILURE;\n      }" if (parenthesized_expression "(SVar4 != SSH_GSS_OK)" ( (binary_expression "SVar4 != SSH_GSS_OK" identifier != identifier) )) (compound_statement "{\n        SVar4 = SSH_GSS_FAILURE;\n      }" { (expression_statement "SVar4 = SSH_GSS_FAILURE;" (assignment_expression "SVar4 = SSH_GSS_FAILURE" identifier = identifier) ;) })) (if_statement "if (iStackY_9c != **(int **)(pcVar11 + 0x511ec)) {\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }" if (parenthesized_expression "(iStackY_9c != **(int **)(pcVar11 + 0x511ec))" ( (binary_expression "iStackY_9c != **(int **)(pcVar11 + 0x511ec)" identifier != (pointer_expression "**(int **)(pcVar11 + 0x511ec)" * (pointer_expression "*(int **)(pcVar11 + 0x511ec)" * (cast_expression "(int **)(pcVar11 + 0x511ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x511ec)" ( (binary_expression "pcVar11 + 0x511ec" identifier + number_literal) )))))) )) (compound_statement "{\n        pcVar11 = *(code **)(pcVar11 + 0x511c0);\n        (*pcVar11)();\n        *(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;\n        *(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;\n        *(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;\n        *(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;\n        *(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;\n        *(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;\n        *(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;\n        *(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;\n        *(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;\n        iVar1 = *(int *)(pcVar11 + 0x50c0c);\n        *(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;\n        return iVar1 + 0x7820;\n      }" { (expression_statement "pcVar11 = *(code **)(pcVar11 + 0x511c0);" (assignment_expression "pcVar11 = *(code **)(pcVar11 + 0x511c0)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x511c0)" * (cast_expression "(code **)(pcVar11 + 0x511c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x511c0)" ( (binary_expression "pcVar11 + 0x511c0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570;" (assignment_expression "*(int *)(iStackY_9c + 8) = *(int *)(pcVar11 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(iStackY_9c + 8)" * (cast_expression "(int *)(iStackY_9c + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 8)" ( (binary_expression "iStackY_9c + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc;" (assignment_expression "*(int *)(iStackY_9c + 0xc) = *(int *)(pcVar11 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(iStackY_9c + 0xc)" * (cast_expression "(int *)(iStackY_9c + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0xc)" ( (binary_expression "iStackY_9c + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8;" (assignment_expression "*(int *)(iStackY_9c + 0x10) = *(int *)(pcVar11 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(iStackY_9c + 0x10)" * (cast_expression "(int *)(iStackY_9c + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x10)" ( (binary_expression "iStackY_9c + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c;" (assignment_expression "*(int *)(iStackY_9c + 0x14) = *(int *)(pcVar11 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(iStackY_9c + 0x14)" * (cast_expression "(int *)(iStackY_9c + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x14)" ( (binary_expression "iStackY_9c + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c;" (assignment_expression "*(int *)(iStackY_9c + 0x18) = *(int *)(pcVar11 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(iStackY_9c + 0x18)" * (cast_expression "(int *)(iStackY_9c + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x18)" ( (binary_expression "iStackY_9c + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4;" (assignment_expression "*(int *)(iStackY_9c + 0x1c) = *(int *)(pcVar11 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(iStackY_9c + 0x1c)" * (cast_expression "(int *)(iStackY_9c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x1c)" ( (binary_expression "iStackY_9c + 0x1c" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24;" (assignment_expression "*(int *)(iStackY_9c + 0x20) = *(int *)(pcVar11 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(iStackY_9c + 0x20)" * (cast_expression "(int *)(iStackY_9c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x20)" ( (binary_expression "iStackY_9c + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744;" (assignment_expression "*(int *)(iStackY_9c + 0x24) = *(int *)(pcVar11 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(iStackY_9c + 0x24)" * (cast_expression "(int *)(iStackY_9c + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x24)" ( (binary_expression "iStackY_9c + 0x24" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c;" (assignment_expression "*(int *)(iStackY_9c + 0x28) = *(int *)(pcVar11 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(iStackY_9c + 0x28)" * (cast_expression "(int *)(iStackY_9c + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x28)" ( (binary_expression "iStackY_9c + 0x28" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar11 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar1 = *(int *)(pcVar11 + 0x50c0c);" (assignment_expression "iVar1 = *(int *)(pcVar11 + 0x50c0c)" identifier = (pointer_expression "*(int *)(pcVar11 + 0x50c0c)" * (cast_expression "(int *)(pcVar11 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x50c0c)" ( (binary_expression "pcVar11 + 0x50c0c" identifier + number_literal) ))))) ;) (expression_statement "*(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820;" (assignment_expression "*(Ssh_gss_stat *)(iStackY_9c + 0x2c) = iVar1 + 0x7820" (pointer_expression "*(Ssh_gss_stat *)(iStackY_9c + 0x2c)" * (cast_expression "(Ssh_gss_stat *)(iStackY_9c + 0x2c)" ( (type_descriptor "Ssh_gss_stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_9c + 0x2c)" ( (binary_expression "iStackY_9c + 0x2c" identifier + number_literal) )))) = (binary_expression "iVar1 + 0x7820" identifier + number_literal)) ;) (return_statement "return iVar1 + 0x7820;" return (binary_expression "iVar1 + 0x7820" identifier + number_literal) ;) })) (return_statement "return SVar4;" return identifier ;) })) (return_statement "return SVar4;" return identifier ;) })) (return_statement "return SSH_GSS_FAILURE;" return identifier ;) })))
(translation_unit "int FUN_00067820(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}\n\n" (function_definition "int FUN_00067820(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}" primitive_type (function_declarator "FUN_00067820(int param_1,int *param_2,int *param_3)" identifier (parameter_list "(int param_1,int *param_2,int *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined1 auStack_a8 [4];" type_identifier (array_declarator "auStack_a8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "undefined4 local_8c;" type_identifier identifier ;) (declaration "undefined *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "undefined1 auStack_70 [4];" type_identifier (array_declarator "auStack_70 [4]" identifier [ number_literal ]) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "int aiStack_34 [8];" primitive_type (array_declarator "aiStack_34 [8]" identifier [ number_literal ]) ;) (expression_statement "aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8" (subscript_expression "aiStack_34[6]" identifier [ number_literal ]) = (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "aiStack_34[2] = 0;" (assignment_expression "aiStack_34[2] = 0" (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_34[3] = 0;" (assignment_expression "aiStack_34[3] = 0" (subscript_expression "aiStack_34[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_34[4] = 0;" (assignment_expression "aiStack_34[4] = 0" (subscript_expression "aiStack_34[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_34[5] = 0;" (assignment_expression "aiStack_34[5] = 0" (subscript_expression "aiStack_34[5]" identifier [ number_literal ]) = number_literal) ;) (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 "aiStack_34[1] = 0;" (assignment_expression "aiStack_34[1] = 0" (subscript_expression "aiStack_34[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;" (assignment_expression "uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" identifier = (pointer_expression "*(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" * (cast_expression "(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_44 = aiStack_34 + 2;" (assignment_expression "local_44 = aiStack_34 + 2" identifier = (binary_expression "aiStack_34 + 2" identifier + number_literal)) ;) (expression_statement "local_48 = aiStack_34 + 1;" (assignment_expression "local_48 = aiStack_34 + 1" identifier = (binary_expression "aiStack_34 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "piVar4 = (int *)*param_2;" (assignment_expression "piVar4 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);" (assignment_expression "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7)" identifier = (call_expression "(**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7)" (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 "(aiStack_34,piVar4,1,uVar7)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }" { (expression_statement "aiStack_34[1] = 0;" (assignment_expression "aiStack_34[1] = 0" (subscript_expression "aiStack_34[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_48 = aiStack_34 + 1;" (assignment_expression "local_48 = aiStack_34 + 1" identifier = (binary_expression "aiStack_34 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) (expression_statement "local_44 = aiStack_34 + 4;" (assignment_expression "local_44 = aiStack_34 + 4" identifier = (binary_expression "aiStack_34 + 4" identifier + number_literal)) ;) (expression_statement "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);" (assignment_expression "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7)" identifier = (call_expression "(**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7)" (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 "(aiStack_34,param_2[1],2,uVar7)" ( identifier , (subscript_expression "param_2[1]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }" { (expression_statement "*param_3 = aiStack_34[2] + aiStack_34[4] + 1;" (assignment_expression "*param_3 = aiStack_34[2] + aiStack_34[4] + 1" (pointer_expression "*param_3" * identifier) = (binary_expression "aiStack_34[2] + aiStack_34[4] + 1" (binary_expression "aiStack_34[2] + aiStack_34[4]" (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[4]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);" (assignment_expression "iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b82f8)" ( (pointer_expression "*(code *)PTR_safemalloc_000b82f8" * (cast_expression "(code *)PTR_safemalloc_000b82f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(aiStack_34[2] + aiStack_34[4] + 2,1)" ( (binary_expression "aiStack_34[2] + aiStack_34[4] + 2" (binary_expression "aiStack_34[2] + aiStack_34[4]" (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[4]" identifier [ number_literal ])) + number_literal) , number_literal )))) ;) (expression_statement "param_3[1] = iVar5;" (assignment_expression "param_3[1] = iVar5" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);" (call_expression "(*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2])" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,aiStack_34[3],aiStack_34[2])" ( identifier , (subscript_expression "aiStack_34[3]" identifier [ number_literal ]) , (subscript_expression "aiStack_34[2]" identifier [ number_literal ]) ))) ;) (expression_statement "*(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;" (assignment_expression "*(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20" (pointer_expression "*(undefined1 *)(param_3[1] + aiStack_34[2])" * (cast_expression "(undefined1 *)(param_3[1] + aiStack_34[2])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3[1] + aiStack_34[2])" ( (binary_expression "param_3[1] + aiStack_34[2]" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[2]" identifier [ number_literal ])) )))) = number_literal) ;) (expression_statement "iVar5 = aiStack_34[4];" (assignment_expression "iVar5 = aiStack_34[4]" identifier = (subscript_expression "aiStack_34[4]" identifier [ number_literal ])) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);" (call_expression "(*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4])" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4])" ( (binary_expression "param_3[1] + aiStack_34[2] + 1" (binary_expression "param_3[1] + aiStack_34[2]" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (subscript_expression "aiStack_34[2]" identifier [ number_literal ])) + number_literal) , (subscript_expression "aiStack_34[5]" identifier [ number_literal ]) , (subscript_expression "aiStack_34[4]" identifier [ number_literal ]) ))) ;) (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 "param_3 = aiStack_34;" (assignment_expression "param_3 = aiStack_34" identifier = identifier) ;) (expression_statement "(**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);" (call_expression "(**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2)" (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 "(param_3,aiStack_34 + 2)" ( identifier , (binary_expression "aiStack_34 + 2" identifier + number_literal) ))) ;) (expression_statement "piVar4 = aiStack_34 + 4;" (assignment_expression "piVar4 = aiStack_34 + 4" identifier = (binary_expression "aiStack_34 + 4" identifier + number_literal)) ;) (expression_statement "(**(code **)(param_1 + 0x44))(param_3);" (call_expression "(**(code **)(param_1 + 0x44))(param_3)" (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 "(param_3)" ( identifier ))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" else (compound_statement "{\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" { (expression_statement "piVar4 = aiStack_34 + 2;" (assignment_expression "piVar4 = aiStack_34 + 2" identifier = (binary_expression "aiStack_34 + 2" identifier + number_literal)) ;) (expression_statement "(**(code **)(param_1 + 0x44))(aiStack_34);" (call_expression "(**(code **)(param_1 + 0x44))(aiStack_34)" (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 "(aiStack_34)" ( identifier ))) ;) (expression_statement "iVar1 = 4;" (assignment_expression "iVar1 = 4" identifier = number_literal) ;) }))) }) (else_clause "else {\n    iVar1 = 4;\n  }" else (compound_statement "{\n    iVar1 = 4;\n  }" { (expression_statement "iVar1 = 4;" (assignment_expression "iVar1 = 4" identifier = number_literal) ;) }))) (if_statement "if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" if (parenthesized_expression "(aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8)" ( (binary_expression "aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8" (subscript_expression "aiStack_34[6]" identifier [ number_literal ]) == (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) })) (expression_statement "uVar7 = 0x67a24;" (assignment_expression "uVar7 = 0x67a24" identifier = number_literal) ;) (expression_statement "iVar2 = aiStack_34[6];" (assignment_expression "iVar2 = aiStack_34[6]" identifier = (subscript_expression "aiStack_34[6]" identifier [ number_literal ])) ;) (expression_statement "puVar8 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar8 = PTR___stack_chk_fail_000b8cbc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" * (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_78 = puVar8 + 0x5886c;" (assignment_expression "local_78 = puVar8 + 0x5886c" identifier = (binary_expression "puVar8 + 0x5886c" identifier + number_literal)) ;) (expression_statement "local_6c = **(int **)(puVar8 + 0x512c4);" (assignment_expression "local_6c = **(int **)(puVar8 + 0x512c4)" identifier = (pointer_expression "**(int **)(puVar8 + 0x512c4)" * (pointer_expression "*(int **)(puVar8 + 0x512c4)" * (cast_expression "(int **)(puVar8 + 0x512c4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x512c4)" ( (binary_expression "puVar8 + 0x512c4" identifier + number_literal) )))))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "local_64 = param_3;" (assignment_expression "local_64 = param_3" identifier = identifier) ;) (expression_statement "local_60 = param_1;" (assignment_expression "local_60 = param_1" identifier = identifier) ;) (expression_statement "local_5c = uVar7;" (assignment_expression "local_5c = uVar7" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = 4;\n  }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) }) (else_clause "else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" else (compound_statement "{\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 8) == 0)" ( (binary_expression "*(int *)(iVar6 + 8) == 0" (pointer_expression "*(int *)(iVar6 + 8)" * (cast_expression "(int *)(iVar6 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }" { (expression_statement "(**(code **)(puVar8 + 0x508c4))(iVar6);" (call_expression "(**(code **)(puVar8 + 0x508c4))(iVar6)" (parenthesized_expression "(**(code **)(puVar8 + 0x508c4))" ( (pointer_expression "**(code **)(puVar8 + 0x508c4)" * (pointer_expression "*(code **)(puVar8 + 0x508c4)" * (cast_expression "(code **)(puVar8 + 0x508c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x508c4)" ( (binary_expression "puVar8 + 0x508c4" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" else (compound_statement "{\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" { (expression_statement "iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);" (assignment_expression "iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8)" identifier = (call_expression "(**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 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 "(auStack_70,iVar6 + 8)" ( identifier , (binary_expression "iVar6 + 8" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(local_78 + -0x7fa8))(iVar6);" (call_expression "(**(code **)(local_78 + -0x7fa8))(iVar6)" (parenthesized_expression "(**(code **)(local_78 + -0x7fa8))" ( (pointer_expression "**(code **)(local_78 + -0x7fa8)" * (pointer_expression "*(code **)(local_78 + -0x7fa8)" * (cast_expression "(code **)(local_78 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_78 + -0x7fa8)" ( (binary_expression "local_78 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if (iVar2 != 0) {\n        iVar2 = 4;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar2 = 4;\n      }" { (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" identifier = number_literal) ;) })) }))) }))) (if_statement "if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }" if (parenthesized_expression "(local_6c != **(int **)(local_78 + -0x75a8))" ( (binary_expression "local_6c != **(int **)(local_78 + -0x75a8)" identifier != (pointer_expression "**(int **)(local_78 + -0x75a8)" * (pointer_expression "*(int **)(local_78 + -0x75a8)" * (cast_expression "(int **)(local_78 + -0x75a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_78 + -0x75a8)" ( (binary_expression "local_78 + -0x75a8" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }" { (expression_statement "pcVar9 = *(code **)(local_78 + -0x75d4);" (assignment_expression "pcVar9 = *(code **)(local_78 + -0x75d4)" identifier = (pointer_expression "*(code **)(local_78 + -0x75d4)" * (cast_expression "(code **)(local_78 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_78 + -0x75d4)" ( (binary_expression "local_78 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = 0x67afc;" (assignment_expression "uVar7 = 0x67afc" identifier = number_literal) ;) (expression_statement "iVar3 = local_6c;" (assignment_expression "iVar3 = local_6c" identifier = identifier) ;) (expression_statement "(*pcVar9)();" (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_9c = **(int **)(pcVar9 + 0x511ec);" (assignment_expression "local_9c = **(int **)(pcVar9 + 0x511ec)" identifier = (pointer_expression "**(int **)(pcVar9 + 0x511ec)" * (pointer_expression "*(int **)(pcVar9 + 0x511ec)" * (cast_expression "(int **)(pcVar9 + 0x511ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x511ec)" ( (binary_expression "pcVar9 + 0x511ec" identifier + number_literal) )))))) ;) (expression_statement "local_98 = iVar6;" (assignment_expression "local_98 = iVar6" identifier = identifier) ;) (expression_statement "local_94 = iVar2;" (assignment_expression "local_94 = iVar2" identifier = identifier) ;) (expression_statement "local_90 = iVar1;" (assignment_expression "local_90 = iVar1" identifier = identifier) ;) (expression_statement "local_8c = uVar7;" (assignment_expression "local_8c = uVar7" identifier = identifier) ;) (expression_statement "uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);" (assignment_expression "uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" identifier = (call_expression "(**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" (parenthesized_expression "(**(code **)(pcVar9 + 0x50c2c))" ( (pointer_expression "**(code **)(pcVar9 + 0x50c2c)" * (pointer_expression "*(code **)(pcVar9 + 0x50c2c)" * (cast_expression "(code **)(pcVar9 + 0x50c2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x50c2c)" ( (binary_expression "pcVar9 + 0x50c2c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" ( (binary_expression "*(int *)(pcVar9 + 0x5084c) + 0x13f0" (pointer_expression "*(int *)(pcVar9 + 0x5084c)" * (cast_expression "(int *)(pcVar9 + 0x5084c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x5084c)" ( (binary_expression "pcVar9 + 0x5084c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_a0 = uVar7;" (assignment_expression "local_a0 = uVar7" identifier = identifier) ;) (expression_statement "local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);" (assignment_expression "local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7)" identifier = (call_expression "(**(code **)(pcVar9 + 0x51144))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x51144))" ( (pointer_expression "**(code **)(pcVar9 + 0x51144)" * (pointer_expression "*(code **)(pcVar9 + 0x51144)" * (cast_expression "(code **)(pcVar9 + 0x51144)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x51144)" ( (binary_expression "pcVar9 + 0x51144" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);" (assignment_expression "iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" identifier = (call_expression "(**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" (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_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" ( identifier , (pointer_expression "&local_a4" & identifier) , (pointer_expression "**(undefined4 **)(pcVar9 + 0x50d80)" * (pointer_expression "*(undefined4 **)(pcVar9 + 0x50d80)" * (cast_expression "(undefined4 **)(pcVar9 + 0x50d80)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x50d80)" ( (binary_expression "pcVar9 + 0x50d80" identifier + number_literal) ))))) , identifier )))) ;) (expression_statement "(**(code **)(pcVar9 + 0x507ec))(uVar7);" (call_expression "(**(code **)(pcVar9 + 0x507ec))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x507ec))" ( (pointer_expression "**(code **)(pcVar9 + 0x507ec)" * (pointer_expression "*(code **)(pcVar9 + 0x507ec)" * (cast_expression "(code **)(pcVar9 + 0x507ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x507ec)" ( (binary_expression "pcVar9 + 0x507ec" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (if_statement "if (iVar5 != 0) {\n      iVar5 = 4;\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar5 = 4;\n    }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) })) (if_statement "if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }" if (parenthesized_expression "(local_9c != **(int **)(pcVar9 + 0x511ec))" ( (binary_expression "local_9c != **(int **)(pcVar9 + 0x511ec)" identifier != (pointer_expression "**(int **)(pcVar9 + 0x511ec)" * (pointer_expression "*(int **)(pcVar9 + 0x511ec)" * (cast_expression "(int **)(pcVar9 + 0x511ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x511ec)" ( (binary_expression "pcVar9 + 0x511ec" identifier + number_literal) )))))) )) (compound_statement "{\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }" { (expression_statement "pcVar9 = *(code **)(pcVar9 + 0x511c0);" (assignment_expression "pcVar9 = *(code **)(pcVar9 + 0x511c0)" identifier = (pointer_expression "*(code **)(pcVar9 + 0x511c0)" * (cast_expression "(code **)(pcVar9 + 0x511c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x511c0)" ( (binary_expression "pcVar9 + 0x511c0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar9)();" (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;" (assignment_expression "*(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(local_9c + 8)" * (cast_expression "(int *)(local_9c + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 8)" ( (binary_expression "local_9c + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;" (assignment_expression "*(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(local_9c + 0xc)" * (cast_expression "(int *)(local_9c + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0xc)" ( (binary_expression "local_9c + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;" (assignment_expression "*(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(local_9c + 0x10)" * (cast_expression "(int *)(local_9c + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x10)" ( (binary_expression "local_9c + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;" (assignment_expression "*(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(local_9c + 0x14)" * (cast_expression "(int *)(local_9c + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x14)" ( (binary_expression "local_9c + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;" (assignment_expression "*(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(local_9c + 0x18)" * (cast_expression "(int *)(local_9c + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x18)" ( (binary_expression "local_9c + 0x18" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;" (assignment_expression "*(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(local_9c + 0x1c)" * (cast_expression "(int *)(local_9c + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x1c)" ( (binary_expression "local_9c + 0x1c" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;" (assignment_expression "*(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(local_9c + 0x20)" * (cast_expression "(int *)(local_9c + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x20)" ( (binary_expression "local_9c + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;" (assignment_expression "*(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(local_9c + 0x24)" * (cast_expression "(int *)(local_9c + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x24)" ( (binary_expression "local_9c + 0x24" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;" (assignment_expression "*(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(local_9c + 0x28)" * (cast_expression "(int *)(local_9c + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x28)" ( (binary_expression "local_9c + 0x28" identifier + number_literal) )))) = (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar5 = *(int *)(pcVar9 + 0x50c0c);" (assignment_expression "iVar5 = *(int *)(pcVar9 + 0x50c0c)" identifier = (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" * (cast_expression "(int *)(pcVar9 + 0x50c0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x50c0c)" ( (binary_expression "pcVar9 + 0x50c0c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(local_9c + 0x2c) = iVar5 + 0x7820;" (assignment_expression "*(int *)(local_9c + 0x2c) = iVar5 + 0x7820" (pointer_expression "*(int *)(local_9c + 0x2c)" * (cast_expression "(int *)(local_9c + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_9c + 0x2c)" ( (binary_expression "local_9c + 0x2c" identifier + number_literal) )))) = (binary_expression "iVar5 + 0x7820" identifier + number_literal)) ;) (return_statement "return iVar5 + 0x7820;" return (binary_expression "iVar5 + 0x7820" identifier + number_literal) ;) })) (return_statement "return iVar5;" return identifier ;) })) (return_statement "return iVar2;" return identifier ;) })))
(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 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 (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 ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + 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 (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + LIT) , LIT )))) ;) (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 , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ]) + (subscript_expression IDENT [ LIT ])) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (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 (assignment_expression 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 , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression 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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression 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 = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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 ))) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (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) ;) })) (return_statement return IDENT ;) })) (return_statement return IDENT ;) })))
(function_definition "int FUN_00067820(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}" (primitive_type "int") (function_declarator "FUN_00067820(int param_1,int *param_2,int *param_3)" (identifier "FUN_00067820") (parameter_list "(int param_1,int *param_2,int *param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (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  int iVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  undefined1 auStack_a8 [4];\n  undefined4 local_a4;\n  undefined4 local_a0;\n  int local_9c;\n  int local_98;\n  int local_94;\n  int local_90;\n  undefined4 local_8c;\n  undefined *local_78;\n  undefined1 auStack_70 [4];\n  int local_6c;\n  int *local_64;\n  int local_60;\n  undefined4 local_5c;\n  int *local_48;\n  int *local_44;\n  int aiStack_34 [8];\n  \n  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;\n  aiStack_34[2] = 0;\n  aiStack_34[3] = 0;\n  aiStack_34[4] = 0;\n  aiStack_34[5] = 0;\n  *param_3 = 0;\n  param_3[1] = 0;\n  aiStack_34[1] = 0;\n  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;\n  local_44 = aiStack_34 + 2;\n  local_48 = aiStack_34 + 1;\n  iVar5 = 1;\n  piVar4 = (int *)*param_2;\n  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);\n  if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }\n  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  uVar7 = 0x67a24;\n  iVar2 = aiStack_34[6];\n  puVar8 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  local_78 = puVar8 + 0x5886c;\n  local_6c = **(int **)(puVar8 + 0x512c4);\n  iVar6 = *piVar4;\n  local_64 = param_3;\n  local_60 = param_1;\n  local_5c = uVar7;\n  if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }\n  if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }\n  return iVar2;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "undefined1 auStack_a8 [4];" (type_identifier "undefined1") (array_declarator "auStack_a8 [4]" (identifier "auStack_a8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_a4;" (type_identifier "undefined4") (identifier "local_a4") (; ";")) (declaration "undefined4 local_a0;" (type_identifier "undefined4") (identifier "local_a0") (; ";")) (declaration "int local_9c;" (primitive_type "int") (identifier "local_9c") (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "undefined4 local_8c;" (type_identifier "undefined4") (identifier "local_8c") (; ";")) (declaration "undefined *local_78;" (type_identifier "undefined") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "undefined1 auStack_70 [4];" (type_identifier "undefined1") (array_declarator "auStack_70 [4]" (identifier "auStack_70") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_6c;" (primitive_type "int") (identifier "local_6c") (; ";")) (declaration "int *local_64;" (primitive_type "int") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "int *local_48;" (primitive_type "int") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "int *local_44;" (primitive_type "int") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "int aiStack_34 [8];" (primitive_type "int") (array_declarator "aiStack_34 [8]" (identifier "aiStack_34") ([ "[") (number_literal "8") (] "]")) (; ";")) (expression_statement "aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8" (subscript_expression "aiStack_34[6]" (identifier "aiStack_34") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b8ce8")))) (; ";")) (expression_statement "aiStack_34[2] = 0;" (assignment_expression "aiStack_34[2] = 0" (subscript_expression "aiStack_34[2]" (identifier "aiStack_34") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_34[3] = 0;" (assignment_expression "aiStack_34[3] = 0" (subscript_expression "aiStack_34[3]" (identifier "aiStack_34") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_34[4] = 0;" (assignment_expression "aiStack_34[4] = 0" (subscript_expression "aiStack_34[4]" (identifier "aiStack_34") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_34[5] = 0;" (assignment_expression "aiStack_34[5] = 0" (subscript_expression "aiStack_34[5]" (identifier "aiStack_34") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (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 "aiStack_34[1] = 0;" (assignment_expression "aiStack_34[1] = 0" (subscript_expression "aiStack_34[1]" (identifier "aiStack_34") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;" (assignment_expression "uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" (* "*") (cast_expression "(undefined4 *)PTR_GSS_MECH_KRB5_000b8878" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GSS_MECH_KRB5_000b8878")))) (; ";")) (expression_statement "local_44 = aiStack_34 + 2;" (assignment_expression "local_44 = aiStack_34 + 2" (identifier "local_44") (= "=") (binary_expression "aiStack_34 + 2" (identifier "aiStack_34") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_48 = aiStack_34 + 1;" (assignment_expression "local_48 = aiStack_34 + 1" (identifier "local_48") (= "=") (binary_expression "aiStack_34 + 1" (identifier "aiStack_34") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar4 = (int *)*param_2;" (assignment_expression "piVar4 = (int *)*param_2" (identifier "piVar4") (= "=") (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);" (assignment_expression "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7)" (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 "(aiStack_34,piVar4,1,uVar7)" (( "(") (identifier "aiStack_34") (, ",") (identifier "piVar4") (, ",") (number_literal "1") (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }\n  else {\n    iVar1 = 4;\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    aiStack_34[1] = 0;\n    local_48 = aiStack_34 + 1;\n    iVar5 = 2;\n    local_44 = aiStack_34 + 4;\n    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);\n    if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }\n  }" ({ "{") (expression_statement "aiStack_34[1] = 0;" (assignment_expression "aiStack_34[1] = 0" (subscript_expression "aiStack_34[1]" (identifier "aiStack_34") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = aiStack_34 + 1;" (assignment_expression "local_48 = aiStack_34 + 1" (identifier "local_48") (= "=") (binary_expression "aiStack_34 + 1" (identifier "aiStack_34") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" (identifier "iVar5") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_44 = aiStack_34 + 4;" (assignment_expression "local_44 = aiStack_34 + 4" (identifier "local_44") (= "=") (binary_expression "aiStack_34 + 4" (identifier "aiStack_34") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);" (assignment_expression "iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7)" (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 "(aiStack_34,param_2[1],2,uVar7)" (( "(") (identifier "aiStack_34") (, ",") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "2") (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }\n    else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;\n      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);\n      param_3[1] = iVar5;\n      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);\n      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;\n      iVar5 = aiStack_34[4];\n      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);\n      *(undefined1 *)(param_3[1] + *param_3) = 0;\n      param_3 = aiStack_34;\n      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);\n      piVar4 = aiStack_34 + 4;\n      (**(code **)(param_1 + 0x44))(param_3);\n      iVar1 = 0;\n    }" ({ "{") (expression_statement "*param_3 = aiStack_34[2] + aiStack_34[4] + 1;" (assignment_expression "*param_3 = aiStack_34[2] + aiStack_34[4] + 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "aiStack_34[2] + aiStack_34[4] + 1" (binary_expression "aiStack_34[2] + aiStack_34[4]" (subscript_expression "aiStack_34[2]" (identifier "aiStack_34") ([ "[") (number_literal "2") (] "]")) (+ "+") (subscript_expression "aiStack_34[4]" (identifier "aiStack_34") ([ "[") (number_literal "4") (] "]"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);" (assignment_expression "iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b82f8)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_000b82f8" (* "*") (cast_expression "(code *)PTR_safemalloc_000b82f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_000b82f8"))) () ")")) (argument_list "(aiStack_34[2] + aiStack_34[4] + 2,1)" (( "(") (binary_expression "aiStack_34[2] + aiStack_34[4] + 2" (binary_expression "aiStack_34[2] + aiStack_34[4]" (subscript_expression "aiStack_34[2]" (identifier "aiStack_34") ([ "[") (number_literal "2") (] "]")) (+ "+") (subscript_expression "aiStack_34[4]" (identifier "aiStack_34") ([ "[") (number_literal "4") (] "]"))) (+ "+") (number_literal "2")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "param_3[1] = iVar5;" (assignment_expression "param_3[1] = iVar5" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);" (call_expression "(*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2])" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000b8cec" (* "*") (cast_expression "(code *)PTR_memcpy_000b8cec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000b8cec"))) () ")")) (argument_list "(iVar5,aiStack_34[3],aiStack_34[2])" (( "(") (identifier "iVar5") (, ",") (subscript_expression "aiStack_34[3]" (identifier "aiStack_34") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "aiStack_34[2]" (identifier "aiStack_34") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;" (assignment_expression "*(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20" (pointer_expression "*(undefined1 *)(param_3[1] + aiStack_34[2])" (* "*") (cast_expression "(undefined1 *)(param_3[1] + aiStack_34[2])" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3[1] + aiStack_34[2])" (( "(") (binary_expression "param_3[1] + aiStack_34[2]" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (+ "+") (subscript_expression "aiStack_34[2]" (identifier "aiStack_34") ([ "[") (number_literal "2") (] "]"))) () ")")))) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "iVar5 = aiStack_34[4];" (assignment_expression "iVar5 = aiStack_34[4]" (identifier "iVar5") (= "=") (subscript_expression "aiStack_34[4]" (identifier "aiStack_34") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);" (call_expression "(*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4])" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000b8cec" (* "*") (cast_expression "(code *)PTR_memcpy_000b8cec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000b8cec"))) () ")")) (argument_list "(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4])" (( "(") (binary_expression "param_3[1] + aiStack_34[2] + 1" (binary_expression "param_3[1] + aiStack_34[2]" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (+ "+") (subscript_expression "aiStack_34[2]" (identifier "aiStack_34") ([ "[") (number_literal "2") (] "]"))) (+ "+") (number_literal "1")) (, ",") (subscript_expression "aiStack_34[5]" (identifier "aiStack_34") ([ "[") (number_literal "5") (] "]")) (, ",") (subscript_expression "aiStack_34[4]" (identifier "aiStack_34") ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";")) (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 "param_3 = aiStack_34;" (assignment_expression "param_3 = aiStack_34" (identifier "param_3") (= "=") (identifier "aiStack_34")) (; ";")) (expression_statement "(**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);" (call_expression "(**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2)" (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 "(param_3,aiStack_34 + 2)" (( "(") (identifier "param_3") (, ",") (binary_expression "aiStack_34 + 2" (identifier "aiStack_34") (+ "+") (number_literal "2")) () ")"))) (; ";")) (expression_statement "piVar4 = aiStack_34 + 4;" (assignment_expression "piVar4 = aiStack_34 + 4" (identifier "piVar4") (= "=") (binary_expression "aiStack_34 + 4" (identifier "aiStack_34") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "(**(code **)(param_1 + 0x44))(param_3);" (call_expression "(**(code **)(param_1 + 0x44))(param_3)" (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 "(param_3)" (( "(") (identifier "param_3") () ")"))) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" (else "else") (compound_statement "{\n      piVar4 = aiStack_34 + 2;\n      (**(code **)(param_1 + 0x44))(aiStack_34);\n      iVar1 = 4;\n    }" ({ "{") (expression_statement "piVar4 = aiStack_34 + 2;" (assignment_expression "piVar4 = aiStack_34 + 2" (identifier "piVar4") (= "=") (binary_expression "aiStack_34 + 2" (identifier "aiStack_34") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "(**(code **)(param_1 + 0x44))(aiStack_34);" (call_expression "(**(code **)(param_1 + 0x44))(aiStack_34)" (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 "(aiStack_34)" (( "(") (identifier "aiStack_34") () ")"))) (; ";")) (expression_statement "iVar1 = 4;" (assignment_expression "iVar1 = 4" (identifier "iVar1") (= "=") (number_literal "4")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    iVar1 = 4;\n  }" (else "else") (compound_statement "{\n    iVar1 = 4;\n  }" ({ "{") (expression_statement "iVar1 = 4;" (assignment_expression "iVar1 = 4" (identifier "iVar1") (= "=") (number_literal "4")) (; ";")) (} "}")))) (if_statement "if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8)" (( "(") (binary_expression "aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8" (subscript_expression "aiStack_34[6]" (identifier "aiStack_34") ([ "[") (number_literal "6") (] "]")) (== "==") (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b8ce8")))) () ")")) (compound_statement "{\n    return iVar1;\n  }" ({ "{") (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (expression_statement "uVar7 = 0x67a24;" (assignment_expression "uVar7 = 0x67a24" (identifier "uVar7") (= "=") (number_literal "0x67a24")) (; ";")) (expression_statement "iVar2 = aiStack_34[6];" (assignment_expression "iVar2 = aiStack_34[6]" (identifier "iVar2") (= "=") (subscript_expression "aiStack_34[6]" (identifier "aiStack_34") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puVar8 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar8 = PTR___stack_chk_fail_000b8cbc" (identifier "puVar8") (= "=") (identifier "PTR___stack_chk_fail_000b8cbc")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b8cbc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78 = puVar8 + 0x5886c;" (assignment_expression "local_78 = puVar8 + 0x5886c" (identifier "local_78") (= "=") (binary_expression "puVar8 + 0x5886c" (identifier "puVar8") (+ "+") (number_literal "0x5886c"))) (; ";")) (expression_statement "local_6c = **(int **)(puVar8 + 0x512c4);" (assignment_expression "local_6c = **(int **)(puVar8 + 0x512c4)" (identifier "local_6c") (= "=") (pointer_expression "**(int **)(puVar8 + 0x512c4)" (* "*") (pointer_expression "*(int **)(puVar8 + 0x512c4)" (* "*") (cast_expression "(int **)(puVar8 + 0x512c4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x512c4)" (( "(") (binary_expression "puVar8 + 0x512c4" (identifier "puVar8") (+ "+") (number_literal "0x512c4")) () ")")))))) (; ";")) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "local_64 = param_3;" (assignment_expression "local_64 = param_3" (identifier "local_64") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_60 = param_1;" (assignment_expression "local_60 = param_1" (identifier "local_60") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_5c = uVar7;" (assignment_expression "local_5c = uVar7" (identifier "local_5c") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (iVar6 == 0) {\n    iVar2 = 4;\n  }\n  else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = 4;\n  }" ({ "{") (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" (identifier "iVar2") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar5 = 0;\n    if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(iVar6 + 8) == 0) {\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }\n    else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar6 + 8) == 0" (pointer_expression "*(int *)(iVar6 + 8)" (* "*") (cast_expression "(int *)(iVar6 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 8)" (( "(") (binary_expression "iVar6 + 8" (identifier "iVar6") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(puVar8 + 0x508c4))(iVar6);\n      iVar2 = 0;\n    }" ({ "{") (expression_statement "(**(code **)(puVar8 + 0x508c4))(iVar6);" (call_expression "(**(code **)(puVar8 + 0x508c4))(iVar6)" (parenthesized_expression "(**(code **)(puVar8 + 0x508c4))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x508c4)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x508c4)" (* "*") (cast_expression "(code **)(puVar8 + 0x508c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x508c4)" (( "(") (binary_expression "puVar8 + 0x508c4" (identifier "puVar8") (+ "+") (number_literal "0x508c4")) () ")"))))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" (else "else") (compound_statement "{\n      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);\n      (**(code **)(local_78 + -0x7fa8))(iVar6);\n      if (iVar2 != 0) {\n        iVar2 = 4;\n      }\n    }" ({ "{") (expression_statement "iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);" (assignment_expression "iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 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 "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x30)" (( "(") (binary_expression "iVar2 + 0x30" (identifier "iVar2") (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "(auStack_70,iVar6 + 8)" (( "(") (identifier "auStack_70") (, ",") (binary_expression "iVar6 + 8" (identifier "iVar6") (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "(**(code **)(local_78 + -0x7fa8))(iVar6);" (call_expression "(**(code **)(local_78 + -0x7fa8))(iVar6)" (parenthesized_expression "(**(code **)(local_78 + -0x7fa8))" (( "(") (pointer_expression "**(code **)(local_78 + -0x7fa8)" (* "*") (pointer_expression "*(code **)(local_78 + -0x7fa8)" (* "*") (cast_expression "(code **)(local_78 + -0x7fa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_78 + -0x7fa8)" (( "(") (binary_expression "local_78 + -0x7fa8" (identifier "local_78") (+ "+") (number_literal "-0x7fa8")) () ")"))))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if (iVar2 != 0) {\n        iVar2 = 4;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar2 = 4;\n      }" ({ "{") (expression_statement "iVar2 = 4;" (assignment_expression "iVar2 = 4" (identifier "iVar2") (= "=") (number_literal "4")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (if_statement "if (local_6c != **(int **)(local_78 + -0x75a8)) {\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }" (if "if") (parenthesized_expression "(local_6c != **(int **)(local_78 + -0x75a8))" (( "(") (binary_expression "local_6c != **(int **)(local_78 + -0x75a8)" (identifier "local_6c") (!= "!=") (pointer_expression "**(int **)(local_78 + -0x75a8)" (* "*") (pointer_expression "*(int **)(local_78 + -0x75a8)" (* "*") (cast_expression "(int **)(local_78 + -0x75a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_78 + -0x75a8)" (( "(") (binary_expression "local_78 + -0x75a8" (identifier "local_78") (+ "+") (number_literal "-0x75a8")) () ")")))))) () ")")) (compound_statement "{\n    pcVar9 = *(code **)(local_78 + -0x75d4);\n    uVar7 = 0x67afc;\n    iVar3 = local_6c;\n    (*pcVar9)();\n    local_9c = **(int **)(pcVar9 + 0x511ec);\n    local_98 = iVar6;\n    local_94 = iVar2;\n    local_90 = iVar1;\n    local_8c = uVar7;\n    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);\n    local_a0 = uVar7;\n    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);\n    iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);\n    (**(code **)(pcVar9 + 0x507ec))(uVar7);\n    if (iVar5 != 0) {\n      iVar5 = 4;\n    }\n    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }\n    return iVar5;\n  }" ({ "{") (expression_statement "pcVar9 = *(code **)(local_78 + -0x75d4);" (assignment_expression "pcVar9 = *(code **)(local_78 + -0x75d4)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(local_78 + -0x75d4)" (* "*") (cast_expression "(code **)(local_78 + -0x75d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_78 + -0x75d4)" (( "(") (binary_expression "local_78 + -0x75d4" (identifier "local_78") (+ "+") (number_literal "-0x75d4")) () ")"))))) (; ";")) (expression_statement "uVar7 = 0x67afc;" (assignment_expression "uVar7 = 0x67afc" (identifier "uVar7") (= "=") (number_literal "0x67afc")) (; ";")) (expression_statement "iVar3 = local_6c;" (assignment_expression "iVar3 = local_6c" (identifier "iVar3") (= "=") (identifier "local_6c")) (; ";")) (expression_statement "(*pcVar9)();" (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_9c = **(int **)(pcVar9 + 0x511ec);" (assignment_expression "local_9c = **(int **)(pcVar9 + 0x511ec)" (identifier "local_9c") (= "=") (pointer_expression "**(int **)(pcVar9 + 0x511ec)" (* "*") (pointer_expression "*(int **)(pcVar9 + 0x511ec)" (* "*") (cast_expression "(int **)(pcVar9 + 0x511ec)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x511ec)" (( "(") (binary_expression "pcVar9 + 0x511ec" (identifier "pcVar9") (+ "+") (number_literal "0x511ec")) () ")")))))) (; ";")) (expression_statement "local_98 = iVar6;" (assignment_expression "local_98 = iVar6" (identifier "local_98") (= "=") (identifier "iVar6")) (; ";")) (expression_statement "local_94 = iVar2;" (assignment_expression "local_94 = iVar2" (identifier "local_94") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "local_90 = iVar1;" (assignment_expression "local_90 = iVar1" (identifier "local_90") (= "=") (identifier "iVar1")) (; ";")) (expression_statement "local_8c = uVar7;" (assignment_expression "local_8c = uVar7" (identifier "local_8c") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);" (assignment_expression "uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" (parenthesized_expression "(**(code **)(pcVar9 + 0x50c2c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x50c2c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x50c2c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x50c2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x50c2c)" (( "(") (binary_expression "pcVar9 + 0x50c2c" (identifier "pcVar9") (+ "+") (number_literal "0x50c2c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar9 + 0x5084c) + 0x13f0)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x5084c) + 0x13f0" (pointer_expression "*(int *)(pcVar9 + 0x5084c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x5084c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x5084c)" (( "(") (binary_expression "pcVar9 + 0x5084c" (identifier "pcVar9") (+ "+") (number_literal "0x5084c")) () ")")))) (+ "+") (number_literal "0x13f0")) () ")")))) (; ";")) (expression_statement "local_a0 = uVar7;" (assignment_expression "local_a0 = uVar7" (identifier "local_a0") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);" (assignment_expression "local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7)" (identifier "local_a4") (= "=") (call_expression "(**(code **)(pcVar9 + 0x51144))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x51144))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x51144)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x51144)" (* "*") (cast_expression "(code **)(pcVar9 + 0x51144)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x51144)" (( "(") (binary_expression "pcVar9 + 0x51144" (identifier "pcVar9") (+ "+") (number_literal "0x51144")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);" (assignment_expression "iVar5 = (**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(iVar3 + 0x3c))\n                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" (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_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5)" (( "(") (identifier "auStack_a8") (, ",") (pointer_expression "&local_a4" (& "&") (identifier "local_a4")) (, ",") (pointer_expression "**(undefined4 **)(pcVar9 + 0x50d80)" (* "*") (pointer_expression "*(undefined4 **)(pcVar9 + 0x50d80)" (* "*") (cast_expression "(undefined4 **)(pcVar9 + 0x50d80)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x50d80)" (( "(") (binary_expression "pcVar9 + 0x50d80" (identifier "pcVar9") (+ "+") (number_literal "0x50d80")) () ")"))))) (, ",") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar9 + 0x507ec))(uVar7);" (call_expression "(**(code **)(pcVar9 + 0x507ec))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x507ec))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x507ec)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x507ec)" (* "*") (cast_expression "(code **)(pcVar9 + 0x507ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x507ec)" (( "(") (binary_expression "pcVar9 + 0x507ec" (identifier "pcVar9") (+ "+") (number_literal "0x507ec")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (if_statement "if (iVar5 != 0) {\n      iVar5 = 4;\n    }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = 4;\n    }" ({ "{") (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" (identifier "iVar5") (= "=") (number_literal "4")) (; ";")) (} "}"))) (if_statement "if (local_9c != **(int **)(pcVar9 + 0x511ec)) {\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }" (if "if") (parenthesized_expression "(local_9c != **(int **)(pcVar9 + 0x511ec))" (( "(") (binary_expression "local_9c != **(int **)(pcVar9 + 0x511ec)" (identifier "local_9c") (!= "!=") (pointer_expression "**(int **)(pcVar9 + 0x511ec)" (* "*") (pointer_expression "*(int **)(pcVar9 + 0x511ec)" (* "*") (cast_expression "(int **)(pcVar9 + 0x511ec)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x511ec)" (( "(") (binary_expression "pcVar9 + 0x511ec" (identifier "pcVar9") (+ "+") (number_literal "0x511ec")) () ")")))))) () ")")) (compound_statement "{\n      pcVar9 = *(code **)(pcVar9 + 0x511c0);\n      (*pcVar9)();\n      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;\n      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;\n      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;\n      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;\n      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;\n      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;\n      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;\n      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;\n      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;\n      iVar5 = *(int *)(pcVar9 + 0x50c0c);\n      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;\n      return iVar5 + 0x7820;\n    }" ({ "{") (expression_statement "pcVar9 = *(code **)(pcVar9 + 0x511c0);" (assignment_expression "pcVar9 = *(code **)(pcVar9 + 0x511c0)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(pcVar9 + 0x511c0)" (* "*") (cast_expression "(code **)(pcVar9 + 0x511c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x511c0)" (( "(") (binary_expression "pcVar9 + 0x511c0" (identifier "pcVar9") (+ "+") (number_literal "0x511c0")) () ")"))))) (; ";")) (expression_statement "(*pcVar9)();" (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;" (assignment_expression "*(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(local_9c + 8)" (* "*") (cast_expression "(int *)(local_9c + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 8)" (( "(") (binary_expression "local_9c + 8" (identifier "local_9c") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7570" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x7570"))) (; ";")) (expression_statement "*(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;" (assignment_expression "*(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(local_9c + 0xc)" (* "*") (cast_expression "(int *)(local_9c + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0xc)" (( "(") (binary_expression "local_9c + 0xc" (identifier "local_9c") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7afc" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x7afc"))) (; ";")) (expression_statement "*(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;" (assignment_expression "*(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(local_9c + 0x10)" (* "*") (cast_expression "(int *)(local_9c + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x10)" (( "(") (binary_expression "local_9c + 0x10" (identifier "local_9c") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x76d8" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x76d8"))) (; ";")) (expression_statement "*(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;" (assignment_expression "*(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(local_9c + 0x14)" (* "*") (cast_expression "(int *)(local_9c + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x14)" (( "(") (binary_expression "local_9c + 0x14" (identifier "local_9c") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x759c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x759c"))) (; ";")) (expression_statement "*(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;" (assignment_expression "*(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(local_9c + 0x18)" (* "*") (cast_expression "(int *)(local_9c + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x18)" (( "(") (binary_expression "local_9c + 0x18" (identifier "local_9c") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x766c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x766c"))) (; ";")) (expression_statement "*(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;" (assignment_expression "*(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(local_9c + 0x1c)" (* "*") (cast_expression "(int *)(local_9c + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x1c)" (( "(") (binary_expression "local_9c + 0x1c" (identifier "local_9c") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x77c4" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x77c4"))) (; ";")) (expression_statement "*(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;" (assignment_expression "*(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(local_9c + 0x20)" (* "*") (cast_expression "(int *)(local_9c + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x20)" (( "(") (binary_expression "local_9c + 0x20" (identifier "local_9c") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7a24" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x7a24"))) (; ";")) (expression_statement "*(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;" (assignment_expression "*(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(local_9c + 0x24)" (* "*") (cast_expression "(int *)(local_9c + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x24)" (( "(") (binary_expression "local_9c + 0x24" (identifier "local_9c") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x7744" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x7744"))) (; ";")) (expression_statement "*(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;" (assignment_expression "*(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(local_9c + 0x28)" (* "*") (cast_expression "(int *)(local_9c + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x28)" (( "(") (binary_expression "local_9c + 0x28" (identifier "local_9c") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "*(int *)(pcVar9 + 0x50c0c) + 0x778c" (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")")))) (+ "+") (number_literal "0x778c"))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar9 + 0x50c0c);" (assignment_expression "iVar5 = *(int *)(pcVar9 + 0x50c0c)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar9 + 0x50c0c)" (* "*") (cast_expression "(int *)(pcVar9 + 0x50c0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x50c0c)" (( "(") (binary_expression "pcVar9 + 0x50c0c" (identifier "pcVar9") (+ "+") (number_literal "0x50c0c")) () ")"))))) (; ";")) (expression_statement "*(int *)(local_9c + 0x2c) = iVar5 + 0x7820;" (assignment_expression "*(int *)(local_9c + 0x2c) = iVar5 + 0x7820" (pointer_expression "*(int *)(local_9c + 0x2c)" (* "*") (cast_expression "(int *)(local_9c + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_9c + 0x2c)" (( "(") (binary_expression "local_9c + 0x2c" (identifier "local_9c") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "iVar5 + 0x7820" (identifier "iVar5") (+ "+") (number_literal "0x7820"))) (; ";")) (return_statement "return iVar5 + 0x7820;" (return "return") (binary_expression "iVar5 + 0x7820" (identifier "iVar5") (+ "+") (number_literal "0x7820")) (; ";")) (} "}"))) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))

type_1 function_1(type_2 *lib,type_3 ctx,type_4 *buf)

{
  int var_2;
  type_5 var_1;
  void *pvVar3;
  type_1 var_6;
  type_6 uVar5;
  type_7 pgVar6;
  type_6 uVar7;
  size_t var_4;
  type_8 pgVar9;
  type_9 *var_3;
  type_10 *var_9;
  type_10 *pcVar12;
  type_11 auStackY_a8 [4];
  type_6 uStackY_a4;
  type_6 uStackY_a0;
  int var_10;
  size_t sStackY_98;
  type_1 SStackY_94;
  type_6 uStackY_90;
  type_10 *pcStackY_8c;
  type_9 *var_5;
  type_11 auStackY_70 [4];
  int var_8;
  type_4 *pSStackY_64;
  type_2 *psStackY_60;
  type_10 *pcStackY_5c;
  type_5 lmin;
  type_5 ccc;
  type_12 msg_maj;
  type_12 msg_min;
  
  var_2 = *(int *)PTR___stack_chk_guard_000b8ce8;
  msg_maj.length = 0;
  msg_maj.value = (void *)0x0;
  msg_min.length = 0;
  msg_min.value = (void *)0x0;
  buf->length = 0;
  buf->value = (void *)0x0;
  ccc = 0;
  pgVar9 = *(type_8 *)PTR_GSS_MECH_KRB5_000b8878;
  uVar7 = 1;
                    /* WARNING: Load size is inaccurate */
  pgVar6 = *ctx;
  var_1 = (*(lib->u).gssapi.display_status)(&lmin,(type_5)pgVar6,1,pgVar9,&ccc,&msg_maj);
  if (var_1 == 0) {
    ccc = 0;
    uVar7 = 2;
    var_1 = (*(lib->u).gssapi.display_status)
                      (&lmin,*(type_5 *)((int)ctx + 4),2,pgVar9,&ccc,&msg_min);
    if (var_1 == 0) {
      buf->length = msg_maj.length + msg_min.length + 1;
      pvVar3 = (void *)(*(type_10 *)PTR_safemalloc_000b82f8)(msg_maj.length + msg_min.length + 2,1);
      buf->value = pvVar3;
      var_6 = (*(type_10 *)PTR_memcpy_000b8cec)(pvVar3,msg_maj.value,msg_maj.length);
      return var_6;
    }
    pgVar6 = &msg_maj;
    (*(lib->u).gssapi.release_buffer)(&lmin,pgVar6);
  }
  if (var_2 != *(int *)PTR___stack_chk_guard_000b8ce8) {
    var_9 = ssh_gssapi_release_cred;
    var_3 = PTR___stack_chk_fail_000b8cbc;
    (*(type_10 *)PTR___stack_chk_fail_000b8cbc)();
    var_5 = var_3 + 0x5886c;
    var_8 = **(int **)(var_3 + 0x512c4);
    var_4 = pgVar6->length;
    pSStackY_64 = buf;
    psStackY_60 = lib;
    pcStackY_5c = var_9;
    if (var_4 == 0) {
      var_6 = SSH_GSS_FAILURE;
    }
    else {
      uVar7 = 0;
      if (*(int *)(var_4 + 8) == 0) {
        (**(type_10 **)(var_3 + 0x508c4))(var_4);
        var_6 = var_7;
      }
      else {
        var_6 = (**(type_10 **)(var_2 + 0x30))(auStackY_70,var_4 + 8);
        (**(type_10 **)(var_5 + -0x7fa8))(var_4);
        if (var_6 != var_7) {
          var_6 = SSH_GSS_FAILURE;
        }
      }
    }
    if (var_8 != **(int **)(var_5 + -0x75a8)) {
      var_9 = *(type_10 **)(var_5 + -0x75d4);
      pcVar12 = ssh_gssapi_import_name;
      var_2 = var_8;
      (*var_9)();
      uStackY_90 = 4;
      var_10 = **(int **)(var_9 + 0x511ec);
      sStackY_98 = var_4;
      SStackY_94 = var_6;
      pcStackY_8c = pcVar12;
      uVar5 = (**(type_10 **)(var_9 + 0x50c2c))(*(int *)(var_9 + 0x5084c) + 0x13f0);
      uStackY_a0 = uVar5;
      uStackY_a4 = (**(type_10 **)(var_9 + 0x51144))(uVar5);
      var_6 = (**(type_10 **)(var_2 + 0x3c))
                        (auStackY_a8,&uStackY_a4,**(type_6 **)(var_9 + 0x50d80),uVar7);
      (**(type_10 **)(var_9 + 0x507ec))(uVar5);
      if (var_6 != var_7) {
        var_6 = SSH_GSS_FAILURE;
      }
      if (var_10 != **(int **)(var_9 + 0x511ec)) {
        var_9 = *(type_10 **)(var_9 + 0x511c0);
        (*var_9)();
        *(int *)(var_10 + 8) = *(int *)(var_9 + 0x50c0c) + 0x7570;
        *(int *)(var_10 + 0xc) = *(int *)(var_9 + 0x50c0c) + 0x7afc;
        *(int *)(var_10 + 0x10) = *(int *)(var_9 + 0x50c0c) + 0x76d8;
        *(int *)(var_10 + 0x14) = *(int *)(var_9 + 0x50c0c) + 0x759c;
        *(int *)(var_10 + 0x18) = *(int *)(var_9 + 0x50c0c) + 0x766c;
        *(int *)(var_10 + 0x1c) = *(int *)(var_9 + 0x50c0c) + 0x77c4;
        *(int *)(var_10 + 0x20) = *(int *)(var_9 + 0x50c0c) + 0x7a24;
        *(int *)(var_10 + 0x24) = *(int *)(var_9 + 0x50c0c) + 0x7744;
        *(int *)(var_10 + 0x28) = *(int *)(var_9 + 0x50c0c) + 0x778c;
        var_2 = *(int *)(var_9 + 0x50c0c);
        *(type_1 *)(var_10 + 0x2c) = var_2 + 0x7820;
        return var_2 + 0x7820;
      }
      return var_6;
    }
    return var_6;
  }
  return SSH_GSS_FAILURE;
}


(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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (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: (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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) 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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (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) (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) (number_literal))))) (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) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (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: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (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 (assignment_expression left: (identifier) right: (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) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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)))) (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: (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)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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: (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: (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)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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))))) (return_statement (identifier)))) (return_statement (identifier)))))

/* WARNING: Type propagation algorithm not settling */

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

{
  int iVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  undefined4 uVar7;
  undefined *puVar8;
  code *pcVar9;
  undefined1 auStack_a8 [4];
  undefined4 local_a4;
  undefined4 local_a0;
  int local_9c;
  int local_98;
  int local_94;
  int local_90;
  undefined4 local_8c;
  undefined *local_78;
  undefined1 auStack_70 [4];
  int local_6c;
  int *local_64;
  int local_60;
  undefined4 local_5c;
  int *local_48;
  int *local_44;
  int aiStack_34 [8];
  
  aiStack_34[6] = *(int *)PTR___stack_chk_guard_000b8ce8;
  aiStack_34[2] = 0;
  aiStack_34[3] = 0;
  aiStack_34[4] = 0;
  aiStack_34[5] = 0;
  *param_3 = 0;
  param_3[1] = 0;
  aiStack_34[1] = 0;
  uVar7 = *(undefined4 *)PTR_GSS_MECH_KRB5_000b8878;
  local_44 = aiStack_34 + 2;
  local_48 = aiStack_34 + 1;
  iVar5 = 1;
  piVar4 = (int *)*param_2;
  iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,piVar4,1,uVar7);
  if (iVar1 == 0) {
    aiStack_34[1] = 0;
    local_48 = aiStack_34 + 1;
    iVar5 = 2;
    local_44 = aiStack_34 + 4;
    iVar1 = (**(code **)(param_1 + 0x34))(aiStack_34,param_2[1],2,uVar7);
    if (iVar1 == 0) {
      *param_3 = aiStack_34[2] + aiStack_34[4] + 1;
      iVar5 = (*(code *)PTR_safemalloc_000b82f8)(aiStack_34[2] + aiStack_34[4] + 2,1);
      param_3[1] = iVar5;
      (*(code *)PTR_memcpy_000b8cec)(iVar5,aiStack_34[3],aiStack_34[2]);
      *(undefined1 *)(param_3[1] + aiStack_34[2]) = 0x20;
      iVar5 = aiStack_34[4];
      (*(code *)PTR_memcpy_000b8cec)(param_3[1] + aiStack_34[2] + 1,aiStack_34[5],aiStack_34[4]);
      *(undefined1 *)(param_3[1] + *param_3) = 0;
      param_3 = aiStack_34;
      (**(code **)(param_1 + 0x44))(param_3,aiStack_34 + 2);
      piVar4 = aiStack_34 + 4;
      (**(code **)(param_1 + 0x44))(param_3);
      iVar1 = 0;
    }
    else {
      piVar4 = aiStack_34 + 2;
      (**(code **)(param_1 + 0x44))(aiStack_34);
      iVar1 = 4;
    }
  }
  else {
    iVar1 = 4;
  }
  if (aiStack_34[6] == *(int *)PTR___stack_chk_guard_000b8ce8) {
    return iVar1;
  }
  uVar7 = 0x67a24;
  iVar2 = aiStack_34[6];
  puVar8 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  local_78 = puVar8 + 0x5886c;
  local_6c = **(int **)(puVar8 + 0x512c4);
  iVar6 = *piVar4;
  local_64 = param_3;
  local_60 = param_1;
  local_5c = uVar7;
  if (iVar6 == 0) {
    iVar2 = 4;
  }
  else {
    iVar5 = 0;
    if (*(int *)(iVar6 + 8) == 0) {
      (**(code **)(puVar8 + 0x508c4))(iVar6);
      iVar2 = 0;
    }
    else {
      iVar2 = (**(code **)(iVar2 + 0x30))(auStack_70,iVar6 + 8);
      (**(code **)(local_78 + -0x7fa8))(iVar6);
      if (iVar2 != 0) {
        iVar2 = 4;
      }
    }
  }
  if (local_6c != **(int **)(local_78 + -0x75a8)) {
    pcVar9 = *(code **)(local_78 + -0x75d4);
    uVar7 = 0x67afc;
    iVar3 = local_6c;
    (*pcVar9)();
    local_9c = **(int **)(pcVar9 + 0x511ec);
    local_98 = iVar6;
    local_94 = iVar2;
    local_90 = iVar1;
    local_8c = uVar7;
    uVar7 = (**(code **)(pcVar9 + 0x50c2c))(*(int *)(pcVar9 + 0x5084c) + 0x13f0);
    local_a0 = uVar7;
    local_a4 = (**(code **)(pcVar9 + 0x51144))(uVar7);
    iVar5 = (**(code **)(iVar3 + 0x3c))
                      (auStack_a8,&local_a4,**(undefined4 **)(pcVar9 + 0x50d80),iVar5);
    (**(code **)(pcVar9 + 0x507ec))(uVar7);
    if (iVar5 != 0) {
      iVar5 = 4;
    }
    if (local_9c != **(int **)(pcVar9 + 0x511ec)) {
      pcVar9 = *(code **)(pcVar9 + 0x511c0);
      (*pcVar9)();
      *(int *)(local_9c + 8) = *(int *)(pcVar9 + 0x50c0c) + 0x7570;
      *(int *)(local_9c + 0xc) = *(int *)(pcVar9 + 0x50c0c) + 0x7afc;
      *(int *)(local_9c + 0x10) = *(int *)(pcVar9 + 0x50c0c) + 0x76d8;
      *(int *)(local_9c + 0x14) = *(int *)(pcVar9 + 0x50c0c) + 0x759c;
      *(int *)(local_9c + 0x18) = *(int *)(pcVar9 + 0x50c0c) + 0x766c;
      *(int *)(local_9c + 0x1c) = *(int *)(pcVar9 + 0x50c0c) + 0x77c4;
      *(int *)(local_9c + 0x20) = *(int *)(pcVar9 + 0x50c0c) + 0x7a24;
      *(int *)(local_9c + 0x24) = *(int *)(pcVar9 + 0x50c0c) + 0x7744;
      *(int *)(local_9c + 0x28) = *(int *)(pcVar9 + 0x50c0c) + 0x778c;
      iVar5 = *(int *)(pcVar9 + 0x50c0c);
      *(int *)(local_9c + 0x2c) = iVar5 + 0x7820;
      return iVar5 + 0x7820;
    }
    return iVar5;
  }
  return iVar2;
}

