
void des3_decrypt_pubkey(uchar *key,uchar *blk,int len)

{
  undefined *puVar1;
  int iVar2;
  Bignum_conflict pBVar3;
  DESContext *pDVar4;
  DESContext *pDVar5;
  uchar *keydata;
  uchar *puVar6;
  byte *pbVar7;
  byte *pbVar8;
  DESContext *pDVar9;
  DESContext *pDVar10;
  uint in_a3;
  uint len_00;
  undefined *puVar11;
  int *piVar12;
  int *piVar13;
  int iVar14;
  undefined *puVar15;
  code *pcVar16;
  code *pcVar17;
  DESContext DStack_8c4;
  int iStack_83c;
  int *piStack_834;
  DESContext *pDStack_830;
  uchar *puStack_82c;
  DESContext *pDStack_828;
  code *pcStack_824;
  code *pcStack_810;
  DESContext DStack_804;
  int iStack_77c;
  DESContext *pDStack_774;
  DESContext *pDStack_770;
  int *piStack_76c;
  DESContext *pDStack_768;
  code *pcStack_764;
  code *pcStack_750;
  DESContext DStack_744;
  DESContext DStack_6bc;
  DESContext DStack_634;
  int iStack_5ac;
  DESContext *pDStack_5a8;
  DESContext *pDStack_5a4;
  int *piStack_5a0;
  DESContext *pDStack_59c;
  byte *pbStack_594;
  int iStack_590;
  code *pcStack_58c;
  code *pcStack_578;
  DESContext DStack_56c;
  DESContext DStack_4e4;
  DESContext DStack_45c;
  int iStack_3d4;
  DESContext *pDStack_3d0;
  DESContext *pDStack_3cc;
  int iStack_3c8;
  int *piStack_3c4;
  uchar *puStack_3c0;
  DESContext *pDStack_3bc;
  DESContext DStack_394;
  DESContext DStack_30c;
  DESContext DStack_284;
  int iStack_1fc;
  uchar *puStack_1f4;
  DESContext *pDStack_1f0;
  undefined *puStack_1ec;
  undefined *puStack_1e8;
  uchar *puStack_1e4;
  int iStack_1e0;
  code *pcStack_1dc;
  DESContext ourkeys [3];
  
  puVar1 = PTR___stack_chk_guard_000b8ce8;
  iVar2 = *(int *)PTR___stack_chk_guard_000b8ce8;
  puVar11 = PTR_LAB_000b87fc + -0x6584;
  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,
                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,
                ourkeys);
  des_key_setup((uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8,
                (uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |
                (uint)key[0xe] << 8,ourkeys + 1);
  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,
                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,
                ourkeys + 2);
  pDVar9 = ourkeys;
  des_3cbc_decrypt(blk,len,ourkeys);
  puVar6 = &DAT_00000198;
  pDVar4 = ourkeys;
  (*(code *)PTR_smemclr_000b8328)();
  if (iVar2 == *(int *)puVar1) {
    return;
  }
  pcVar16 = des3_encrypt_pubkey;
  puVar15 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  puStack_1e8 = puVar1;
  piVar13 = *(int **)(puVar15 + 0x5bf14);
  iStack_1fc = *piVar13;
  iVar2 = *(int *)(puVar15 + 0x5ba28);
  puStack_1f4 = key;
  pDStack_1f0 = ourkeys;
  puStack_1ec = puVar11;
  puStack_1e4 = blk;
  iStack_1e0 = len;
  pcStack_1dc = pcVar16;
  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |
                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,
                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 7) |
                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_394);
  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |
                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,
                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c);
  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |
                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,
                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 7) |
                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_284);
  pDVar10 = &DStack_394;
  des_3cbc_encrypt(puVar6,(uint)pDVar9,&DStack_394);
  pbVar7 = &DAT_00000198;
  pDVar5 = &DStack_394;
  (**(code **)(puVar15 + 0x5b554))();
  if (iStack_1fc == *piVar13) {
    return;
  }
  pcVar16 = *(code **)(puVar15 + 0x5bee8);
  (*pcVar16)();
  pcStack_578 = pcVar16 + 0x632c8;
  piVar12 = *(int **)(pcVar16 + 0x5bd20);
  iStack_3d4 = *piVar12;
  iVar14 = *(int *)(pcVar16 + 0x5b834);
  len_00 = in_a3;
  pDStack_3d0 = pDVar4;
  pDStack_3cc = &DStack_394;
  iStack_3c8 = iVar2 + -0x6584;
  piStack_3c4 = piVar13;
  puStack_3c0 = puVar6;
  pDStack_3bc = pDVar9;
  des_key_setup((uint)*(byte *)pDVar5->k0246 << 0x18 |
                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |
                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8,
                (uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |
                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |
                (uint)*(byte *)((int)pDVar5->k0246 + 7) |
                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c);
  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |
                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |
                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |
                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8,
                (uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |
                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |
                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |
                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4);
  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |
                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |
                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |
                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8,
                (uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |
                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |
                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |
                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c);
  DStack_56c.iv0 =
       (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] | (uint)pbVar7[2] << 8;
  DStack_56c.iv1 =
       (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] | (uint)pbVar7[6] << 8;
  pDVar9 = &DStack_56c;
  des_cbc3_decrypt((uchar *)pDVar10,in_a3,&DStack_56c);
  pbVar8 = &DAT_00000198;
  pDVar4 = &DStack_56c;
  (**(code **)(pcStack_578 + -0x7f68))();
  if (iStack_3d4 == *piVar12) {
    return;
  }
  pcVar16 = *(code **)(pcStack_578 + -0x75d4);
  pcVar17 = des3_encrypt_pubkey_ossh;
  (*pcVar16)();
  pcStack_750 = pcVar16 + 0x63070;
  piVar13 = *(int **)(pcVar16 + 0x5bac8);
  iStack_5ac = *piVar13;
  pDStack_5a8 = pDVar5;
  pDStack_5a4 = &DStack_56c;
  piStack_5a0 = piVar12;
  pDStack_59c = pDVar10;
  pbStack_594 = pbVar7;
  iStack_590 = iVar14 + -0x6584;
  pcStack_58c = pcVar17;
  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |
                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,
                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 7) |
                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_744);
  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |
                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,
                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |
                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc);
  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |
                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8,
                (uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |
                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |
                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634);
  DStack_744.iv0 =
       (uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3] | (uint)pbVar8[2] << 8;
  DStack_744.iv1 =
       (uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7] | (uint)pbVar8[6] << 8;
  pDVar10 = &DStack_744;
  des_cbc3_encrypt((uchar *)pDVar9,len_00,&DStack_744);
  puVar6 = &DAT_00000198;
  pDVar5 = &DStack_744;
  (**(code **)(pcStack_750 + -0x7f68))();
  if (iStack_5ac == *piVar13) {
    return;
  }
  pcVar16 = *(code **)(pcStack_750 + -0x75d4);
  pcVar17 = des_encrypt_xdmauth;
  (*pcVar16)();
  pcStack_810 = pcVar16 + 0x62e18;
  piVar12 = *(int **)(pcVar16 + 0x5b870);
  iStack_77c = *piVar12;
  pDStack_774 = pDVar4;
  pDStack_770 = &DStack_744;
  piStack_76c = piVar13;
  pDStack_768 = pDVar9;
  pcStack_764 = pcVar17;
  des_keysetup_xdmauth((uchar *)pDVar5,&DStack_804);
  keydata = puVar6;
  pDVar4 = pDVar10;
  pDVar9 = &DStack_804;
  des_cbc_encrypt(puVar6,(uint)pDVar10,&DStack_804);
  if (iStack_77c == *piVar12) {
    return;
  }
  pcVar16 = *(code **)(pcStack_810 + -0x75d4);
  pcVar17 = des_decrypt_xdmauth;
  (*pcVar16)();
  piVar13 = *(int **)(pcVar16 + 0x5b7c4);
  iStack_83c = *piVar13;
  piStack_834 = piVar12;
  pDStack_830 = &DStack_804;
  puStack_82c = puVar6;
  pDStack_828 = pDVar10;
  pcStack_824 = pcVar17;
  des_keysetup_xdmauth(keydata,&DStack_8c4);
  des_cbc_decrypt((uchar *)pDVar4,(uint)pDVar9,&DStack_8c4);
  if (iStack_83c == *piVar13) {
    return;
  }
  (**(code **)(pcVar16 + 0x5b798))();
  pBVar3 = bignum_rshift((Bignum_conflict)pDVar4->k0246[2],1);
  pDVar4->k0246[3] = (word32)pBVar3;
  pBVar3 = bignum_bitmask(pBVar3);
  pDVar4->k0246[4] = (word32)pBVar3;
  pDVar4->k0246[1] = 0;
  pDVar4->k0246[0] = 0;
  return;
}



void des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  undefined *puVar1;
  byte *pbVar2;
  byte *pbVar3;
  undefined4 *puVar4;
  undefined4 uVar5;
  byte *pbVar6;
  byte *pbVar7;
  byte *pbVar8;
  byte *pbVar9;
  undefined4 *puVar10;
  undefined1 *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  int iVar14;
  int *piVar15;
  int *piVar16;
  int iVar17;
  undefined *puVar18;
  code *pcVar19;
  code *pcVar20;
  undefined1 auStack_8c4 [136];
  int iStack_83c;
  int *piStack_834;
  undefined1 *puStack_830;
  undefined4 uStack_82c;
  undefined4 *puStack_828;
  code *pcStack_824;
  code *pcStack_810;
  undefined1 auStack_804 [136];
  int iStack_77c;
  byte *pbStack_774;
  undefined4 *puStack_770;
  int *piStack_76c;
  byte *pbStack_768;
  code *pcStack_764;
  code *pcStack_750;
  undefined4 auStack_744 [32];
  uint uStack_6c4;
  uint uStack_6c0;
  undefined1 auStack_6bc [136];
  undefined1 auStack_634 [136];
  int iStack_5ac;
  byte *pbStack_5a8;
  byte *pbStack_5a4;
  int *piStack_5a0;
  byte *pbStack_59c;
  undefined4 uStack_598;
  byte *pbStack_594;
  int iStack_590;
  undefined4 uStack_58c;
  code *pcStack_578;
  byte abStack_56c [128];
  uint uStack_4ec;
  uint uStack_4e8;
  undefined1 auStack_4e4 [136];
  undefined1 auStack_45c [136];
  int iStack_3d4;
  byte *pbStack_3d0;
  byte *pbStack_3cc;
  int iStack_3c8;
  int *piStack_3c4;
  undefined4 uStack_3c0;
  byte *pbStack_3bc;
  byte abStack_394 [136];
  undefined1 auStack_30c [136];
  undefined1 auStack_284 [136];
  int iStack_1fc;
  byte *pbStack_1f4;
  byte *pbStack_1f0;
  undefined *puStack_1ec;
  undefined *puStack_1e8;
  undefined4 uStack_1e4;
  undefined4 uStack_1e0;
  code *pcStack_1dc;
  byte abStack_1bc [136];
  undefined1 auStack_134 [136];
  undefined1 auStack_ac [136];
  int local_24;
  
  puVar1 = PTR___stack_chk_guard_000b8ce8;
  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;
  puVar13 = PTR_LAB_000b87fc + -0x6584;
  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |
               (uint)param_1[2] << 8,
               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |
               (uint)param_1[6] << 8,abStack_1bc);
  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |
               (uint)param_1[10] << 8,
               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |
               (uint)param_1[0xe] << 8,auStack_134);
  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |
               (uint)param_1[2] << 8,
               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |
               (uint)param_1[6] << 8,auStack_ac);
  pbVar8 = abStack_1bc;
  FUN_0005c160(param_2,param_3);
  uVar5 = 0x198;
  pbVar2 = abStack_1bc;
  (*(code *)PTR_smemclr_000b8328)();
  if (local_24 == *(int *)puVar1) {
    return;
  }
  pcVar19 = des3_encrypt_pubkey;
  puVar18 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  puStack_1e8 = puVar1;
  piVar16 = *(int **)(puVar18 + 0x5bf14);
  iStack_1fc = *piVar16;
  iVar14 = *(int *)(puVar18 + 0x5ba28);
  pbStack_1f4 = param_1;
  pbStack_1f0 = abStack_1bc;
  puStack_1ec = puVar13;
  uStack_1e4 = param_2;
  uStack_1e0 = param_3;
  pcStack_1dc = pcVar19;
  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |
               (uint)pbVar2[2] << 8,
               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |
               (uint)pbVar2[6] << 8,abStack_394);
  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |
               (uint)pbVar2[10] << 8,
               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |
               (uint)pbVar2[0xe] << 8,auStack_30c);
  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |
               (uint)pbVar2[2] << 8,
               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |
               (uint)pbVar2[6] << 8,auStack_284);
  pbVar9 = abStack_394;
  FUN_0005c250(uVar5,pbVar8);
  pbVar6 = &DAT_00000198;
  pbVar3 = abStack_394;
  (**(code **)(puVar18 + 0x5b554))();
  if (iStack_1fc == *piVar16) {
    return;
  }
  pcVar19 = *(code **)(puVar18 + 0x5bee8);
  (*pcVar19)();
  pcStack_578 = pcVar19 + 0x632c8;
  piVar15 = *(int **)(pcVar19 + 0x5bd20);
  iStack_3d4 = *piVar15;
  iVar17 = *(int *)(pcVar19 + 0x5b834);
  uVar12 = param_4;
  pbStack_3d0 = pbVar2;
  pbStack_3cc = abStack_394;
  iStack_3c8 = iVar14 + -0x6584;
  piStack_3c4 = piVar16;
  uStack_3c0 = uVar5;
  pbStack_3bc = pbVar8;
  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |
               (uint)pbVar3[2] << 8,
               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |
               (uint)pbVar3[6] << 8,abStack_56c);
  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |
               (uint)pbVar3[10] << 8,
               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |
               (uint)pbVar3[0xe] << 8,auStack_4e4);
  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |
               (uint)pbVar3[0x12] << 8,
               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |
               (uint)pbVar3[0x16] << 8,auStack_45c);
  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |
               (uint)pbVar6[2] << 8;
  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |
               (uint)pbVar6[6] << 8;
  pbVar8 = abStack_56c;
  FUN_0005c3cc(pbVar9,param_4);
  pbVar7 = &DAT_00000198;
  pbVar2 = abStack_56c;
  (**(code **)(pcStack_578 + -0x7f68))();
  if (iStack_3d4 == *piVar15) {
    return;
  }
  pcVar19 = *(code **)(pcStack_578 + -0x75d4);
  uVar5 = 0x5d220;
  (*pcVar19)();
  pcStack_750 = pcVar19 + 0x63070;
  piVar16 = *(int **)(pcVar19 + 0x5bac8);
  iStack_5ac = *piVar16;
  pbStack_5a8 = pbVar3;
  pbStack_5a4 = abStack_56c;
  piStack_5a0 = piVar15;
  pbStack_59c = pbVar9;
  uStack_598 = param_4;
  pbStack_594 = pbVar6;
  iStack_590 = iVar17 + -0x6584;
  uStack_58c = uVar5;
  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |
               (uint)pbVar2[2] << 8,
               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |
               (uint)pbVar2[6] << 8,auStack_744);
  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |
               (uint)pbVar2[10] << 8,
               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |
               (uint)pbVar2[0xe] << 8,auStack_6bc);
  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |
               (uint)pbVar2[0x12] << 8,
               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |
               (uint)pbVar2[0x16] << 8,auStack_634);
  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |
               (uint)pbVar7[2] << 8;
  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |
               (uint)pbVar7[6] << 8;
  puVar10 = auStack_744;
  FUN_0005c644(pbVar8,uVar12);
  uVar5 = 0x198;
  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);
  if (iStack_5ac == *piVar16) {
    return;
  }
  pcVar19 = *(code **)(pcStack_750 + -0x75d4);
  pcVar20 = des_encrypt_xdmauth;
  (*pcVar19)();
  pcStack_810 = pcVar19 + 0x62e18;
  piVar15 = *(int **)(pcVar19 + 0x5b870);
  iStack_77c = *piVar15;
  pbStack_774 = pbVar2;
  puStack_770 = auStack_744;
  piStack_76c = piVar16;
  pbStack_768 = pbVar8;
  pcStack_764 = pcVar20;
  FUN_0005bbdc();
  puVar4 = puVar10;
  puVar11 = auStack_804;
  FUN_0005bd68(uVar5,puVar10,auStack_804);
  if (iStack_77c == *piVar15) {
    return;
  }
  pcVar19 = *(code **)(pcStack_810 + -0x75d4);
  pcVar20 = des_decrypt_xdmauth;
  (*pcVar19)();
  piVar16 = *(int **)(pcVar19 + 0x5b7c4);
  iStack_83c = *piVar16;
  piStack_834 = piVar15;
  puStack_830 = auStack_804;
  uStack_82c = uVar5;
  puStack_828 = puVar10;
  pcStack_824 = pcVar20;
  FUN_0005bbdc();
  FUN_0005bf90(puVar4,puVar11,auStack_8c4);
  if (iStack_83c == *piVar16) {
    return;
  }
  (**(code **)(pcVar19 + 0x5b798))();
  uVar5 = bignum_rshift(puVar4[2],1);
  puVar4[3] = uVar5;
  uVar5 = bignum_bitmask(uVar5);
  puVar4[4] = uVar5;
  puVar4[1] = 0;
  *puVar4 = 0;
  return;
}


lui gp,0x6
addiu gp,gp,0x36b0
addu gp,gp,t9
addiu sp,sp,-0x1d8
sw ra,0x1d4(sp)
sw s5,0x1d0(sp)
sw s4,0x1cc(sp)
sw s3,0x1c8(sp)
sw s2,0x1c4(sp)
sw s1,0x1c0(sp)
sw s0,0x1bc(sp)
sw gp,0x10(sp)
or s0,a0,zero
or s4,a1,zero
or s5,a2,zero
lw s3,-0x75a8(gp)
lw v0,0x0(s3)
sw v0,0x1b4(sp)
lbu v1,0x4(a0)
sll v1,v1,0x18
lbu a1,0x5(a0)
sll a1,a1,0x10
or v1,v1,a1
lbu a1,0x7(a0)
or v1,v1,a1
lbu a1,0x6(a0)
sll a1,a1,0x8
lbu v0,0x0(a0)
sll v0,v0,0x18
lbu a0,0x1(a0)
sll a0,a0,0x10
or v0,v0,a0
lbu a0,0x3(s0)
or v0,v0,a0
lbu a0,0x2(s0)
sll a0,a0,0x8
addiu s1,sp,0x1c
or a2,s1,zero
or a1,v1,a1
or a0,v0,a0
lw s2,-0x7a94(gp)
addiu s2,s2,-0x6584
or t9,s2,zero
bal 0x00059a7c
_nop
lw gp,0x10(sp)
lbu v1,0xc(s0)
sll v1,v1,0x18
lbu a1,0xd(s0)
sll a1,a1,0x10
or v1,v1,a1
lbu a1,0xf(s0)
or v1,v1,a1
lbu a1,0xe(s0)
sll a1,a1,0x8
lbu v0,0x8(s0)
sll v0,v0,0x18
lbu a0,0x9(s0)
sll a0,a0,0x10
or v0,v0,a0
lbu a0,0xb(s0)
or v0,v0,a0
lbu a0,0xa(s0)
sll a0,a0,0x8
addiu a2,sp,0xa4
or a1,v1,a1
or a0,v0,a0
or t9,s2,zero
bal 0x00059a7c
_nop
lw gp,0x10(sp)
lbu v1,0x4(s0)
sll v1,v1,0x18
lbu a1,0x5(s0)
sll a1,a1,0x10
or v1,v1,a1
lbu a1,0x7(s0)
or v1,v1,a1
lbu a1,0x6(s0)
sll a1,a1,0x8
lbu v0,0x0(s0)
sll v0,v0,0x18
lbu a0,0x1(s0)
sll a0,a0,0x10
or v0,v0,a0
lbu a0,0x3(s0)
or v0,v0,a0
lbu a0,0x2(s0)
sll a0,a0,0x8
addiu a2,sp,0x12c
or a1,v1,a1
or a0,v0,a0
or t9,s2,zero
bal 0x00059a7c
_nop
lw gp,0x10(sp)
or a2,s1,zero
or a1,s5,zero
or a0,s4,zero
lw t9,-0x7a94(gp)
addiu t9,t9,-0x3ea0
bal 0x0005c160
_nop
lw gp,0x10(sp)
li a1,0x198
or a0,s1,zero
lw t9,-0x7f68(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw v1,0x1b4(sp)
lw v0,0x0(s3)
bne v1,v0,0x0005cdc8
_lw ra,0x1d4(sp)
lw s5,0x1d0(sp)
lw s4,0x1cc(sp)
lw s3,0x1c8(sp)
lw s2,0x1c4(sp)
lw s1,0x1c0(sp)
lw s0,0x1bc(sp)
jr ra
_addiu sp,sp,0x1d8
lw t9,-0x75d4(gp)
jalr t9
_nop
(translation_unit "void des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}\n\n" (function_definition "void des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}" primitive_type (function_declarator "des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined1 auStack_8c4 [136];" type_identifier (array_declarator "auStack_8c4 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_83c;" primitive_type identifier ;) (declaration "int *piStack_834;" primitive_type (pointer_declarator "*piStack_834" * identifier) ;) (declaration "undefined1 *puStack_830;" type_identifier (pointer_declarator "*puStack_830" * identifier) ;) (declaration "undefined4 uStack_82c;" type_identifier identifier ;) (declaration "undefined4 *puStack_828;" type_identifier (pointer_declarator "*puStack_828" * identifier) ;) (declaration "code *pcStack_824;" type_identifier (pointer_declarator "*pcStack_824" * identifier) ;) (declaration "code *pcStack_810;" type_identifier (pointer_declarator "*pcStack_810" * identifier) ;) (declaration "undefined1 auStack_804 [136];" type_identifier (array_declarator "auStack_804 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_77c;" primitive_type identifier ;) (declaration "byte *pbStack_774;" type_identifier (pointer_declarator "*pbStack_774" * identifier) ;) (declaration "undefined4 *puStack_770;" type_identifier (pointer_declarator "*puStack_770" * identifier) ;) (declaration "int *piStack_76c;" primitive_type (pointer_declarator "*piStack_76c" * identifier) ;) (declaration "byte *pbStack_768;" type_identifier (pointer_declarator "*pbStack_768" * identifier) ;) (declaration "code *pcStack_764;" type_identifier (pointer_declarator "*pcStack_764" * identifier) ;) (declaration "code *pcStack_750;" type_identifier (pointer_declarator "*pcStack_750" * identifier) ;) (declaration "undefined4 auStack_744 [32];" type_identifier (array_declarator "auStack_744 [32]" identifier [ number_literal ]) ;) (declaration "uint uStack_6c4;" type_identifier identifier ;) (declaration "uint uStack_6c0;" type_identifier identifier ;) (declaration "undefined1 auStack_6bc [136];" type_identifier (array_declarator "auStack_6bc [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_634 [136];" type_identifier (array_declarator "auStack_634 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_5ac;" primitive_type identifier ;) (declaration "byte *pbStack_5a8;" type_identifier (pointer_declarator "*pbStack_5a8" * identifier) ;) (declaration "byte *pbStack_5a4;" type_identifier (pointer_declarator "*pbStack_5a4" * identifier) ;) (declaration "int *piStack_5a0;" primitive_type (pointer_declarator "*piStack_5a0" * identifier) ;) (declaration "byte *pbStack_59c;" type_identifier (pointer_declarator "*pbStack_59c" * identifier) ;) (declaration "undefined4 uStack_598;" type_identifier identifier ;) (declaration "byte *pbStack_594;" type_identifier (pointer_declarator "*pbStack_594" * identifier) ;) (declaration "int iStack_590;" primitive_type identifier ;) (declaration "undefined4 uStack_58c;" type_identifier identifier ;) (declaration "code *pcStack_578;" type_identifier (pointer_declarator "*pcStack_578" * identifier) ;) (declaration "byte abStack_56c [128];" type_identifier (array_declarator "abStack_56c [128]" identifier [ number_literal ]) ;) (declaration "uint uStack_4ec;" type_identifier identifier ;) (declaration "uint uStack_4e8;" type_identifier identifier ;) (declaration "undefined1 auStack_4e4 [136];" type_identifier (array_declarator "auStack_4e4 [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_45c [136];" type_identifier (array_declarator "auStack_45c [136]" identifier [ number_literal ]) ;) (declaration "int iStack_3d4;" primitive_type identifier ;) (declaration "byte *pbStack_3d0;" type_identifier (pointer_declarator "*pbStack_3d0" * identifier) ;) (declaration "byte *pbStack_3cc;" type_identifier (pointer_declarator "*pbStack_3cc" * identifier) ;) (declaration "int iStack_3c8;" primitive_type identifier ;) (declaration "int *piStack_3c4;" primitive_type (pointer_declarator "*piStack_3c4" * identifier) ;) (declaration "undefined4 uStack_3c0;" type_identifier identifier ;) (declaration "byte *pbStack_3bc;" type_identifier (pointer_declarator "*pbStack_3bc" * identifier) ;) (declaration "byte abStack_394 [136];" type_identifier (array_declarator "abStack_394 [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_30c [136];" type_identifier (array_declarator "auStack_30c [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_284 [136];" type_identifier (array_declarator "auStack_284 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "byte *pbStack_1f4;" type_identifier (pointer_declarator "*pbStack_1f4" * identifier) ;) (declaration "byte *pbStack_1f0;" type_identifier (pointer_declarator "*pbStack_1f0" * identifier) ;) (declaration "undefined *puStack_1ec;" type_identifier (pointer_declarator "*puStack_1ec" * identifier) ;) (declaration "undefined *puStack_1e8;" type_identifier (pointer_declarator "*puStack_1e8" * identifier) ;) (declaration "undefined4 uStack_1e4;" type_identifier identifier ;) (declaration "undefined4 uStack_1e0;" type_identifier identifier ;) (declaration "code *pcStack_1dc;" type_identifier (pointer_declarator "*pcStack_1dc" * identifier) ;) (declaration "byte abStack_1bc [136];" type_identifier (array_declarator "abStack_1bc [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_134 [136];" type_identifier (array_declarator "auStack_134 [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_ac [136];" type_identifier (array_declarator "auStack_ac [136]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000b8ce8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b8ce8" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "local_24 = *(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 "puVar13 = PTR_LAB_000b87fc + -0x6584;" (assignment_expression "puVar13 = PTR_LAB_000b87fc + -0x6584" identifier = (binary_expression "PTR_LAB_000b87fc + -0x6584" identifier + number_literal)) ;) (expression_statement "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);" (call_expression "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc)" identifier (argument_list "((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc)" ( (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);" (call_expression "FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134)" identifier (argument_list "((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134)" ( (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8" (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb]" (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10" (binary_expression "(uint)param_1[8] << 0x18" (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[9] << 0x10" (cast_expression "(uint)param_1[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[10] << 8" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8" (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf]" (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10" (binary_expression "(uint)param_1[0xc] << 0x18" (cast_expression "(uint)param_1[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[0xd] << 0x10" (cast_expression "(uint)param_1[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[0xe] << 8" (cast_expression "(uint)param_1[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);" (call_expression "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac)" identifier (argument_list "((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac)" ( (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "pbVar8 = abStack_1bc;" (assignment_expression "pbVar8 = abStack_1bc" identifier = identifier) ;) (expression_statement "FUN_0005c160(param_2,param_3);" (call_expression "FUN_0005c160(param_2,param_3)" identifier (argument_list "(param_2,param_3)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = 0x198;" (assignment_expression "uVar5 = 0x198" identifier = number_literal) ;) (expression_statement "pbVar2 = abStack_1bc;" (assignment_expression "pbVar2 = abStack_1bc" identifier = identifier) ;) (expression_statement "(*(code *)PTR_smemclr_000b8328)();" (call_expression "(*(code *)PTR_smemclr_000b8328)()" (parenthesized_expression "(*(code *)PTR_smemclr_000b8328)" ( (pointer_expression "*(code *)PTR_smemclr_000b8328" * (cast_expression "(code *)PTR_smemclr_000b8328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_24 == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)puVar1)" ( (binary_expression "local_24 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = des3_encrypt_pubkey;" (assignment_expression "pcVar19 = des3_encrypt_pubkey" identifier = identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar18 = 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 "puStack_1e8 = puVar1;" (assignment_expression "puStack_1e8 = puVar1" identifier = identifier) ;) (expression_statement "piVar16 = *(int **)(puVar18 + 0x5bf14);" (assignment_expression "piVar16 = *(int **)(puVar18 + 0x5bf14)" identifier = (pointer_expression "*(int **)(puVar18 + 0x5bf14)" * (cast_expression "(int **)(puVar18 + 0x5bf14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x5bf14)" ( (binary_expression "puVar18 + 0x5bf14" identifier + number_literal) ))))) ;) (expression_statement "iStack_1fc = *piVar16;" (assignment_expression "iStack_1fc = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "iVar14 = *(int *)(puVar18 + 0x5ba28);" (assignment_expression "iVar14 = *(int *)(puVar18 + 0x5ba28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x5ba28)" * (cast_expression "(int *)(puVar18 + 0x5ba28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x5ba28)" ( (binary_expression "puVar18 + 0x5ba28" identifier + number_literal) ))))) ;) (expression_statement "pbStack_1f4 = param_1;" (assignment_expression "pbStack_1f4 = param_1" identifier = identifier) ;) (expression_statement "pbStack_1f0 = abStack_1bc;" (assignment_expression "pbStack_1f0 = abStack_1bc" identifier = identifier) ;) (expression_statement "puStack_1ec = puVar13;" (assignment_expression "puStack_1ec = puVar13" identifier = identifier) ;) (expression_statement "uStack_1e4 = param_2;" (assignment_expression "uStack_1e4 = param_2" identifier = identifier) ;) (expression_statement "uStack_1e0 = param_3;" (assignment_expression "uStack_1e0 = param_3" identifier = identifier) ;) (expression_statement "pcStack_1dc = pcVar19;" (assignment_expression "pcStack_1dc = pcVar19" identifier = identifier) ;) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394)" identifier (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394)" ( (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);" (call_expression "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c)" identifier (argument_list "((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c)" ( (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb]" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10" (binary_expression "(uint)pbVar2[8] << 0x18" (cast_expression "(uint)pbVar2[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[9] << 0x10" (cast_expression "(uint)pbVar2[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[10] << 8" (cast_expression "(uint)pbVar2[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf]" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10" (binary_expression "(uint)pbVar2[0xc] << 0x18" (cast_expression "(uint)pbVar2[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0xd] << 0x10" (cast_expression "(uint)pbVar2[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0xe] << 8" (cast_expression "(uint)pbVar2[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284)" identifier (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284)" ( (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "pbVar9 = abStack_394;" (assignment_expression "pbVar9 = abStack_394" identifier = identifier) ;) (expression_statement "FUN_0005c250(uVar5,pbVar8);" (call_expression "FUN_0005c250(uVar5,pbVar8)" identifier (argument_list "(uVar5,pbVar8)" ( identifier , identifier ))) ;) (expression_statement "pbVar6 = &DAT_00000198;" (assignment_expression "pbVar6 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pbVar3 = abStack_394;" (assignment_expression "pbVar3 = abStack_394" identifier = identifier) ;) (expression_statement "(**(code **)(puVar18 + 0x5b554))();" (call_expression "(**(code **)(puVar18 + 0x5b554))()" (parenthesized_expression "(**(code **)(puVar18 + 0x5b554))" ( (pointer_expression "**(code **)(puVar18 + 0x5b554)" * (pointer_expression "*(code **)(puVar18 + 0x5b554)" * (cast_expression "(code **)(puVar18 + 0x5b554)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x5b554)" ( (binary_expression "puVar18 + 0x5b554" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_1fc == *piVar16) {\n    return;\n  }" if (parenthesized_expression "(iStack_1fc == *piVar16)" ( (binary_expression "iStack_1fc == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(puVar18 + 0x5bee8);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x5bee8)" identifier = (pointer_expression "*(code **)(puVar18 + 0x5bee8)" * (cast_expression "(code **)(puVar18 + 0x5bee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x5bee8)" ( (binary_expression "puVar18 + 0x5bee8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_578 = pcVar19 + 0x632c8;" (assignment_expression "pcStack_578 = pcVar19 + 0x632c8" identifier = (binary_expression "pcVar19 + 0x632c8" identifier + number_literal)) ;) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x5bd20);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x5bd20)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5bd20)" * (cast_expression "(int **)(pcVar19 + 0x5bd20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5bd20)" ( (binary_expression "pcVar19 + 0x5bd20" identifier + number_literal) ))))) ;) (expression_statement "iStack_3d4 = *piVar15;" (assignment_expression "iStack_3d4 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar19 + 0x5b834);" (assignment_expression "iVar17 = *(int *)(pcVar19 + 0x5b834)" identifier = (pointer_expression "*(int *)(pcVar19 + 0x5b834)" * (cast_expression "(int *)(pcVar19 + 0x5b834)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x5b834)" ( (binary_expression "pcVar19 + 0x5b834" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = param_4;" (assignment_expression "uVar12 = param_4" identifier = identifier) ;) (expression_statement "pbStack_3d0 = pbVar2;" (assignment_expression "pbStack_3d0 = pbVar2" identifier = identifier) ;) (expression_statement "pbStack_3cc = abStack_394;" (assignment_expression "pbStack_3cc = abStack_394" identifier = identifier) ;) (expression_statement "iStack_3c8 = iVar14 + -0x6584;" (assignment_expression "iStack_3c8 = iVar14 + -0x6584" identifier = (binary_expression "iVar14 + -0x6584" identifier + number_literal)) ;) (expression_statement "piStack_3c4 = piVar16;" (assignment_expression "piStack_3c4 = piVar16" identifier = identifier) ;) (expression_statement "uStack_3c0 = uVar5;" (assignment_expression "uStack_3c0 = uVar5" identifier = identifier) ;) (expression_statement "pbStack_3bc = pbVar8;" (assignment_expression "pbStack_3bc = pbVar8" identifier = identifier) ;) (expression_statement "FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);" (call_expression "FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c)" identifier (argument_list "((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c)" ( (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8" (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3]" (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10" (binary_expression "(uint)*pbVar3 << 0x18" (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar3[1] << 0x10" (cast_expression "(uint)pbVar3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[2] << 8" (cast_expression "(uint)pbVar3[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8" (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7]" (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10" (binary_expression "(uint)pbVar3[4] << 0x18" (cast_expression "(uint)pbVar3[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[5] << 0x10" (cast_expression "(uint)pbVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[6] << 8" (cast_expression "(uint)pbVar3[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);" (call_expression "FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4)" identifier (argument_list "((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4)" ( (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8" (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb]" (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10" (binary_expression "(uint)pbVar3[8] << 0x18" (cast_expression "(uint)pbVar3[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[9] << 0x10" (cast_expression "(uint)pbVar3[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[10] << 8" (cast_expression "(uint)pbVar3[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8" (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf]" (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10" (binary_expression "(uint)pbVar3[0xc] << 0x18" (cast_expression "(uint)pbVar3[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[0xd] << 0x10" (cast_expression "(uint)pbVar3[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[0xe] << 8" (cast_expression "(uint)pbVar3[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);" (call_expression "FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c)" identifier (argument_list "((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c)" ( (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8" (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13]" (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10" (binary_expression "(uint)pbVar3[0x10] << 0x18" (cast_expression "(uint)pbVar3[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x10]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[0x11] << 0x10" (cast_expression "(uint)pbVar3[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x11]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0x13]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x13]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[0x12] << 8" (cast_expression "(uint)pbVar3[0x12]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x12]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8" (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17]" (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10" (binary_expression "(uint)pbVar3[0x14] << 0x18" (cast_expression "(uint)pbVar3[0x14]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x14]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[0x15] << 0x10" (cast_expression "(uint)pbVar3[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x15]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0x17]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x17]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[0x16] << 8" (cast_expression "(uint)pbVar3[0x16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x16]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;" (assignment_expression "uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8" identifier = (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8" (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3]" (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10" (binary_expression "(uint)*pbVar6 << 0x18" (binary_expression "(uint)*pbVar6" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar6[1] << 0x10" (cast_expression "(uint)pbVar6[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar6[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar6[2] << 8" (cast_expression "(uint)pbVar6[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;" (assignment_expression "uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8" identifier = (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8" (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7]" (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10" (binary_expression "(uint)pbVar6[4] << 0x18" (cast_expression "(uint)pbVar6[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar6[5] << 0x10" (cast_expression "(uint)pbVar6[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar6[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar6[6] << 8" (cast_expression "(uint)pbVar6[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "pbVar8 = abStack_56c;" (assignment_expression "pbVar8 = abStack_56c" identifier = identifier) ;) (expression_statement "FUN_0005c3cc(pbVar9,param_4);" (call_expression "FUN_0005c3cc(pbVar9,param_4)" identifier (argument_list "(pbVar9,param_4)" ( identifier , identifier ))) ;) (expression_statement "pbVar7 = &DAT_00000198;" (assignment_expression "pbVar7 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pbVar2 = abStack_56c;" (assignment_expression "pbVar2 = abStack_56c" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_578 + -0x7f68))();" (call_expression "(**(code **)(pcStack_578 + -0x7f68))()" (parenthesized_expression "(**(code **)(pcStack_578 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_578 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_578 + -0x7f68)" * (cast_expression "(code **)(pcStack_578 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_578 + -0x7f68)" ( (binary_expression "pcStack_578 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_3d4 == *piVar15) {\n    return;\n  }" if (parenthesized_expression "(iStack_3d4 == *piVar15)" ( (binary_expression "iStack_3d4 == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(pcStack_578 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_578 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_578 + -0x75d4)" * (cast_expression "(code **)(pcStack_578 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_578 + -0x75d4)" ( (binary_expression "pcStack_578 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 0x5d220;" (assignment_expression "uVar5 = 0x5d220" identifier = number_literal) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_750 = pcVar19 + 0x63070;" (assignment_expression "pcStack_750 = pcVar19 + 0x63070" identifier = (binary_expression "pcVar19 + 0x63070" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar19 + 0x5bac8);" (assignment_expression "piVar16 = *(int **)(pcVar19 + 0x5bac8)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5bac8)" * (cast_expression "(int **)(pcVar19 + 0x5bac8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5bac8)" ( (binary_expression "pcVar19 + 0x5bac8" identifier + number_literal) ))))) ;) (expression_statement "iStack_5ac = *piVar16;" (assignment_expression "iStack_5ac = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "pbStack_5a8 = pbVar3;" (assignment_expression "pbStack_5a8 = pbVar3" identifier = identifier) ;) (expression_statement "pbStack_5a4 = abStack_56c;" (assignment_expression "pbStack_5a4 = abStack_56c" identifier = identifier) ;) (expression_statement "piStack_5a0 = piVar15;" (assignment_expression "piStack_5a0 = piVar15" identifier = identifier) ;) (expression_statement "pbStack_59c = pbVar9;" (assignment_expression "pbStack_59c = pbVar9" identifier = identifier) ;) (expression_statement "uStack_598 = param_4;" (assignment_expression "uStack_598 = param_4" identifier = identifier) ;) (expression_statement "pbStack_594 = pbVar6;" (assignment_expression "pbStack_594 = pbVar6" identifier = identifier) ;) (expression_statement "iStack_590 = iVar17 + -0x6584;" (assignment_expression "iStack_590 = iVar17 + -0x6584" identifier = (binary_expression "iVar17 + -0x6584" identifier + number_literal)) ;) (expression_statement "uStack_58c = uVar5;" (assignment_expression "uStack_58c = uVar5" identifier = identifier) ;) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744)" identifier (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744)" ( (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);" (call_expression "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc)" identifier (argument_list "((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc)" ( (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb]" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10" (binary_expression "(uint)pbVar2[8] << 0x18" (cast_expression "(uint)pbVar2[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[9] << 0x10" (cast_expression "(uint)pbVar2[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[10] << 8" (cast_expression "(uint)pbVar2[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf]" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10" (binary_expression "(uint)pbVar2[0xc] << 0x18" (cast_expression "(uint)pbVar2[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0xd] << 0x10" (cast_expression "(uint)pbVar2[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0xe] << 8" (cast_expression "(uint)pbVar2[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);" (call_expression "FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634)" identifier (argument_list "((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634)" ( (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8" (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13]" (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10" (binary_expression "(uint)pbVar2[0x10] << 0x18" (cast_expression "(uint)pbVar2[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x10]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0x11] << 0x10" (cast_expression "(uint)pbVar2[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x11]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0x13]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x13]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0x12] << 8" (cast_expression "(uint)pbVar2[0x12]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x12]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8" (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17]" (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10" (binary_expression "(uint)pbVar2[0x14] << 0x18" (cast_expression "(uint)pbVar2[0x14]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x14]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0x15] << 0x10" (cast_expression "(uint)pbVar2[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x15]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0x17]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x17]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0x16] << 8" (cast_expression "(uint)pbVar2[0x16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x16]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;" (assignment_expression "uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8" identifier = (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3]" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10" (binary_expression "(uint)*pbVar7 << 0x18" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar7[1] << 0x10" (cast_expression "(uint)pbVar7[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar7[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar7[2] << 8" (cast_expression "(uint)pbVar7[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;" (assignment_expression "uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8" identifier = (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7]" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10" (binary_expression "(uint)pbVar7[4] << 0x18" (cast_expression "(uint)pbVar7[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar7[5] << 0x10" (cast_expression "(uint)pbVar7[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar7[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar7[6] << 8" (cast_expression "(uint)pbVar7[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "puVar10 = auStack_744;" (assignment_expression "puVar10 = auStack_744" identifier = identifier) ;) (expression_statement "FUN_0005c644(pbVar8,uVar12);" (call_expression "FUN_0005c644(pbVar8,uVar12)" identifier (argument_list "(pbVar8,uVar12)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = 0x198;" (assignment_expression "uVar5 = 0x198" identifier = number_literal) ;) (expression_statement "(**(code **)(pcStack_750 + -0x7f68))(auStack_744);" (call_expression "(**(code **)(pcStack_750 + -0x7f68))(auStack_744)" (parenthesized_expression "(**(code **)(pcStack_750 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_750 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_750 + -0x7f68)" * (cast_expression "(code **)(pcStack_750 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_750 + -0x7f68)" ( (binary_expression "pcStack_750 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(auStack_744)" ( identifier ))) ;) (if_statement "if (iStack_5ac == *piVar16) {\n    return;\n  }" if (parenthesized_expression "(iStack_5ac == *piVar16)" ( (binary_expression "iStack_5ac == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(pcStack_750 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_750 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_750 + -0x75d4)" * (cast_expression "(code **)(pcStack_750 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_750 + -0x75d4)" ( (binary_expression "pcStack_750 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = des_encrypt_xdmauth;" (assignment_expression "pcVar20 = des_encrypt_xdmauth" identifier = identifier) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_810 = pcVar19 + 0x62e18;" (assignment_expression "pcStack_810 = pcVar19 + 0x62e18" identifier = (binary_expression "pcVar19 + 0x62e18" identifier + number_literal)) ;) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x5b870);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x5b870)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5b870)" * (cast_expression "(int **)(pcVar19 + 0x5b870)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5b870)" ( (binary_expression "pcVar19 + 0x5b870" identifier + number_literal) ))))) ;) (expression_statement "iStack_77c = *piVar15;" (assignment_expression "iStack_77c = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "pbStack_774 = pbVar2;" (assignment_expression "pbStack_774 = pbVar2" identifier = identifier) ;) (expression_statement "puStack_770 = auStack_744;" (assignment_expression "puStack_770 = auStack_744" identifier = identifier) ;) (expression_statement "piStack_76c = piVar16;" (assignment_expression "piStack_76c = piVar16" identifier = identifier) ;) (expression_statement "pbStack_768 = pbVar8;" (assignment_expression "pbStack_768 = pbVar8" identifier = identifier) ;) (expression_statement "pcStack_764 = pcVar20;" (assignment_expression "pcStack_764 = pcVar20" identifier = identifier) ;) (expression_statement "FUN_0005bbdc();" (call_expression "FUN_0005bbdc()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar4 = puVar10;" (assignment_expression "puVar4 = puVar10" identifier = identifier) ;) (expression_statement "puVar11 = auStack_804;" (assignment_expression "puVar11 = auStack_804" identifier = identifier) ;) (expression_statement "FUN_0005bd68(uVar5,puVar10,auStack_804);" (call_expression "FUN_0005bd68(uVar5,puVar10,auStack_804)" identifier (argument_list "(uVar5,puVar10,auStack_804)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iStack_77c == *piVar15) {\n    return;\n  }" if (parenthesized_expression "(iStack_77c == *piVar15)" ( (binary_expression "iStack_77c == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(pcStack_810 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_810 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_810 + -0x75d4)" * (cast_expression "(code **)(pcStack_810 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_810 + -0x75d4)" ( (binary_expression "pcStack_810 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = des_decrypt_xdmauth;" (assignment_expression "pcVar20 = des_decrypt_xdmauth" identifier = identifier) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar16 = *(int **)(pcVar19 + 0x5b7c4);" (assignment_expression "piVar16 = *(int **)(pcVar19 + 0x5b7c4)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5b7c4)" * (cast_expression "(int **)(pcVar19 + 0x5b7c4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5b7c4)" ( (binary_expression "pcVar19 + 0x5b7c4" identifier + number_literal) ))))) ;) (expression_statement "iStack_83c = *piVar16;" (assignment_expression "iStack_83c = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "piStack_834 = piVar15;" (assignment_expression "piStack_834 = piVar15" identifier = identifier) ;) (expression_statement "puStack_830 = auStack_804;" (assignment_expression "puStack_830 = auStack_804" identifier = identifier) ;) (expression_statement "uStack_82c = uVar5;" (assignment_expression "uStack_82c = uVar5" identifier = identifier) ;) (expression_statement "puStack_828 = puVar10;" (assignment_expression "puStack_828 = puVar10" identifier = identifier) ;) (expression_statement "pcStack_824 = pcVar20;" (assignment_expression "pcStack_824 = pcVar20" identifier = identifier) ;) (expression_statement "FUN_0005bbdc();" (call_expression "FUN_0005bbdc()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0005bf90(puVar4,puVar11,auStack_8c4);" (call_expression "FUN_0005bf90(puVar4,puVar11,auStack_8c4)" identifier (argument_list "(puVar4,puVar11,auStack_8c4)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iStack_83c == *piVar16) {\n    return;\n  }" if (parenthesized_expression "(iStack_83c == *piVar16)" ( (binary_expression "iStack_83c == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar19 + 0x5b798))();" (call_expression "(**(code **)(pcVar19 + 0x5b798))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x5b798))" ( (pointer_expression "**(code **)(pcVar19 + 0x5b798)" * (pointer_expression "*(code **)(pcVar19 + 0x5b798)" * (cast_expression "(code **)(pcVar19 + 0x5b798)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5b798)" ( (binary_expression "pcVar19 + 0x5b798" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar5 = bignum_rshift(puVar4[2],1);" (assignment_expression "uVar5 = bignum_rshift(puVar4[2],1)" identifier = (call_expression "bignum_rshift(puVar4[2],1)" identifier (argument_list "(puVar4[2],1)" ( (subscript_expression "puVar4[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "puVar4[3] = uVar5;" (assignment_expression "puVar4[3] = uVar5" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = bignum_bitmask(uVar5);" (assignment_expression "uVar5 = bignum_bitmask(uVar5)" identifier = (call_expression "bignum_bitmask(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "puVar4[4] = uVar5;" (assignment_expression "puVar4[4] = uVar5" (subscript_expression "puVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar4[1] = 0;" (assignment_expression "puVar4[1] = 0" (subscript_expression "puVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void des3_decrypt_pubkey(uchar *key,uchar *blk,int len)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  Bignum_conflict pBVar3;\n  DESContext *pDVar4;\n  DESContext *pDVar5;\n  uchar *keydata;\n  uchar *puVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  DESContext *pDVar9;\n  DESContext *pDVar10;\n  uint in_a3;\n  uint len_00;\n  undefined *puVar11;\n  int *piVar12;\n  int *piVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  DESContext DStack_8c4;\n  int iStack_83c;\n  int *piStack_834;\n  DESContext *pDStack_830;\n  uchar *puStack_82c;\n  DESContext *pDStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  DESContext DStack_804;\n  int iStack_77c;\n  DESContext *pDStack_774;\n  DESContext *pDStack_770;\n  int *piStack_76c;\n  DESContext *pDStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  DESContext DStack_744;\n  DESContext DStack_6bc;\n  DESContext DStack_634;\n  int iStack_5ac;\n  DESContext *pDStack_5a8;\n  DESContext *pDStack_5a4;\n  int *piStack_5a0;\n  DESContext *pDStack_59c;\n  byte *pbStack_594;\n  int iStack_590;\n  code *pcStack_58c;\n  code *pcStack_578;\n  DESContext DStack_56c;\n  DESContext DStack_4e4;\n  DESContext DStack_45c;\n  int iStack_3d4;\n  DESContext *pDStack_3d0;\n  DESContext *pDStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  uchar *puStack_3c0;\n  DESContext *pDStack_3bc;\n  DESContext DStack_394;\n  DESContext DStack_30c;\n  DESContext DStack_284;\n  int iStack_1fc;\n  uchar *puStack_1f4;\n  DESContext *pDStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  uchar *puStack_1e4;\n  int iStack_1e0;\n  code *pcStack_1dc;\n  DESContext ourkeys [3];\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  iVar2 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar11 = PTR_LAB_000b87fc + -0x6584;\n  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys);\n  des_key_setup((uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8,\n                (uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |\n                (uint)key[0xe] << 8,ourkeys + 1);\n  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys + 2);\n  pDVar9 = ourkeys;\n  des_3cbc_decrypt(blk,len,ourkeys);\n  puVar6 = &DAT_00000198;\n  pDVar4 = ourkeys;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (iVar2 == *(int *)puVar1) {\n    return;\n  }\n  pcVar16 = des3_encrypt_pubkey;\n  puVar15 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar13 = *(int **)(puVar15 + 0x5bf14);\n  iStack_1fc = *piVar13;\n  iVar2 = *(int *)(puVar15 + 0x5ba28);\n  puStack_1f4 = key;\n  pDStack_1f0 = ourkeys;\n  puStack_1ec = puVar11;\n  puStack_1e4 = blk;\n  iStack_1e0 = len;\n  pcStack_1dc = pcVar16;\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_394);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c);\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_284);\n  pDVar10 = &DStack_394;\n  des_3cbc_encrypt(puVar6,(uint)pDVar9,&DStack_394);\n  pbVar7 = &DAT_00000198;\n  pDVar5 = &DStack_394;\n  (**(code **)(puVar15 + 0x5b554))();\n  if (iStack_1fc == *piVar13) {\n    return;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x5bee8);\n  (*pcVar16)();\n  pcStack_578 = pcVar16 + 0x632c8;\n  piVar12 = *(int **)(pcVar16 + 0x5bd20);\n  iStack_3d4 = *piVar12;\n  iVar14 = *(int *)(pcVar16 + 0x5b834);\n  len_00 = in_a3;\n  pDStack_3d0 = pDVar4;\n  pDStack_3cc = &DStack_394;\n  iStack_3c8 = iVar2 + -0x6584;\n  piStack_3c4 = piVar13;\n  puStack_3c0 = puVar6;\n  pDStack_3bc = pDVar9;\n  des_key_setup((uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |\n                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c);\n  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4);\n  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c);\n  DStack_56c.iv0 =\n       (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] | (uint)pbVar7[2] << 8;\n  DStack_56c.iv1 =\n       (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] | (uint)pbVar7[6] << 8;\n  pDVar9 = &DStack_56c;\n  des_cbc3_decrypt((uchar *)pDVar10,in_a3,&DStack_56c);\n  pbVar8 = &DAT_00000198;\n  pDVar4 = &DStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar12) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_578 + -0x75d4);\n  pcVar17 = des3_encrypt_pubkey_ossh;\n  (*pcVar16)();\n  pcStack_750 = pcVar16 + 0x63070;\n  piVar13 = *(int **)(pcVar16 + 0x5bac8);\n  iStack_5ac = *piVar13;\n  pDStack_5a8 = pDVar5;\n  pDStack_5a4 = &DStack_56c;\n  piStack_5a0 = piVar12;\n  pDStack_59c = pDVar10;\n  pbStack_594 = pbVar7;\n  iStack_590 = iVar14 + -0x6584;\n  pcStack_58c = pcVar17;\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_744);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634);\n  DStack_744.iv0 =\n       (uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3] | (uint)pbVar8[2] << 8;\n  DStack_744.iv1 =\n       (uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7] | (uint)pbVar8[6] << 8;\n  pDVar10 = &DStack_744;\n  des_cbc3_encrypt((uchar *)pDVar9,len_00,&DStack_744);\n  puVar6 = &DAT_00000198;\n  pDVar5 = &DStack_744;\n  (**(code **)(pcStack_750 + -0x7f68))();\n  if (iStack_5ac == *piVar13) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar17 = des_encrypt_xdmauth;\n  (*pcVar16)();\n  pcStack_810 = pcVar16 + 0x62e18;\n  piVar12 = *(int **)(pcVar16 + 0x5b870);\n  iStack_77c = *piVar12;\n  pDStack_774 = pDVar4;\n  pDStack_770 = &DStack_744;\n  piStack_76c = piVar13;\n  pDStack_768 = pDVar9;\n  pcStack_764 = pcVar17;\n  des_keysetup_xdmauth((uchar *)pDVar5,&DStack_804);\n  keydata = puVar6;\n  pDVar4 = pDVar10;\n  pDVar9 = &DStack_804;\n  des_cbc_encrypt(puVar6,(uint)pDVar10,&DStack_804);\n  if (iStack_77c == *piVar12) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar17 = des_decrypt_xdmauth;\n  (*pcVar16)();\n  piVar13 = *(int **)(pcVar16 + 0x5b7c4);\n  iStack_83c = *piVar13;\n  piStack_834 = piVar12;\n  pDStack_830 = &DStack_804;\n  puStack_82c = puVar6;\n  pDStack_828 = pDVar10;\n  pcStack_824 = pcVar17;\n  des_keysetup_xdmauth(keydata,&DStack_8c4);\n  des_cbc_decrypt((uchar *)pDVar4,(uint)pDVar9,&DStack_8c4);\n  if (iStack_83c == *piVar13) {\n    return;\n  }\n  (**(code **)(pcVar16 + 0x5b798))();\n  pBVar3 = bignum_rshift((Bignum_conflict)pDVar4->k0246[2],1);\n  pDVar4->k0246[3] = (word32)pBVar3;\n  pBVar3 = bignum_bitmask(pBVar3);\n  pDVar4->k0246[4] = (word32)pBVar3;\n  pDVar4->k0246[1] = 0;\n  pDVar4->k0246[0] = 0;\n  return;\n}\n\n" (function_definition "void des3_decrypt_pubkey(uchar *key,uchar *blk,int len)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  Bignum_conflict pBVar3;\n  DESContext *pDVar4;\n  DESContext *pDVar5;\n  uchar *keydata;\n  uchar *puVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  DESContext *pDVar9;\n  DESContext *pDVar10;\n  uint in_a3;\n  uint len_00;\n  undefined *puVar11;\n  int *piVar12;\n  int *piVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  DESContext DStack_8c4;\n  int iStack_83c;\n  int *piStack_834;\n  DESContext *pDStack_830;\n  uchar *puStack_82c;\n  DESContext *pDStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  DESContext DStack_804;\n  int iStack_77c;\n  DESContext *pDStack_774;\n  DESContext *pDStack_770;\n  int *piStack_76c;\n  DESContext *pDStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  DESContext DStack_744;\n  DESContext DStack_6bc;\n  DESContext DStack_634;\n  int iStack_5ac;\n  DESContext *pDStack_5a8;\n  DESContext *pDStack_5a4;\n  int *piStack_5a0;\n  DESContext *pDStack_59c;\n  byte *pbStack_594;\n  int iStack_590;\n  code *pcStack_58c;\n  code *pcStack_578;\n  DESContext DStack_56c;\n  DESContext DStack_4e4;\n  DESContext DStack_45c;\n  int iStack_3d4;\n  DESContext *pDStack_3d0;\n  DESContext *pDStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  uchar *puStack_3c0;\n  DESContext *pDStack_3bc;\n  DESContext DStack_394;\n  DESContext DStack_30c;\n  DESContext DStack_284;\n  int iStack_1fc;\n  uchar *puStack_1f4;\n  DESContext *pDStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  uchar *puStack_1e4;\n  int iStack_1e0;\n  code *pcStack_1dc;\n  DESContext ourkeys [3];\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  iVar2 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar11 = PTR_LAB_000b87fc + -0x6584;\n  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys);\n  des_key_setup((uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8,\n                (uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |\n                (uint)key[0xe] << 8,ourkeys + 1);\n  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys + 2);\n  pDVar9 = ourkeys;\n  des_3cbc_decrypt(blk,len,ourkeys);\n  puVar6 = &DAT_00000198;\n  pDVar4 = ourkeys;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (iVar2 == *(int *)puVar1) {\n    return;\n  }\n  pcVar16 = des3_encrypt_pubkey;\n  puVar15 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar13 = *(int **)(puVar15 + 0x5bf14);\n  iStack_1fc = *piVar13;\n  iVar2 = *(int *)(puVar15 + 0x5ba28);\n  puStack_1f4 = key;\n  pDStack_1f0 = ourkeys;\n  puStack_1ec = puVar11;\n  puStack_1e4 = blk;\n  iStack_1e0 = len;\n  pcStack_1dc = pcVar16;\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_394);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c);\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_284);\n  pDVar10 = &DStack_394;\n  des_3cbc_encrypt(puVar6,(uint)pDVar9,&DStack_394);\n  pbVar7 = &DAT_00000198;\n  pDVar5 = &DStack_394;\n  (**(code **)(puVar15 + 0x5b554))();\n  if (iStack_1fc == *piVar13) {\n    return;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x5bee8);\n  (*pcVar16)();\n  pcStack_578 = pcVar16 + 0x632c8;\n  piVar12 = *(int **)(pcVar16 + 0x5bd20);\n  iStack_3d4 = *piVar12;\n  iVar14 = *(int *)(pcVar16 + 0x5b834);\n  len_00 = in_a3;\n  pDStack_3d0 = pDVar4;\n  pDStack_3cc = &DStack_394;\n  iStack_3c8 = iVar2 + -0x6584;\n  piStack_3c4 = piVar13;\n  puStack_3c0 = puVar6;\n  pDStack_3bc = pDVar9;\n  des_key_setup((uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |\n                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c);\n  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4);\n  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c);\n  DStack_56c.iv0 =\n       (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] | (uint)pbVar7[2] << 8;\n  DStack_56c.iv1 =\n       (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] | (uint)pbVar7[6] << 8;\n  pDVar9 = &DStack_56c;\n  des_cbc3_decrypt((uchar *)pDVar10,in_a3,&DStack_56c);\n  pbVar8 = &DAT_00000198;\n  pDVar4 = &DStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar12) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_578 + -0x75d4);\n  pcVar17 = des3_encrypt_pubkey_ossh;\n  (*pcVar16)();\n  pcStack_750 = pcVar16 + 0x63070;\n  piVar13 = *(int **)(pcVar16 + 0x5bac8);\n  iStack_5ac = *piVar13;\n  pDStack_5a8 = pDVar5;\n  pDStack_5a4 = &DStack_56c;\n  piStack_5a0 = piVar12;\n  pDStack_59c = pDVar10;\n  pbStack_594 = pbVar7;\n  iStack_590 = iVar14 + -0x6584;\n  pcStack_58c = pcVar17;\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_744);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634);\n  DStack_744.iv0 =\n       (uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3] | (uint)pbVar8[2] << 8;\n  DStack_744.iv1 =\n       (uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7] | (uint)pbVar8[6] << 8;\n  pDVar10 = &DStack_744;\n  des_cbc3_encrypt((uchar *)pDVar9,len_00,&DStack_744);\n  puVar6 = &DAT_00000198;\n  pDVar5 = &DStack_744;\n  (**(code **)(pcStack_750 + -0x7f68))();\n  if (iStack_5ac == *piVar13) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar17 = des_encrypt_xdmauth;\n  (*pcVar16)();\n  pcStack_810 = pcVar16 + 0x62e18;\n  piVar12 = *(int **)(pcVar16 + 0x5b870);\n  iStack_77c = *piVar12;\n  pDStack_774 = pDVar4;\n  pDStack_770 = &DStack_744;\n  piStack_76c = piVar13;\n  pDStack_768 = pDVar9;\n  pcStack_764 = pcVar17;\n  des_keysetup_xdmauth((uchar *)pDVar5,&DStack_804);\n  keydata = puVar6;\n  pDVar4 = pDVar10;\n  pDVar9 = &DStack_804;\n  des_cbc_encrypt(puVar6,(uint)pDVar10,&DStack_804);\n  if (iStack_77c == *piVar12) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar17 = des_decrypt_xdmauth;\n  (*pcVar16)();\n  piVar13 = *(int **)(pcVar16 + 0x5b7c4);\n  iStack_83c = *piVar13;\n  piStack_834 = piVar12;\n  pDStack_830 = &DStack_804;\n  puStack_82c = puVar6;\n  pDStack_828 = pDVar10;\n  pcStack_824 = pcVar17;\n  des_keysetup_xdmauth(keydata,&DStack_8c4);\n  des_cbc_decrypt((uchar *)pDVar4,(uint)pDVar9,&DStack_8c4);\n  if (iStack_83c == *piVar13) {\n    return;\n  }\n  (**(code **)(pcVar16 + 0x5b798))();\n  pBVar3 = bignum_rshift((Bignum_conflict)pDVar4->k0246[2],1);\n  pDVar4->k0246[3] = (word32)pBVar3;\n  pBVar3 = bignum_bitmask(pBVar3);\n  pDVar4->k0246[4] = (word32)pBVar3;\n  pDVar4->k0246[1] = 0;\n  pDVar4->k0246[0] = 0;\n  return;\n}" primitive_type (function_declarator "des3_decrypt_pubkey(uchar *key,uchar *blk,int len)" identifier (parameter_list "(uchar *key,uchar *blk,int len)" ( (parameter_declaration "uchar *key" type_identifier (pointer_declarator "*key" * identifier)) , (parameter_declaration "uchar *blk" type_identifier (pointer_declarator "*blk" * identifier)) , (parameter_declaration "int len" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  Bignum_conflict pBVar3;\n  DESContext *pDVar4;\n  DESContext *pDVar5;\n  uchar *keydata;\n  uchar *puVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  DESContext *pDVar9;\n  DESContext *pDVar10;\n  uint in_a3;\n  uint len_00;\n  undefined *puVar11;\n  int *piVar12;\n  int *piVar13;\n  int iVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  DESContext DStack_8c4;\n  int iStack_83c;\n  int *piStack_834;\n  DESContext *pDStack_830;\n  uchar *puStack_82c;\n  DESContext *pDStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  DESContext DStack_804;\n  int iStack_77c;\n  DESContext *pDStack_774;\n  DESContext *pDStack_770;\n  int *piStack_76c;\n  DESContext *pDStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  DESContext DStack_744;\n  DESContext DStack_6bc;\n  DESContext DStack_634;\n  int iStack_5ac;\n  DESContext *pDStack_5a8;\n  DESContext *pDStack_5a4;\n  int *piStack_5a0;\n  DESContext *pDStack_59c;\n  byte *pbStack_594;\n  int iStack_590;\n  code *pcStack_58c;\n  code *pcStack_578;\n  DESContext DStack_56c;\n  DESContext DStack_4e4;\n  DESContext DStack_45c;\n  int iStack_3d4;\n  DESContext *pDStack_3d0;\n  DESContext *pDStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  uchar *puStack_3c0;\n  DESContext *pDStack_3bc;\n  DESContext DStack_394;\n  DESContext DStack_30c;\n  DESContext DStack_284;\n  int iStack_1fc;\n  uchar *puStack_1f4;\n  DESContext *pDStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  uchar *puStack_1e4;\n  int iStack_1e0;\n  code *pcStack_1dc;\n  DESContext ourkeys [3];\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  iVar2 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar11 = PTR_LAB_000b87fc + -0x6584;\n  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys);\n  des_key_setup((uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8,\n                (uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |\n                (uint)key[0xe] << 8,ourkeys + 1);\n  des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys + 2);\n  pDVar9 = ourkeys;\n  des_3cbc_decrypt(blk,len,ourkeys);\n  puVar6 = &DAT_00000198;\n  pDVar4 = ourkeys;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (iVar2 == *(int *)puVar1) {\n    return;\n  }\n  pcVar16 = des3_encrypt_pubkey;\n  puVar15 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar13 = *(int **)(puVar15 + 0x5bf14);\n  iStack_1fc = *piVar13;\n  iVar2 = *(int *)(puVar15 + 0x5ba28);\n  puStack_1f4 = key;\n  pDStack_1f0 = ourkeys;\n  puStack_1ec = puVar11;\n  puStack_1e4 = blk;\n  iStack_1e0 = len;\n  pcStack_1dc = pcVar16;\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_394);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c);\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_284);\n  pDVar10 = &DStack_394;\n  des_3cbc_encrypt(puVar6,(uint)pDVar9,&DStack_394);\n  pbVar7 = &DAT_00000198;\n  pDVar5 = &DStack_394;\n  (**(code **)(puVar15 + 0x5b554))();\n  if (iStack_1fc == *piVar13) {\n    return;\n  }\n  pcVar16 = *(code **)(puVar15 + 0x5bee8);\n  (*pcVar16)();\n  pcStack_578 = pcVar16 + 0x632c8;\n  piVar12 = *(int **)(pcVar16 + 0x5bd20);\n  iStack_3d4 = *piVar12;\n  iVar14 = *(int *)(pcVar16 + 0x5b834);\n  len_00 = in_a3;\n  pDStack_3d0 = pDVar4;\n  pDStack_3cc = &DStack_394;\n  iStack_3c8 = iVar2 + -0x6584;\n  piStack_3c4 = piVar13;\n  puStack_3c0 = puVar6;\n  pDStack_3bc = pDVar9;\n  des_key_setup((uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |\n                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c);\n  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4);\n  des_key_setup((uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c);\n  DStack_56c.iv0 =\n       (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] | (uint)pbVar7[2] << 8;\n  DStack_56c.iv1 =\n       (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] | (uint)pbVar7[6] << 8;\n  pDVar9 = &DStack_56c;\n  des_cbc3_decrypt((uchar *)pDVar10,in_a3,&DStack_56c);\n  pbVar8 = &DAT_00000198;\n  pDVar4 = &DStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar12) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_578 + -0x75d4);\n  pcVar17 = des3_encrypt_pubkey_ossh;\n  (*pcVar16)();\n  pcStack_750 = pcVar16 + 0x63070;\n  piVar13 = *(int **)(pcVar16 + 0x5bac8);\n  iStack_5ac = *piVar13;\n  pDStack_5a8 = pDVar5;\n  pDStack_5a4 = &DStack_56c;\n  piStack_5a0 = piVar12;\n  pDStack_59c = pDVar10;\n  pbStack_594 = pbVar7;\n  iStack_590 = iVar14 + -0x6584;\n  pcStack_58c = pcVar17;\n  des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_744);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc);\n  des_key_setup((uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634);\n  DStack_744.iv0 =\n       (uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3] | (uint)pbVar8[2] << 8;\n  DStack_744.iv1 =\n       (uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7] | (uint)pbVar8[6] << 8;\n  pDVar10 = &DStack_744;\n  des_cbc3_encrypt((uchar *)pDVar9,len_00,&DStack_744);\n  puVar6 = &DAT_00000198;\n  pDVar5 = &DStack_744;\n  (**(code **)(pcStack_750 + -0x7f68))();\n  if (iStack_5ac == *piVar13) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar17 = des_encrypt_xdmauth;\n  (*pcVar16)();\n  pcStack_810 = pcVar16 + 0x62e18;\n  piVar12 = *(int **)(pcVar16 + 0x5b870);\n  iStack_77c = *piVar12;\n  pDStack_774 = pDVar4;\n  pDStack_770 = &DStack_744;\n  piStack_76c = piVar13;\n  pDStack_768 = pDVar9;\n  pcStack_764 = pcVar17;\n  des_keysetup_xdmauth((uchar *)pDVar5,&DStack_804);\n  keydata = puVar6;\n  pDVar4 = pDVar10;\n  pDVar9 = &DStack_804;\n  des_cbc_encrypt(puVar6,(uint)pDVar10,&DStack_804);\n  if (iStack_77c == *piVar12) {\n    return;\n  }\n  pcVar16 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar17 = des_decrypt_xdmauth;\n  (*pcVar16)();\n  piVar13 = *(int **)(pcVar16 + 0x5b7c4);\n  iStack_83c = *piVar13;\n  piStack_834 = piVar12;\n  pDStack_830 = &DStack_804;\n  puStack_82c = puVar6;\n  pDStack_828 = pDVar10;\n  pcStack_824 = pcVar17;\n  des_keysetup_xdmauth(keydata,&DStack_8c4);\n  des_cbc_decrypt((uchar *)pDVar4,(uint)pDVar9,&DStack_8c4);\n  if (iStack_83c == *piVar13) {\n    return;\n  }\n  (**(code **)(pcVar16 + 0x5b798))();\n  pBVar3 = bignum_rshift((Bignum_conflict)pDVar4->k0246[2],1);\n  pDVar4->k0246[3] = (word32)pBVar3;\n  pBVar3 = bignum_bitmask(pBVar3);\n  pDVar4->k0246[4] = (word32)pBVar3;\n  pDVar4->k0246[1] = 0;\n  pDVar4->k0246[0] = 0;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "Bignum_conflict pBVar3;" type_identifier identifier ;) (declaration "DESContext *pDVar4;" type_identifier (pointer_declarator "*pDVar4" * identifier) ;) (declaration "DESContext *pDVar5;" type_identifier (pointer_declarator "*pDVar5" * identifier) ;) (declaration "uchar *keydata;" type_identifier (pointer_declarator "*keydata" * identifier) ;) (declaration "uchar *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "DESContext *pDVar9;" type_identifier (pointer_declarator "*pDVar9" * identifier) ;) (declaration "DESContext *pDVar10;" type_identifier (pointer_declarator "*pDVar10" * identifier) ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "uint len_00;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "DESContext DStack_8c4;" type_identifier identifier ;) (declaration "int iStack_83c;" primitive_type identifier ;) (declaration "int *piStack_834;" primitive_type (pointer_declarator "*piStack_834" * identifier) ;) (declaration "DESContext *pDStack_830;" type_identifier (pointer_declarator "*pDStack_830" * identifier) ;) (declaration "uchar *puStack_82c;" type_identifier (pointer_declarator "*puStack_82c" * identifier) ;) (declaration "DESContext *pDStack_828;" type_identifier (pointer_declarator "*pDStack_828" * identifier) ;) (declaration "code *pcStack_824;" type_identifier (pointer_declarator "*pcStack_824" * identifier) ;) (declaration "code *pcStack_810;" type_identifier (pointer_declarator "*pcStack_810" * identifier) ;) (declaration "DESContext DStack_804;" type_identifier identifier ;) (declaration "int iStack_77c;" primitive_type identifier ;) (declaration "DESContext *pDStack_774;" type_identifier (pointer_declarator "*pDStack_774" * identifier) ;) (declaration "DESContext *pDStack_770;" type_identifier (pointer_declarator "*pDStack_770" * identifier) ;) (declaration "int *piStack_76c;" primitive_type (pointer_declarator "*piStack_76c" * identifier) ;) (declaration "DESContext *pDStack_768;" type_identifier (pointer_declarator "*pDStack_768" * identifier) ;) (declaration "code *pcStack_764;" type_identifier (pointer_declarator "*pcStack_764" * identifier) ;) (declaration "code *pcStack_750;" type_identifier (pointer_declarator "*pcStack_750" * identifier) ;) (declaration "DESContext DStack_744;" type_identifier identifier ;) (declaration "DESContext DStack_6bc;" type_identifier identifier ;) (declaration "DESContext DStack_634;" type_identifier identifier ;) (declaration "int iStack_5ac;" primitive_type identifier ;) (declaration "DESContext *pDStack_5a8;" type_identifier (pointer_declarator "*pDStack_5a8" * identifier) ;) (declaration "DESContext *pDStack_5a4;" type_identifier (pointer_declarator "*pDStack_5a4" * identifier) ;) (declaration "int *piStack_5a0;" primitive_type (pointer_declarator "*piStack_5a0" * identifier) ;) (declaration "DESContext *pDStack_59c;" type_identifier (pointer_declarator "*pDStack_59c" * identifier) ;) (declaration "byte *pbStack_594;" type_identifier (pointer_declarator "*pbStack_594" * identifier) ;) (declaration "int iStack_590;" primitive_type identifier ;) (declaration "code *pcStack_58c;" type_identifier (pointer_declarator "*pcStack_58c" * identifier) ;) (declaration "code *pcStack_578;" type_identifier (pointer_declarator "*pcStack_578" * identifier) ;) (declaration "DESContext DStack_56c;" type_identifier identifier ;) (declaration "DESContext DStack_4e4;" type_identifier identifier ;) (declaration "DESContext DStack_45c;" type_identifier identifier ;) (declaration "int iStack_3d4;" primitive_type identifier ;) (declaration "DESContext *pDStack_3d0;" type_identifier (pointer_declarator "*pDStack_3d0" * identifier) ;) (declaration "DESContext *pDStack_3cc;" type_identifier (pointer_declarator "*pDStack_3cc" * identifier) ;) (declaration "int iStack_3c8;" primitive_type identifier ;) (declaration "int *piStack_3c4;" primitive_type (pointer_declarator "*piStack_3c4" * identifier) ;) (declaration "uchar *puStack_3c0;" type_identifier (pointer_declarator "*puStack_3c0" * identifier) ;) (declaration "DESContext *pDStack_3bc;" type_identifier (pointer_declarator "*pDStack_3bc" * identifier) ;) (declaration "DESContext DStack_394;" type_identifier identifier ;) (declaration "DESContext DStack_30c;" type_identifier identifier ;) (declaration "DESContext DStack_284;" type_identifier identifier ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "uchar *puStack_1f4;" type_identifier (pointer_declarator "*puStack_1f4" * identifier) ;) (declaration "DESContext *pDStack_1f0;" type_identifier (pointer_declarator "*pDStack_1f0" * identifier) ;) (declaration "undefined *puStack_1ec;" type_identifier (pointer_declarator "*puStack_1ec" * identifier) ;) (declaration "undefined *puStack_1e8;" type_identifier (pointer_declarator "*puStack_1e8" * identifier) ;) (declaration "uchar *puStack_1e4;" type_identifier (pointer_declarator "*puStack_1e4" * identifier) ;) (declaration "int iStack_1e0;" primitive_type identifier ;) (declaration "code *pcStack_1dc;" type_identifier (pointer_declarator "*pcStack_1dc" * identifier) ;) (declaration "DESContext ourkeys [3];" type_identifier (array_declarator "ourkeys [3]" identifier [ number_literal ]) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000b8ce8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b8ce8" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "iVar2 = *(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 "puVar11 = PTR_LAB_000b87fc + -0x6584;" (assignment_expression "puVar11 = PTR_LAB_000b87fc + -0x6584" identifier = (binary_expression "PTR_LAB_000b87fc + -0x6584" identifier + number_literal)) ;) (expression_statement "des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys);" (call_expression "des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys)" identifier (argument_list "((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys)" ( (binary_expression "(uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8" (binary_expression "(uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3]" (binary_expression "(uint)*key << 0x18 | (uint)key[1] << 0x10" (binary_expression "(uint)*key << 0x18" (binary_expression "(uint)*key" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)key[1] << 0x10" (cast_expression "(uint)key[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)key[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[3]" identifier [ number_literal ]))) | (binary_expression "(uint)key[2] << 8" (cast_expression "(uint)key[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8" (binary_expression "(uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7]" (binary_expression "(uint)key[4] << 0x18 | (uint)key[5] << 0x10" (binary_expression "(uint)key[4] << 0x18" (cast_expression "(uint)key[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)key[5] << 0x10" (cast_expression "(uint)key[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)key[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[7]" identifier [ number_literal ]))) | (binary_expression "(uint)key[6] << 8" (cast_expression "(uint)key[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "des_key_setup((uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8,\n                (uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |\n                (uint)key[0xe] << 8,ourkeys + 1);" (call_expression "des_key_setup((uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8,\n                (uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |\n                (uint)key[0xe] << 8,ourkeys + 1)" identifier (argument_list "((uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8,\n                (uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |\n                (uint)key[0xe] << 8,ourkeys + 1)" ( (binary_expression "(uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb] | (uint)key[10] << 8" (binary_expression "(uint)key[8] << 0x18 | (uint)key[9] << 0x10 | (uint)key[0xb]" (binary_expression "(uint)key[8] << 0x18 | (uint)key[9] << 0x10" (binary_expression "(uint)key[8] << 0x18" (cast_expression "(uint)key[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)key[9] << 0x10" (cast_expression "(uint)key[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)key[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)key[10] << 8" (cast_expression "(uint)key[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf] |\n                (uint)key[0xe] << 8" (binary_expression "(uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10 | (uint)key[0xf]" (binary_expression "(uint)key[0xc] << 0x18 | (uint)key[0xd] << 0x10" (binary_expression "(uint)key[0xc] << 0x18" (cast_expression "(uint)key[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)key[0xd] << 0x10" (cast_expression "(uint)key[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)key[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)key[0xe] << 8" (cast_expression "(uint)key[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xe]" identifier [ number_literal ])) << number_literal)) , (binary_expression "ourkeys + 1" identifier + number_literal) ))) ;) (expression_statement "des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys + 2);" (call_expression "des_key_setup((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys + 2)" identifier (argument_list "((uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8,\n                (uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8,\n                ourkeys + 2)" ( (binary_expression "(uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3] | (uint)key[2] << 8" (binary_expression "(uint)*key << 0x18 | (uint)key[1] << 0x10 | (uint)key[3]" (binary_expression "(uint)*key << 0x18 | (uint)key[1] << 0x10" (binary_expression "(uint)*key << 0x18" (binary_expression "(uint)*key" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)key[1] << 0x10" (cast_expression "(uint)key[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)key[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[3]" identifier [ number_literal ]))) | (binary_expression "(uint)key[2] << 8" (cast_expression "(uint)key[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7] | (uint)key[6] << 8" (binary_expression "(uint)key[4] << 0x18 | (uint)key[5] << 0x10 | (uint)key[7]" (binary_expression "(uint)key[4] << 0x18 | (uint)key[5] << 0x10" (binary_expression "(uint)key[4] << 0x18" (cast_expression "(uint)key[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)key[5] << 0x10" (cast_expression "(uint)key[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)key[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[7]" identifier [ number_literal ]))) | (binary_expression "(uint)key[6] << 8" (cast_expression "(uint)key[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[6]" identifier [ number_literal ])) << number_literal)) , (binary_expression "ourkeys + 2" identifier + number_literal) ))) ;) (expression_statement "pDVar9 = ourkeys;" (assignment_expression "pDVar9 = ourkeys" identifier = identifier) ;) (expression_statement "des_3cbc_decrypt(blk,len,ourkeys);" (call_expression "des_3cbc_decrypt(blk,len,ourkeys)" identifier (argument_list "(blk,len,ourkeys)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar6 = &DAT_00000198;" (assignment_expression "puVar6 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pDVar4 = ourkeys;" (assignment_expression "pDVar4 = ourkeys" identifier = identifier) ;) (expression_statement "(*(code *)PTR_smemclr_000b8328)();" (call_expression "(*(code *)PTR_smemclr_000b8328)()" (parenthesized_expression "(*(code *)PTR_smemclr_000b8328)" ( (pointer_expression "*(code *)PTR_smemclr_000b8328" * (cast_expression "(code *)PTR_smemclr_000b8328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar2 == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == *(int *)puVar1)" ( (binary_expression "iVar2 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar16 = des3_encrypt_pubkey;" (assignment_expression "pcVar16 = des3_encrypt_pubkey" identifier = identifier) ;) (expression_statement "puVar15 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar15 = 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 "puStack_1e8 = puVar1;" (assignment_expression "puStack_1e8 = puVar1" identifier = identifier) ;) (expression_statement "piVar13 = *(int **)(puVar15 + 0x5bf14);" (assignment_expression "piVar13 = *(int **)(puVar15 + 0x5bf14)" identifier = (pointer_expression "*(int **)(puVar15 + 0x5bf14)" * (cast_expression "(int **)(puVar15 + 0x5bf14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x5bf14)" ( (binary_expression "puVar15 + 0x5bf14" identifier + number_literal) ))))) ;) (expression_statement "iStack_1fc = *piVar13;" (assignment_expression "iStack_1fc = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "iVar2 = *(int *)(puVar15 + 0x5ba28);" (assignment_expression "iVar2 = *(int *)(puVar15 + 0x5ba28)" identifier = (pointer_expression "*(int *)(puVar15 + 0x5ba28)" * (cast_expression "(int *)(puVar15 + 0x5ba28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x5ba28)" ( (binary_expression "puVar15 + 0x5ba28" identifier + number_literal) ))))) ;) (expression_statement "puStack_1f4 = key;" (assignment_expression "puStack_1f4 = key" identifier = identifier) ;) (expression_statement "pDStack_1f0 = ourkeys;" (assignment_expression "pDStack_1f0 = ourkeys" identifier = identifier) ;) (expression_statement "puStack_1ec = puVar11;" (assignment_expression "puStack_1ec = puVar11" identifier = identifier) ;) (expression_statement "puStack_1e4 = blk;" (assignment_expression "puStack_1e4 = blk" identifier = identifier) ;) (expression_statement "iStack_1e0 = len;" (assignment_expression "iStack_1e0 = len" identifier = identifier) ;) (expression_statement "pcStack_1dc = pcVar16;" (assignment_expression "pcStack_1dc = pcVar16" identifier = identifier) ;) (expression_statement "des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_394);" (call_expression "des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_394)" identifier (argument_list "((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_394)" ( (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0]" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18" (binary_expression "(uint)*(byte *)pDVar4->k0246" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pDVar4->k0246" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar4->k0246" identifier -> field_identifier))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 1)" ( (binary_expression "(int)pDVar4->k0246 + 1" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (cast_expression "(uint)(byte)pDVar4->k0246[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pDVar4->k0246[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pDVar4->k0246[0]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ])))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 2)" ( (binary_expression "(int)pDVar4->k0246 + 2" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 1)" ( (binary_expression "pDVar4->k0246 + 1" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 5)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 5)" ( (binary_expression "(int)pDVar4->k0246 + 5" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 7)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 7)" ( (binary_expression "(int)pDVar4->k0246 + 7" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 6)" ( (binary_expression "(int)pDVar4->k0246 + 6" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_394" & identifier) ))) ;) (expression_statement "des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c);" (call_expression "des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c)" identifier (argument_list "((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c)" ( (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 2)" ( (binary_expression "pDVar4->k0246 + 2" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 9)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 9)" ( (binary_expression "(int)pDVar4->k0246 + 9" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xb)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xb)" ( (binary_expression "(int)pDVar4->k0246 + 0xb" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 10) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 10)" ( (binary_expression "(int)pDVar4->k0246 + 10" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 3)" ( (binary_expression "pDVar4->k0246 + 3" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xd)" ( (binary_expression "(int)pDVar4->k0246 + 0xd" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xf)" ( (binary_expression "(int)pDVar4->k0246 + 0xf" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xe)" ( (binary_expression "(int)pDVar4->k0246 + 0xe" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_30c" & identifier) ))) ;) (expression_statement "des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_284);" (call_expression "des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_284)" identifier (argument_list "((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_284)" ( (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0]" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18" (binary_expression "(uint)*(byte *)pDVar4->k0246" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pDVar4->k0246" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar4->k0246" identifier -> field_identifier))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 1)" ( (binary_expression "(int)pDVar4->k0246 + 1" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (cast_expression "(uint)(byte)pDVar4->k0246[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pDVar4->k0246[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pDVar4->k0246[0]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ])))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 2)" ( (binary_expression "(int)pDVar4->k0246 + 2" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 1)" ( (binary_expression "pDVar4->k0246 + 1" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 5)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 5)" ( (binary_expression "(int)pDVar4->k0246 + 5" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 7)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 7)" ( (binary_expression "(int)pDVar4->k0246 + 7" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 6)" ( (binary_expression "(int)pDVar4->k0246 + 6" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_284" & identifier) ))) ;) (expression_statement "pDVar10 = &DStack_394;" (assignment_expression "pDVar10 = &DStack_394" identifier = (pointer_expression "&DStack_394" & identifier)) ;) (expression_statement "des_3cbc_encrypt(puVar6,(uint)pDVar9,&DStack_394);" (call_expression "des_3cbc_encrypt(puVar6,(uint)pDVar9,&DStack_394)" identifier (argument_list "(puVar6,(uint)pDVar9,&DStack_394)" ( identifier , (cast_expression "(uint)pDVar9" ( (type_descriptor "uint" type_identifier) ) identifier) , (pointer_expression "&DStack_394" & identifier) ))) ;) (expression_statement "pbVar7 = &DAT_00000198;" (assignment_expression "pbVar7 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pDVar5 = &DStack_394;" (assignment_expression "pDVar5 = &DStack_394" identifier = (pointer_expression "&DStack_394" & identifier)) ;) (expression_statement "(**(code **)(puVar15 + 0x5b554))();" (call_expression "(**(code **)(puVar15 + 0x5b554))()" (parenthesized_expression "(**(code **)(puVar15 + 0x5b554))" ( (pointer_expression "**(code **)(puVar15 + 0x5b554)" * (pointer_expression "*(code **)(puVar15 + 0x5b554)" * (cast_expression "(code **)(puVar15 + 0x5b554)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x5b554)" ( (binary_expression "puVar15 + 0x5b554" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_1fc == *piVar13) {\n    return;\n  }" if (parenthesized_expression "(iStack_1fc == *piVar13)" ( (binary_expression "iStack_1fc == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x5bee8);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x5bee8)" identifier = (pointer_expression "*(code **)(puVar15 + 0x5bee8)" * (cast_expression "(code **)(puVar15 + 0x5bee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x5bee8)" ( (binary_expression "puVar15 + 0x5bee8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_578 = pcVar16 + 0x632c8;" (assignment_expression "pcStack_578 = pcVar16 + 0x632c8" identifier = (binary_expression "pcVar16 + 0x632c8" identifier + number_literal)) ;) (expression_statement "piVar12 = *(int **)(pcVar16 + 0x5bd20);" (assignment_expression "piVar12 = *(int **)(pcVar16 + 0x5bd20)" identifier = (pointer_expression "*(int **)(pcVar16 + 0x5bd20)" * (cast_expression "(int **)(pcVar16 + 0x5bd20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x5bd20)" ( (binary_expression "pcVar16 + 0x5bd20" identifier + number_literal) ))))) ;) (expression_statement "iStack_3d4 = *piVar12;" (assignment_expression "iStack_3d4 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "iVar14 = *(int *)(pcVar16 + 0x5b834);" (assignment_expression "iVar14 = *(int *)(pcVar16 + 0x5b834)" identifier = (pointer_expression "*(int *)(pcVar16 + 0x5b834)" * (cast_expression "(int *)(pcVar16 + 0x5b834)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x5b834)" ( (binary_expression "pcVar16 + 0x5b834" identifier + number_literal) ))))) ;) (expression_statement "len_00 = in_a3;" (assignment_expression "len_00 = in_a3" identifier = identifier) ;) (expression_statement "pDStack_3d0 = pDVar4;" (assignment_expression "pDStack_3d0 = pDVar4" identifier = identifier) ;) (expression_statement "pDStack_3cc = &DStack_394;" (assignment_expression "pDStack_3cc = &DStack_394" identifier = (pointer_expression "&DStack_394" & identifier)) ;) (expression_statement "iStack_3c8 = iVar2 + -0x6584;" (assignment_expression "iStack_3c8 = iVar2 + -0x6584" identifier = (binary_expression "iVar2 + -0x6584" identifier + number_literal)) ;) (expression_statement "piStack_3c4 = piVar13;" (assignment_expression "piStack_3c4 = piVar13" identifier = identifier) ;) (expression_statement "puStack_3c0 = puVar6;" (assignment_expression "puStack_3c0 = puVar6" identifier = identifier) ;) (expression_statement "pDStack_3bc = pDVar9;" (assignment_expression "pDStack_3bc = pDVar9" identifier = identifier) ;) (expression_statement "des_key_setup((uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |\n                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c);" (call_expression "des_key_setup((uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |\n                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c)" identifier (argument_list "((uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |\n                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c)" ( (binary_expression "(uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0] |\n                (uint)*(byte *)((int)pDVar5->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10 | (uint)(byte)pDVar5->k0246[0]" (binary_expression "(uint)*(byte *)pDVar5->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)pDVar5->k0246 << 0x18" (binary_expression "(uint)*(byte *)pDVar5->k0246" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pDVar5->k0246" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar5->k0246" identifier -> field_identifier))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 1)" ( (binary_expression "(int)pDVar5->k0246 + 1" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (cast_expression "(uint)(byte)pDVar5->k0246[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pDVar5->k0246[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pDVar5->k0246[0]" (field_expression "pDVar5->k0246" identifier -> field_identifier) [ number_literal ])))) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 2)" ( (binary_expression "(int)pDVar5->k0246 + 2" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 7)" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 1) << 0x18" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar5->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar5->k0246 + 1)" ( (binary_expression "pDVar5->k0246 + 1" (field_expression "pDVar5->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 5)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 5)" ( (binary_expression "(int)pDVar5->k0246 + 5" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 7)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 7)" ( (binary_expression "(int)pDVar5->k0246 + 7" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 6)" ( (binary_expression "(int)pDVar5->k0246 + 6" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_56c" & identifier) ))) ;) (expression_statement "des_key_setup((uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4);" (call_expression "des_key_setup((uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4)" identifier (argument_list "((uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4)" ( (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 10) << 8" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xb)" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 2) << 0x18" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar5->k0246 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar5->k0246 + 2)" ( (binary_expression "pDVar5->k0246 + 2" (field_expression "pDVar5->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 9) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 9)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 9)" ( (binary_expression "(int)pDVar5->k0246 + 9" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0xb)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0xb)" ( (binary_expression "(int)pDVar5->k0246 + 0xb" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 10) << 8" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 10)" ( (binary_expression "(int)pDVar5->k0246 + 10" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xf)" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 3) << 0x18" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar5->k0246 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar5->k0246 + 3)" ( (binary_expression "pDVar5->k0246 + 3" (field_expression "pDVar5->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0xd) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0xd)" ( (binary_expression "(int)pDVar5->k0246 + 0xd" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0xf)" ( (binary_expression "(int)pDVar5->k0246 + 0xf" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0xe) << 8" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0xe)" ( (binary_expression "(int)pDVar5->k0246 + 0xe" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_4e4" & identifier) ))) ;) (expression_statement "des_key_setup((uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c);" (call_expression "des_key_setup((uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c)" identifier (argument_list "((uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c)" ( (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x13)" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 4) << 0x18" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar5->k0246 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar5->k0246 + 4)" ( (binary_expression "pDVar5->k0246 + 4" (field_expression "pDVar5->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0x11)" ( (binary_expression "(int)pDVar5->k0246 + 0x11" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x13)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0x13)" ( (binary_expression "(int)pDVar5->k0246 + 0x13" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x12) << 8" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0x12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0x12)" ( (binary_expression "(int)pDVar5->k0246 + 0x12" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x17)" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 5) << 0x18" (binary_expression "(uint)*(byte *)(pDVar5->k0246 + 5)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar5->k0246 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar5->k0246 + 5)" ( (binary_expression "pDVar5->k0246 + 5" (field_expression "pDVar5->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x15) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x15)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0x15)" ( (binary_expression "(int)pDVar5->k0246 + 0x15" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x17)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0x17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0x17)" ( (binary_expression "(int)pDVar5->k0246 + 0x17" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x16) << 8" (binary_expression "(uint)*(byte *)((int)pDVar5->k0246 + 0x16)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar5->k0246 + 0x16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar5->k0246 + 0x16)" ( (binary_expression "(int)pDVar5->k0246 + 0x16" (cast_expression "(int)pDVar5->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar5->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_45c" & identifier) ))) ;) (expression_statement "DStack_56c.iv0 =\n       (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] | (uint)pbVar7[2] << 8;" (assignment_expression "DStack_56c.iv0 =\n       (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] | (uint)pbVar7[2] << 8" (field_expression "DStack_56c.iv0" identifier . field_identifier) = (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] | (uint)pbVar7[2] << 8" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3]" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10" (binary_expression "(uint)*pbVar7 << 0x18" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar7[1] << 0x10" (cast_expression "(uint)pbVar7[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar7[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar7[2] << 8" (cast_expression "(uint)pbVar7[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "DStack_56c.iv1 =\n       (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] | (uint)pbVar7[6] << 8;" (assignment_expression "DStack_56c.iv1 =\n       (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] | (uint)pbVar7[6] << 8" (field_expression "DStack_56c.iv1" identifier . field_identifier) = (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] | (uint)pbVar7[6] << 8" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7]" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10" (binary_expression "(uint)pbVar7[4] << 0x18" (cast_expression "(uint)pbVar7[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar7[5] << 0x10" (cast_expression "(uint)pbVar7[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar7[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar7[6] << 8" (cast_expression "(uint)pbVar7[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "pDVar9 = &DStack_56c;" (assignment_expression "pDVar9 = &DStack_56c" identifier = (pointer_expression "&DStack_56c" & identifier)) ;) (expression_statement "des_cbc3_decrypt((uchar *)pDVar10,in_a3,&DStack_56c);" (call_expression "des_cbc3_decrypt((uchar *)pDVar10,in_a3,&DStack_56c)" identifier (argument_list "((uchar *)pDVar10,in_a3,&DStack_56c)" ( (cast_expression "(uchar *)pDVar10" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&DStack_56c" & identifier) ))) ;) (expression_statement "pbVar8 = &DAT_00000198;" (assignment_expression "pbVar8 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pDVar4 = &DStack_56c;" (assignment_expression "pDVar4 = &DStack_56c" identifier = (pointer_expression "&DStack_56c" & identifier)) ;) (expression_statement "(**(code **)(pcStack_578 + -0x7f68))();" (call_expression "(**(code **)(pcStack_578 + -0x7f68))()" (parenthesized_expression "(**(code **)(pcStack_578 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_578 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_578 + -0x7f68)" * (cast_expression "(code **)(pcStack_578 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_578 + -0x7f68)" ( (binary_expression "pcStack_578 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_3d4 == *piVar12) {\n    return;\n  }" if (parenthesized_expression "(iStack_3d4 == *piVar12)" ( (binary_expression "iStack_3d4 == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar16 = *(code **)(pcStack_578 + -0x75d4);" (assignment_expression "pcVar16 = *(code **)(pcStack_578 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_578 + -0x75d4)" * (cast_expression "(code **)(pcStack_578 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_578 + -0x75d4)" ( (binary_expression "pcStack_578 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar17 = des3_encrypt_pubkey_ossh;" (assignment_expression "pcVar17 = des3_encrypt_pubkey_ossh" identifier = identifier) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_750 = pcVar16 + 0x63070;" (assignment_expression "pcStack_750 = pcVar16 + 0x63070" identifier = (binary_expression "pcVar16 + 0x63070" identifier + number_literal)) ;) (expression_statement "piVar13 = *(int **)(pcVar16 + 0x5bac8);" (assignment_expression "piVar13 = *(int **)(pcVar16 + 0x5bac8)" identifier = (pointer_expression "*(int **)(pcVar16 + 0x5bac8)" * (cast_expression "(int **)(pcVar16 + 0x5bac8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x5bac8)" ( (binary_expression "pcVar16 + 0x5bac8" identifier + number_literal) ))))) ;) (expression_statement "iStack_5ac = *piVar13;" (assignment_expression "iStack_5ac = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "pDStack_5a8 = pDVar5;" (assignment_expression "pDStack_5a8 = pDVar5" identifier = identifier) ;) (expression_statement "pDStack_5a4 = &DStack_56c;" (assignment_expression "pDStack_5a4 = &DStack_56c" identifier = (pointer_expression "&DStack_56c" & identifier)) ;) (expression_statement "piStack_5a0 = piVar12;" (assignment_expression "piStack_5a0 = piVar12" identifier = identifier) ;) (expression_statement "pDStack_59c = pDVar10;" (assignment_expression "pDStack_59c = pDVar10" identifier = identifier) ;) (expression_statement "pbStack_594 = pbVar7;" (assignment_expression "pbStack_594 = pbVar7" identifier = identifier) ;) (expression_statement "iStack_590 = iVar14 + -0x6584;" (assignment_expression "iStack_590 = iVar14 + -0x6584" identifier = (binary_expression "iVar14 + -0x6584" identifier + number_literal)) ;) (expression_statement "pcStack_58c = pcVar17;" (assignment_expression "pcStack_58c = pcVar17" identifier = identifier) ;) (expression_statement "des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_744);" (call_expression "des_key_setup((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_744)" identifier (argument_list "((uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8,&DStack_744)" ( (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0] |\n                (uint)*(byte *)((int)pDVar4->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10 | (uint)(byte)pDVar4->k0246[0]" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)pDVar4->k0246 << 0x18" (binary_expression "(uint)*(byte *)pDVar4->k0246" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pDVar4->k0246" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar4->k0246" identifier -> field_identifier))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 1) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 1)" ( (binary_expression "(int)pDVar4->k0246 + 1" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (cast_expression "(uint)(byte)pDVar4->k0246[0]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pDVar4->k0246[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pDVar4->k0246[0]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ])))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 2) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 2)" ( (binary_expression "(int)pDVar4->k0246 + 2" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 7)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 1)" ( (binary_expression "pDVar4->k0246 + 1" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 5) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 5)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 5)" ( (binary_expression "(int)pDVar4->k0246 + 5" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 7)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 7)" ( (binary_expression "(int)pDVar4->k0246 + 7" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 6) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 6)" ( (binary_expression "(int)pDVar4->k0246 + 6" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_744" & identifier) ))) ;) (expression_statement "des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc);" (call_expression "des_key_setup((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc)" identifier (argument_list "((uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc)" ( (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 10) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xb)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 2)" ( (binary_expression "pDVar4->k0246 + 2" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 9) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 9)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 9)" ( (binary_expression "(int)pDVar4->k0246 + 9" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xb)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xb)" ( (binary_expression "(int)pDVar4->k0246 + 0xb" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 10) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 10)" ( (binary_expression "(int)pDVar4->k0246 + 10" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xf)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 3)" ( (binary_expression "pDVar4->k0246 + 3" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xd) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xd)" ( (binary_expression "(int)pDVar4->k0246 + 0xd" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xf)" ( (binary_expression "(int)pDVar4->k0246 + 0xf" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xe) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0xe)" ( (binary_expression "(int)pDVar4->k0246 + 0xe" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_6bc" & identifier) ))) ;) (expression_statement "des_key_setup((uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634);" (call_expression "des_key_setup((uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634)" identifier (argument_list "((uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8,\n                (uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634)" ( (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x13)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 4) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 4) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 4)" ( (binary_expression "pDVar4->k0246 + 4" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0x11)" ( (binary_expression "(int)pDVar4->k0246 + 0x11" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x13)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0x13)" ( (binary_expression "(int)pDVar4->k0246 + 0x13" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x12) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x12)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0x12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0x12)" ( (binary_expression "(int)pDVar4->k0246 + 0x12" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17) |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x17)" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 5) << 0x18 |\n                (uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 5) << 0x18" (binary_expression "(uint)*(byte *)(pDVar4->k0246 + 5)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pDVar4->k0246 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->k0246 + 5)" ( (binary_expression "pDVar4->k0246 + 5" (field_expression "pDVar4->k0246" identifier -> field_identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x15) << 0x10" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x15)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0x15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0x15)" ( (binary_expression "(int)pDVar4->k0246 + 0x15" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x17)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0x17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0x17)" ( (binary_expression "(int)pDVar4->k0246 + 0x17" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) ))))) | (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x16) << 8" (binary_expression "(uint)*(byte *)((int)pDVar4->k0246 + 0x16)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pDVar4->k0246 + 0x16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar4->k0246 + 0x16)" ( (binary_expression "(int)pDVar4->k0246 + 0x16" (cast_expression "(int)pDVar4->k0246" ( (type_descriptor "int" primitive_type) ) (field_expression "pDVar4->k0246" identifier -> field_identifier)) + number_literal) )))) << number_literal)) , (pointer_expression "&DStack_634" & identifier) ))) ;) (expression_statement "DStack_744.iv0 =\n       (uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3] | (uint)pbVar8[2] << 8;" (assignment_expression "DStack_744.iv0 =\n       (uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3] | (uint)pbVar8[2] << 8" (field_expression "DStack_744.iv0" identifier . field_identifier) = (binary_expression "(uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3] | (uint)pbVar8[2] << 8" (binary_expression "(uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10 | (uint)pbVar8[3]" (binary_expression "(uint)*pbVar8 << 0x18 | (uint)pbVar8[1] << 0x10" (binary_expression "(uint)*pbVar8 << 0x18" (binary_expression "(uint)*pbVar8" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar8[1] << 0x10" (cast_expression "(uint)pbVar8[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar8[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar8[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar8[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar8[2] << 8" (cast_expression "(uint)pbVar8[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar8[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "DStack_744.iv1 =\n       (uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7] | (uint)pbVar8[6] << 8;" (assignment_expression "DStack_744.iv1 =\n       (uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7] | (uint)pbVar8[6] << 8" (field_expression "DStack_744.iv1" identifier . field_identifier) = (binary_expression "(uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7] | (uint)pbVar8[6] << 8" (binary_expression "(uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10 | (uint)pbVar8[7]" (binary_expression "(uint)pbVar8[4] << 0x18 | (uint)pbVar8[5] << 0x10" (binary_expression "(uint)pbVar8[4] << 0x18" (cast_expression "(uint)pbVar8[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar8[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar8[5] << 0x10" (cast_expression "(uint)pbVar8[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar8[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar8[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar8[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar8[6] << 8" (cast_expression "(uint)pbVar8[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar8[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "pDVar10 = &DStack_744;" (assignment_expression "pDVar10 = &DStack_744" identifier = (pointer_expression "&DStack_744" & identifier)) ;) (expression_statement "des_cbc3_encrypt((uchar *)pDVar9,len_00,&DStack_744);" (call_expression "des_cbc3_encrypt((uchar *)pDVar9,len_00,&DStack_744)" identifier (argument_list "((uchar *)pDVar9,len_00,&DStack_744)" ( (cast_expression "(uchar *)pDVar9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&DStack_744" & identifier) ))) ;) (expression_statement "puVar6 = &DAT_00000198;" (assignment_expression "puVar6 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pDVar5 = &DStack_744;" (assignment_expression "pDVar5 = &DStack_744" identifier = (pointer_expression "&DStack_744" & identifier)) ;) (expression_statement "(**(code **)(pcStack_750 + -0x7f68))();" (call_expression "(**(code **)(pcStack_750 + -0x7f68))()" (parenthesized_expression "(**(code **)(pcStack_750 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_750 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_750 + -0x7f68)" * (cast_expression "(code **)(pcStack_750 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_750 + -0x7f68)" ( (binary_expression "pcStack_750 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_5ac == *piVar13) {\n    return;\n  }" if (parenthesized_expression "(iStack_5ac == *piVar13)" ( (binary_expression "iStack_5ac == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar16 = *(code **)(pcStack_750 + -0x75d4);" (assignment_expression "pcVar16 = *(code **)(pcStack_750 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_750 + -0x75d4)" * (cast_expression "(code **)(pcStack_750 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_750 + -0x75d4)" ( (binary_expression "pcStack_750 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar17 = des_encrypt_xdmauth;" (assignment_expression "pcVar17 = des_encrypt_xdmauth" identifier = identifier) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_810 = pcVar16 + 0x62e18;" (assignment_expression "pcStack_810 = pcVar16 + 0x62e18" identifier = (binary_expression "pcVar16 + 0x62e18" identifier + number_literal)) ;) (expression_statement "piVar12 = *(int **)(pcVar16 + 0x5b870);" (assignment_expression "piVar12 = *(int **)(pcVar16 + 0x5b870)" identifier = (pointer_expression "*(int **)(pcVar16 + 0x5b870)" * (cast_expression "(int **)(pcVar16 + 0x5b870)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x5b870)" ( (binary_expression "pcVar16 + 0x5b870" identifier + number_literal) ))))) ;) (expression_statement "iStack_77c = *piVar12;" (assignment_expression "iStack_77c = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "pDStack_774 = pDVar4;" (assignment_expression "pDStack_774 = pDVar4" identifier = identifier) ;) (expression_statement "pDStack_770 = &DStack_744;" (assignment_expression "pDStack_770 = &DStack_744" identifier = (pointer_expression "&DStack_744" & identifier)) ;) (expression_statement "piStack_76c = piVar13;" (assignment_expression "piStack_76c = piVar13" identifier = identifier) ;) (expression_statement "pDStack_768 = pDVar9;" (assignment_expression "pDStack_768 = pDVar9" identifier = identifier) ;) (expression_statement "pcStack_764 = pcVar17;" (assignment_expression "pcStack_764 = pcVar17" identifier = identifier) ;) (expression_statement "des_keysetup_xdmauth((uchar *)pDVar5,&DStack_804);" (call_expression "des_keysetup_xdmauth((uchar *)pDVar5,&DStack_804)" identifier (argument_list "((uchar *)pDVar5,&DStack_804)" ( (cast_expression "(uchar *)pDVar5" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&DStack_804" & identifier) ))) ;) (expression_statement "keydata = puVar6;" (assignment_expression "keydata = puVar6" identifier = identifier) ;) (expression_statement "pDVar4 = pDVar10;" (assignment_expression "pDVar4 = pDVar10" identifier = identifier) ;) (expression_statement "pDVar9 = &DStack_804;" (assignment_expression "pDVar9 = &DStack_804" identifier = (pointer_expression "&DStack_804" & identifier)) ;) (expression_statement "des_cbc_encrypt(puVar6,(uint)pDVar10,&DStack_804);" (call_expression "des_cbc_encrypt(puVar6,(uint)pDVar10,&DStack_804)" identifier (argument_list "(puVar6,(uint)pDVar10,&DStack_804)" ( identifier , (cast_expression "(uint)pDVar10" ( (type_descriptor "uint" type_identifier) ) identifier) , (pointer_expression "&DStack_804" & identifier) ))) ;) (if_statement "if (iStack_77c == *piVar12) {\n    return;\n  }" if (parenthesized_expression "(iStack_77c == *piVar12)" ( (binary_expression "iStack_77c == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar16 = *(code **)(pcStack_810 + -0x75d4);" (assignment_expression "pcVar16 = *(code **)(pcStack_810 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_810 + -0x75d4)" * (cast_expression "(code **)(pcStack_810 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_810 + -0x75d4)" ( (binary_expression "pcStack_810 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar17 = des_decrypt_xdmauth;" (assignment_expression "pcVar17 = des_decrypt_xdmauth" identifier = identifier) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar13 = *(int **)(pcVar16 + 0x5b7c4);" (assignment_expression "piVar13 = *(int **)(pcVar16 + 0x5b7c4)" identifier = (pointer_expression "*(int **)(pcVar16 + 0x5b7c4)" * (cast_expression "(int **)(pcVar16 + 0x5b7c4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x5b7c4)" ( (binary_expression "pcVar16 + 0x5b7c4" identifier + number_literal) ))))) ;) (expression_statement "iStack_83c = *piVar13;" (assignment_expression "iStack_83c = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piStack_834 = piVar12;" (assignment_expression "piStack_834 = piVar12" identifier = identifier) ;) (expression_statement "pDStack_830 = &DStack_804;" (assignment_expression "pDStack_830 = &DStack_804" identifier = (pointer_expression "&DStack_804" & identifier)) ;) (expression_statement "puStack_82c = puVar6;" (assignment_expression "puStack_82c = puVar6" identifier = identifier) ;) (expression_statement "pDStack_828 = pDVar10;" (assignment_expression "pDStack_828 = pDVar10" identifier = identifier) ;) (expression_statement "pcStack_824 = pcVar17;" (assignment_expression "pcStack_824 = pcVar17" identifier = identifier) ;) (expression_statement "des_keysetup_xdmauth(keydata,&DStack_8c4);" (call_expression "des_keysetup_xdmauth(keydata,&DStack_8c4)" identifier (argument_list "(keydata,&DStack_8c4)" ( identifier , (pointer_expression "&DStack_8c4" & identifier) ))) ;) (expression_statement "des_cbc_decrypt((uchar *)pDVar4,(uint)pDVar9,&DStack_8c4);" (call_expression "des_cbc_decrypt((uchar *)pDVar4,(uint)pDVar9,&DStack_8c4)" identifier (argument_list "((uchar *)pDVar4,(uint)pDVar9,&DStack_8c4)" ( (cast_expression "(uchar *)pDVar4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint)pDVar9" ( (type_descriptor "uint" type_identifier) ) identifier) , (pointer_expression "&DStack_8c4" & identifier) ))) ;) (if_statement "if (iStack_83c == *piVar13) {\n    return;\n  }" if (parenthesized_expression "(iStack_83c == *piVar13)" ( (binary_expression "iStack_83c == *piVar13" identifier == (pointer_expression "*piVar13" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar16 + 0x5b798))();" (call_expression "(**(code **)(pcVar16 + 0x5b798))()" (parenthesized_expression "(**(code **)(pcVar16 + 0x5b798))" ( (pointer_expression "**(code **)(pcVar16 + 0x5b798)" * (pointer_expression "*(code **)(pcVar16 + 0x5b798)" * (cast_expression "(code **)(pcVar16 + 0x5b798)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x5b798)" ( (binary_expression "pcVar16 + 0x5b798" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pBVar3 = bignum_rshift((Bignum_conflict)pDVar4->k0246[2],1);" (assignment_expression "pBVar3 = bignum_rshift((Bignum_conflict)pDVar4->k0246[2],1)" identifier = (call_expression "bignum_rshift((Bignum_conflict)pDVar4->k0246[2],1)" identifier (argument_list "((Bignum_conflict)pDVar4->k0246[2],1)" ( (cast_expression "(Bignum_conflict)pDVar4->k0246[2]" ( (type_descriptor "Bignum_conflict" type_identifier) ) (subscript_expression "pDVar4->k0246[2]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ])) , number_literal )))) ;) (expression_statement "pDVar4->k0246[3] = (word32)pBVar3;" (assignment_expression "pDVar4->k0246[3] = (word32)pBVar3" (subscript_expression "pDVar4->k0246[3]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(word32)pBVar3" ( (type_descriptor "word32" type_identifier) ) identifier)) ;) (expression_statement "pBVar3 = bignum_bitmask(pBVar3);" (assignment_expression "pBVar3 = bignum_bitmask(pBVar3)" identifier = (call_expression "bignum_bitmask(pBVar3)" identifier (argument_list "(pBVar3)" ( identifier )))) ;) (expression_statement "pDVar4->k0246[4] = (word32)pBVar3;" (assignment_expression "pDVar4->k0246[4] = (word32)pBVar3" (subscript_expression "pDVar4->k0246[4]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(word32)pBVar3" ( (type_descriptor "word32" type_identifier) ) identifier)) ;) (expression_statement "pDVar4->k0246[1] = 0;" (assignment_expression "pDVar4->k0246[1] = 0" (subscript_expression "pDVar4->k0246[1]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "pDVar4->k0246[0] = 0;" (assignment_expression "pDVar4->k0246[0] = 0" (subscript_expression "pDVar4->k0246[0]" (field_expression "pDVar4->k0246" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}\n\n" (function_definition "void des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}" primitive_type (function_declarator "des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined1 auStack_8c4 [136];" type_identifier (array_declarator "auStack_8c4 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_83c;" primitive_type identifier ;) (declaration "int *piStack_834;" primitive_type (pointer_declarator "*piStack_834" * identifier) ;) (declaration "undefined1 *puStack_830;" type_identifier (pointer_declarator "*puStack_830" * identifier) ;) (declaration "undefined4 uStack_82c;" type_identifier identifier ;) (declaration "undefined4 *puStack_828;" type_identifier (pointer_declarator "*puStack_828" * identifier) ;) (declaration "code *pcStack_824;" type_identifier (pointer_declarator "*pcStack_824" * identifier) ;) (declaration "code *pcStack_810;" type_identifier (pointer_declarator "*pcStack_810" * identifier) ;) (declaration "undefined1 auStack_804 [136];" type_identifier (array_declarator "auStack_804 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_77c;" primitive_type identifier ;) (declaration "byte *pbStack_774;" type_identifier (pointer_declarator "*pbStack_774" * identifier) ;) (declaration "undefined4 *puStack_770;" type_identifier (pointer_declarator "*puStack_770" * identifier) ;) (declaration "int *piStack_76c;" primitive_type (pointer_declarator "*piStack_76c" * identifier) ;) (declaration "byte *pbStack_768;" type_identifier (pointer_declarator "*pbStack_768" * identifier) ;) (declaration "code *pcStack_764;" type_identifier (pointer_declarator "*pcStack_764" * identifier) ;) (declaration "code *pcStack_750;" type_identifier (pointer_declarator "*pcStack_750" * identifier) ;) (declaration "undefined4 auStack_744 [32];" type_identifier (array_declarator "auStack_744 [32]" identifier [ number_literal ]) ;) (declaration "uint uStack_6c4;" type_identifier identifier ;) (declaration "uint uStack_6c0;" type_identifier identifier ;) (declaration "undefined1 auStack_6bc [136];" type_identifier (array_declarator "auStack_6bc [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_634 [136];" type_identifier (array_declarator "auStack_634 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_5ac;" primitive_type identifier ;) (declaration "byte *pbStack_5a8;" type_identifier (pointer_declarator "*pbStack_5a8" * identifier) ;) (declaration "byte *pbStack_5a4;" type_identifier (pointer_declarator "*pbStack_5a4" * identifier) ;) (declaration "int *piStack_5a0;" primitive_type (pointer_declarator "*piStack_5a0" * identifier) ;) (declaration "byte *pbStack_59c;" type_identifier (pointer_declarator "*pbStack_59c" * identifier) ;) (declaration "undefined4 uStack_598;" type_identifier identifier ;) (declaration "byte *pbStack_594;" type_identifier (pointer_declarator "*pbStack_594" * identifier) ;) (declaration "int iStack_590;" primitive_type identifier ;) (declaration "undefined4 uStack_58c;" type_identifier identifier ;) (declaration "code *pcStack_578;" type_identifier (pointer_declarator "*pcStack_578" * identifier) ;) (declaration "byte abStack_56c [128];" type_identifier (array_declarator "abStack_56c [128]" identifier [ number_literal ]) ;) (declaration "uint uStack_4ec;" type_identifier identifier ;) (declaration "uint uStack_4e8;" type_identifier identifier ;) (declaration "undefined1 auStack_4e4 [136];" type_identifier (array_declarator "auStack_4e4 [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_45c [136];" type_identifier (array_declarator "auStack_45c [136]" identifier [ number_literal ]) ;) (declaration "int iStack_3d4;" primitive_type identifier ;) (declaration "byte *pbStack_3d0;" type_identifier (pointer_declarator "*pbStack_3d0" * identifier) ;) (declaration "byte *pbStack_3cc;" type_identifier (pointer_declarator "*pbStack_3cc" * identifier) ;) (declaration "int iStack_3c8;" primitive_type identifier ;) (declaration "int *piStack_3c4;" primitive_type (pointer_declarator "*piStack_3c4" * identifier) ;) (declaration "undefined4 uStack_3c0;" type_identifier identifier ;) (declaration "byte *pbStack_3bc;" type_identifier (pointer_declarator "*pbStack_3bc" * identifier) ;) (declaration "byte abStack_394 [136];" type_identifier (array_declarator "abStack_394 [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_30c [136];" type_identifier (array_declarator "auStack_30c [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_284 [136];" type_identifier (array_declarator "auStack_284 [136]" identifier [ number_literal ]) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "byte *pbStack_1f4;" type_identifier (pointer_declarator "*pbStack_1f4" * identifier) ;) (declaration "byte *pbStack_1f0;" type_identifier (pointer_declarator "*pbStack_1f0" * identifier) ;) (declaration "undefined *puStack_1ec;" type_identifier (pointer_declarator "*puStack_1ec" * identifier) ;) (declaration "undefined *puStack_1e8;" type_identifier (pointer_declarator "*puStack_1e8" * identifier) ;) (declaration "undefined4 uStack_1e4;" type_identifier identifier ;) (declaration "undefined4 uStack_1e0;" type_identifier identifier ;) (declaration "code *pcStack_1dc;" type_identifier (pointer_declarator "*pcStack_1dc" * identifier) ;) (declaration "byte abStack_1bc [136];" type_identifier (array_declarator "abStack_1bc [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_134 [136];" type_identifier (array_declarator "auStack_134 [136]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_ac [136];" type_identifier (array_declarator "auStack_ac [136]" identifier [ number_literal ]) ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000b8ce8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b8ce8" identifier = identifier) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "local_24 = *(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 "puVar13 = PTR_LAB_000b87fc + -0x6584;" (assignment_expression "puVar13 = PTR_LAB_000b87fc + -0x6584" identifier = (binary_expression "PTR_LAB_000b87fc + -0x6584" identifier + number_literal)) ;) (expression_statement "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);" (call_expression "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc)" identifier (argument_list "((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc)" ( (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);" (call_expression "FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134)" identifier (argument_list "((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134)" ( (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8" (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb]" (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10" (binary_expression "(uint)param_1[8] << 0x18" (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[9] << 0x10" (cast_expression "(uint)param_1[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[10] << 8" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8" (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf]" (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10" (binary_expression "(uint)param_1[0xc] << 0x18" (cast_expression "(uint)param_1[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[0xd] << 0x10" (cast_expression "(uint)param_1[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[0xe] << 8" (cast_expression "(uint)param_1[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);" (call_expression "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac)" identifier (argument_list "((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac)" ( (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) | (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "pbVar8 = abStack_1bc;" (assignment_expression "pbVar8 = abStack_1bc" identifier = identifier) ;) (expression_statement "FUN_0005c160(param_2,param_3);" (call_expression "FUN_0005c160(param_2,param_3)" identifier (argument_list "(param_2,param_3)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = 0x198;" (assignment_expression "uVar5 = 0x198" identifier = number_literal) ;) (expression_statement "pbVar2 = abStack_1bc;" (assignment_expression "pbVar2 = abStack_1bc" identifier = identifier) ;) (expression_statement "(*(code *)PTR_smemclr_000b8328)();" (call_expression "(*(code *)PTR_smemclr_000b8328)()" (parenthesized_expression "(*(code *)PTR_smemclr_000b8328)" ( (pointer_expression "*(code *)PTR_smemclr_000b8328" * (cast_expression "(code *)PTR_smemclr_000b8328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_24 == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)puVar1)" ( (binary_expression "local_24 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = des3_encrypt_pubkey;" (assignment_expression "pcVar19 = des3_encrypt_pubkey" identifier = identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar18 = 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 "puStack_1e8 = puVar1;" (assignment_expression "puStack_1e8 = puVar1" identifier = identifier) ;) (expression_statement "piVar16 = *(int **)(puVar18 + 0x5bf14);" (assignment_expression "piVar16 = *(int **)(puVar18 + 0x5bf14)" identifier = (pointer_expression "*(int **)(puVar18 + 0x5bf14)" * (cast_expression "(int **)(puVar18 + 0x5bf14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x5bf14)" ( (binary_expression "puVar18 + 0x5bf14" identifier + number_literal) ))))) ;) (expression_statement "iStack_1fc = *piVar16;" (assignment_expression "iStack_1fc = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "iVar14 = *(int *)(puVar18 + 0x5ba28);" (assignment_expression "iVar14 = *(int *)(puVar18 + 0x5ba28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x5ba28)" * (cast_expression "(int *)(puVar18 + 0x5ba28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x5ba28)" ( (binary_expression "puVar18 + 0x5ba28" identifier + number_literal) ))))) ;) (expression_statement "pbStack_1f4 = param_1;" (assignment_expression "pbStack_1f4 = param_1" identifier = identifier) ;) (expression_statement "pbStack_1f0 = abStack_1bc;" (assignment_expression "pbStack_1f0 = abStack_1bc" identifier = identifier) ;) (expression_statement "puStack_1ec = puVar13;" (assignment_expression "puStack_1ec = puVar13" identifier = identifier) ;) (expression_statement "uStack_1e4 = param_2;" (assignment_expression "uStack_1e4 = param_2" identifier = identifier) ;) (expression_statement "uStack_1e0 = param_3;" (assignment_expression "uStack_1e0 = param_3" identifier = identifier) ;) (expression_statement "pcStack_1dc = pcVar19;" (assignment_expression "pcStack_1dc = pcVar19" identifier = identifier) ;) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394)" identifier (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394)" ( (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);" (call_expression "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c)" identifier (argument_list "((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c)" ( (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb]" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10" (binary_expression "(uint)pbVar2[8] << 0x18" (cast_expression "(uint)pbVar2[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[9] << 0x10" (cast_expression "(uint)pbVar2[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[10] << 8" (cast_expression "(uint)pbVar2[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf]" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10" (binary_expression "(uint)pbVar2[0xc] << 0x18" (cast_expression "(uint)pbVar2[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0xd] << 0x10" (cast_expression "(uint)pbVar2[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0xe] << 8" (cast_expression "(uint)pbVar2[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284)" identifier (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284)" ( (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "pbVar9 = abStack_394;" (assignment_expression "pbVar9 = abStack_394" identifier = identifier) ;) (expression_statement "FUN_0005c250(uVar5,pbVar8);" (call_expression "FUN_0005c250(uVar5,pbVar8)" identifier (argument_list "(uVar5,pbVar8)" ( identifier , identifier ))) ;) (expression_statement "pbVar6 = &DAT_00000198;" (assignment_expression "pbVar6 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pbVar3 = abStack_394;" (assignment_expression "pbVar3 = abStack_394" identifier = identifier) ;) (expression_statement "(**(code **)(puVar18 + 0x5b554))();" (call_expression "(**(code **)(puVar18 + 0x5b554))()" (parenthesized_expression "(**(code **)(puVar18 + 0x5b554))" ( (pointer_expression "**(code **)(puVar18 + 0x5b554)" * (pointer_expression "*(code **)(puVar18 + 0x5b554)" * (cast_expression "(code **)(puVar18 + 0x5b554)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x5b554)" ( (binary_expression "puVar18 + 0x5b554" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_1fc == *piVar16) {\n    return;\n  }" if (parenthesized_expression "(iStack_1fc == *piVar16)" ( (binary_expression "iStack_1fc == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(puVar18 + 0x5bee8);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x5bee8)" identifier = (pointer_expression "*(code **)(puVar18 + 0x5bee8)" * (cast_expression "(code **)(puVar18 + 0x5bee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x5bee8)" ( (binary_expression "puVar18 + 0x5bee8" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_578 = pcVar19 + 0x632c8;" (assignment_expression "pcStack_578 = pcVar19 + 0x632c8" identifier = (binary_expression "pcVar19 + 0x632c8" identifier + number_literal)) ;) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x5bd20);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x5bd20)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5bd20)" * (cast_expression "(int **)(pcVar19 + 0x5bd20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5bd20)" ( (binary_expression "pcVar19 + 0x5bd20" identifier + number_literal) ))))) ;) (expression_statement "iStack_3d4 = *piVar15;" (assignment_expression "iStack_3d4 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "iVar17 = *(int *)(pcVar19 + 0x5b834);" (assignment_expression "iVar17 = *(int *)(pcVar19 + 0x5b834)" identifier = (pointer_expression "*(int *)(pcVar19 + 0x5b834)" * (cast_expression "(int *)(pcVar19 + 0x5b834)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar19 + 0x5b834)" ( (binary_expression "pcVar19 + 0x5b834" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = param_4;" (assignment_expression "uVar12 = param_4" identifier = identifier) ;) (expression_statement "pbStack_3d0 = pbVar2;" (assignment_expression "pbStack_3d0 = pbVar2" identifier = identifier) ;) (expression_statement "pbStack_3cc = abStack_394;" (assignment_expression "pbStack_3cc = abStack_394" identifier = identifier) ;) (expression_statement "iStack_3c8 = iVar14 + -0x6584;" (assignment_expression "iStack_3c8 = iVar14 + -0x6584" identifier = (binary_expression "iVar14 + -0x6584" identifier + number_literal)) ;) (expression_statement "piStack_3c4 = piVar16;" (assignment_expression "piStack_3c4 = piVar16" identifier = identifier) ;) (expression_statement "uStack_3c0 = uVar5;" (assignment_expression "uStack_3c0 = uVar5" identifier = identifier) ;) (expression_statement "pbStack_3bc = pbVar8;" (assignment_expression "pbStack_3bc = pbVar8" identifier = identifier) ;) (expression_statement "FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);" (call_expression "FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c)" identifier (argument_list "((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c)" ( (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8" (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3]" (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10" (binary_expression "(uint)*pbVar3 << 0x18" (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar3[1] << 0x10" (cast_expression "(uint)pbVar3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[2] << 8" (cast_expression "(uint)pbVar3[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8" (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7]" (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10" (binary_expression "(uint)pbVar3[4] << 0x18" (cast_expression "(uint)pbVar3[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[5] << 0x10" (cast_expression "(uint)pbVar3[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[6] << 8" (cast_expression "(uint)pbVar3[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);" (call_expression "FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4)" identifier (argument_list "((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4)" ( (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8" (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb]" (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10" (binary_expression "(uint)pbVar3[8] << 0x18" (cast_expression "(uint)pbVar3[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[9] << 0x10" (cast_expression "(uint)pbVar3[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[10] << 8" (cast_expression "(uint)pbVar3[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8" (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf]" (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10" (binary_expression "(uint)pbVar3[0xc] << 0x18" (cast_expression "(uint)pbVar3[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[0xd] << 0x10" (cast_expression "(uint)pbVar3[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[0xe] << 8" (cast_expression "(uint)pbVar3[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);" (call_expression "FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c)" identifier (argument_list "((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c)" ( (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8" (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13]" (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10" (binary_expression "(uint)pbVar3[0x10] << 0x18" (cast_expression "(uint)pbVar3[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x10]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[0x11] << 0x10" (cast_expression "(uint)pbVar3[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x11]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0x13]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x13]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[0x12] << 8" (cast_expression "(uint)pbVar3[0x12]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x12]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8" (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17]" (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10" (binary_expression "(uint)pbVar3[0x14] << 0x18" (cast_expression "(uint)pbVar3[0x14]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x14]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar3[0x15] << 0x10" (cast_expression "(uint)pbVar3[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x15]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar3[0x17]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x17]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar3[0x16] << 8" (cast_expression "(uint)pbVar3[0x16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[0x16]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;" (assignment_expression "uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8" identifier = (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8" (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3]" (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10" (binary_expression "(uint)*pbVar6 << 0x18" (binary_expression "(uint)*pbVar6" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar6[1] << 0x10" (cast_expression "(uint)pbVar6[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar6[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar6[2] << 8" (cast_expression "(uint)pbVar6[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;" (assignment_expression "uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8" identifier = (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8" (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7]" (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10" (binary_expression "(uint)pbVar6[4] << 0x18" (cast_expression "(uint)pbVar6[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar6[5] << 0x10" (cast_expression "(uint)pbVar6[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar6[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar6[6] << 8" (cast_expression "(uint)pbVar6[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar6[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "pbVar8 = abStack_56c;" (assignment_expression "pbVar8 = abStack_56c" identifier = identifier) ;) (expression_statement "FUN_0005c3cc(pbVar9,param_4);" (call_expression "FUN_0005c3cc(pbVar9,param_4)" identifier (argument_list "(pbVar9,param_4)" ( identifier , identifier ))) ;) (expression_statement "pbVar7 = &DAT_00000198;" (assignment_expression "pbVar7 = &DAT_00000198" identifier = (pointer_expression "&DAT_00000198" & identifier)) ;) (expression_statement "pbVar2 = abStack_56c;" (assignment_expression "pbVar2 = abStack_56c" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_578 + -0x7f68))();" (call_expression "(**(code **)(pcStack_578 + -0x7f68))()" (parenthesized_expression "(**(code **)(pcStack_578 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_578 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_578 + -0x7f68)" * (cast_expression "(code **)(pcStack_578 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_578 + -0x7f68)" ( (binary_expression "pcStack_578 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_3d4 == *piVar15) {\n    return;\n  }" if (parenthesized_expression "(iStack_3d4 == *piVar15)" ( (binary_expression "iStack_3d4 == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(pcStack_578 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_578 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_578 + -0x75d4)" * (cast_expression "(code **)(pcStack_578 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_578 + -0x75d4)" ( (binary_expression "pcStack_578 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 0x5d220;" (assignment_expression "uVar5 = 0x5d220" identifier = number_literal) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_750 = pcVar19 + 0x63070;" (assignment_expression "pcStack_750 = pcVar19 + 0x63070" identifier = (binary_expression "pcVar19 + 0x63070" identifier + number_literal)) ;) (expression_statement "piVar16 = *(int **)(pcVar19 + 0x5bac8);" (assignment_expression "piVar16 = *(int **)(pcVar19 + 0x5bac8)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5bac8)" * (cast_expression "(int **)(pcVar19 + 0x5bac8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5bac8)" ( (binary_expression "pcVar19 + 0x5bac8" identifier + number_literal) ))))) ;) (expression_statement "iStack_5ac = *piVar16;" (assignment_expression "iStack_5ac = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "pbStack_5a8 = pbVar3;" (assignment_expression "pbStack_5a8 = pbVar3" identifier = identifier) ;) (expression_statement "pbStack_5a4 = abStack_56c;" (assignment_expression "pbStack_5a4 = abStack_56c" identifier = identifier) ;) (expression_statement "piStack_5a0 = piVar15;" (assignment_expression "piStack_5a0 = piVar15" identifier = identifier) ;) (expression_statement "pbStack_59c = pbVar9;" (assignment_expression "pbStack_59c = pbVar9" identifier = identifier) ;) (expression_statement "uStack_598 = param_4;" (assignment_expression "uStack_598 = param_4" identifier = identifier) ;) (expression_statement "pbStack_594 = pbVar6;" (assignment_expression "pbStack_594 = pbVar6" identifier = identifier) ;) (expression_statement "iStack_590 = iVar17 + -0x6584;" (assignment_expression "iStack_590 = iVar17 + -0x6584" identifier = (binary_expression "iVar17 + -0x6584" identifier + number_literal)) ;) (expression_statement "uStack_58c = uVar5;" (assignment_expression "uStack_58c = uVar5" identifier = identifier) ;) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744)" identifier (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744)" ( (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[2]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[6]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);" (call_expression "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc)" identifier (argument_list "((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc)" ( (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb]" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10" (binary_expression "(uint)pbVar2[8] << 0x18" (cast_expression "(uint)pbVar2[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[8]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[9] << 0x10" (cast_expression "(uint)pbVar2[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[9]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xb]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[10] << 8" (cast_expression "(uint)pbVar2[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[10]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf]" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10" (binary_expression "(uint)pbVar2[0xc] << 0x18" (cast_expression "(uint)pbVar2[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xc]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0xd] << 0x10" (cast_expression "(uint)pbVar2[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xd]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xf]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0xe] << 8" (cast_expression "(uint)pbVar2[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0xe]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);" (call_expression "FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634)" identifier (argument_list "((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634)" ( (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8" (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13]" (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10" (binary_expression "(uint)pbVar2[0x10] << 0x18" (cast_expression "(uint)pbVar2[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x10]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0x11] << 0x10" (cast_expression "(uint)pbVar2[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x11]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0x13]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x13]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0x12] << 8" (cast_expression "(uint)pbVar2[0x12]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x12]" identifier [ number_literal ])) << number_literal)) , (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8" (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17]" (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10" (binary_expression "(uint)pbVar2[0x14] << 0x18" (cast_expression "(uint)pbVar2[0x14]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x14]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar2[0x15] << 0x10" (cast_expression "(uint)pbVar2[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x15]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar2[0x17]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x17]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar2[0x16] << 8" (cast_expression "(uint)pbVar2[0x16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar2[0x16]" identifier [ number_literal ])) << number_literal)) , identifier ))) ;) (expression_statement "uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;" (assignment_expression "uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8" identifier = (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3]" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10" (binary_expression "(uint)*pbVar7 << 0x18" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "(uint)pbVar7[1] << 0x10" (cast_expression "(uint)pbVar7[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[1]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar7[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[3]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar7[2] << 8" (cast_expression "(uint)pbVar7[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;" (assignment_expression "uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8" identifier = (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7]" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10" (binary_expression "(uint)pbVar7[4] << 0x18" (cast_expression "(uint)pbVar7[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[4]" identifier [ number_literal ])) << number_literal) | (binary_expression "(uint)pbVar7[5] << 0x10" (cast_expression "(uint)pbVar7[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[5]" identifier [ number_literal ])) << number_literal)) | (cast_expression "(uint)pbVar7[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[7]" identifier [ number_literal ]))) | (binary_expression "(uint)pbVar7[6] << 8" (cast_expression "(uint)pbVar7[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar7[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "puVar10 = auStack_744;" (assignment_expression "puVar10 = auStack_744" identifier = identifier) ;) (expression_statement "FUN_0005c644(pbVar8,uVar12);" (call_expression "FUN_0005c644(pbVar8,uVar12)" identifier (argument_list "(pbVar8,uVar12)" ( identifier , identifier ))) ;) (expression_statement "uVar5 = 0x198;" (assignment_expression "uVar5 = 0x198" identifier = number_literal) ;) (expression_statement "(**(code **)(pcStack_750 + -0x7f68))(auStack_744);" (call_expression "(**(code **)(pcStack_750 + -0x7f68))(auStack_744)" (parenthesized_expression "(**(code **)(pcStack_750 + -0x7f68))" ( (pointer_expression "**(code **)(pcStack_750 + -0x7f68)" * (pointer_expression "*(code **)(pcStack_750 + -0x7f68)" * (cast_expression "(code **)(pcStack_750 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_750 + -0x7f68)" ( (binary_expression "pcStack_750 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(auStack_744)" ( identifier ))) ;) (if_statement "if (iStack_5ac == *piVar16) {\n    return;\n  }" if (parenthesized_expression "(iStack_5ac == *piVar16)" ( (binary_expression "iStack_5ac == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(pcStack_750 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_750 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_750 + -0x75d4)" * (cast_expression "(code **)(pcStack_750 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_750 + -0x75d4)" ( (binary_expression "pcStack_750 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = des_encrypt_xdmauth;" (assignment_expression "pcVar20 = des_encrypt_xdmauth" identifier = identifier) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_810 = pcVar19 + 0x62e18;" (assignment_expression "pcStack_810 = pcVar19 + 0x62e18" identifier = (binary_expression "pcVar19 + 0x62e18" identifier + number_literal)) ;) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x5b870);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x5b870)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5b870)" * (cast_expression "(int **)(pcVar19 + 0x5b870)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5b870)" ( (binary_expression "pcVar19 + 0x5b870" identifier + number_literal) ))))) ;) (expression_statement "iStack_77c = *piVar15;" (assignment_expression "iStack_77c = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "pbStack_774 = pbVar2;" (assignment_expression "pbStack_774 = pbVar2" identifier = identifier) ;) (expression_statement "puStack_770 = auStack_744;" (assignment_expression "puStack_770 = auStack_744" identifier = identifier) ;) (expression_statement "piStack_76c = piVar16;" (assignment_expression "piStack_76c = piVar16" identifier = identifier) ;) (expression_statement "pbStack_768 = pbVar8;" (assignment_expression "pbStack_768 = pbVar8" identifier = identifier) ;) (expression_statement "pcStack_764 = pcVar20;" (assignment_expression "pcStack_764 = pcVar20" identifier = identifier) ;) (expression_statement "FUN_0005bbdc();" (call_expression "FUN_0005bbdc()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar4 = puVar10;" (assignment_expression "puVar4 = puVar10" identifier = identifier) ;) (expression_statement "puVar11 = auStack_804;" (assignment_expression "puVar11 = auStack_804" identifier = identifier) ;) (expression_statement "FUN_0005bd68(uVar5,puVar10,auStack_804);" (call_expression "FUN_0005bd68(uVar5,puVar10,auStack_804)" identifier (argument_list "(uVar5,puVar10,auStack_804)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iStack_77c == *piVar15) {\n    return;\n  }" if (parenthesized_expression "(iStack_77c == *piVar15)" ( (binary_expression "iStack_77c == *piVar15" identifier == (pointer_expression "*piVar15" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar19 = *(code **)(pcStack_810 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_810 + -0x75d4)" identifier = (pointer_expression "*(code **)(pcStack_810 + -0x75d4)" * (cast_expression "(code **)(pcStack_810 + -0x75d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_810 + -0x75d4)" ( (binary_expression "pcStack_810 + -0x75d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = des_decrypt_xdmauth;" (assignment_expression "pcVar20 = des_decrypt_xdmauth" identifier = identifier) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar16 = *(int **)(pcVar19 + 0x5b7c4);" (assignment_expression "piVar16 = *(int **)(pcVar19 + 0x5b7c4)" identifier = (pointer_expression "*(int **)(pcVar19 + 0x5b7c4)" * (cast_expression "(int **)(pcVar19 + 0x5b7c4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5b7c4)" ( (binary_expression "pcVar19 + 0x5b7c4" identifier + number_literal) ))))) ;) (expression_statement "iStack_83c = *piVar16;" (assignment_expression "iStack_83c = *piVar16" identifier = (pointer_expression "*piVar16" * identifier)) ;) (expression_statement "piStack_834 = piVar15;" (assignment_expression "piStack_834 = piVar15" identifier = identifier) ;) (expression_statement "puStack_830 = auStack_804;" (assignment_expression "puStack_830 = auStack_804" identifier = identifier) ;) (expression_statement "uStack_82c = uVar5;" (assignment_expression "uStack_82c = uVar5" identifier = identifier) ;) (expression_statement "puStack_828 = puVar10;" (assignment_expression "puStack_828 = puVar10" identifier = identifier) ;) (expression_statement "pcStack_824 = pcVar20;" (assignment_expression "pcStack_824 = pcVar20" identifier = identifier) ;) (expression_statement "FUN_0005bbdc();" (call_expression "FUN_0005bbdc()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0005bf90(puVar4,puVar11,auStack_8c4);" (call_expression "FUN_0005bf90(puVar4,puVar11,auStack_8c4)" identifier (argument_list "(puVar4,puVar11,auStack_8c4)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iStack_83c == *piVar16) {\n    return;\n  }" if (parenthesized_expression "(iStack_83c == *piVar16)" ( (binary_expression "iStack_83c == *piVar16" identifier == (pointer_expression "*piVar16" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar19 + 0x5b798))();" (call_expression "(**(code **)(pcVar19 + 0x5b798))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x5b798))" ( (pointer_expression "**(code **)(pcVar19 + 0x5b798)" * (pointer_expression "*(code **)(pcVar19 + 0x5b798)" * (cast_expression "(code **)(pcVar19 + 0x5b798)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar19 + 0x5b798)" ( (binary_expression "pcVar19 + 0x5b798" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar5 = bignum_rshift(puVar4[2],1);" (assignment_expression "uVar5 = bignum_rshift(puVar4[2],1)" identifier = (call_expression "bignum_rshift(puVar4[2],1)" identifier (argument_list "(puVar4[2],1)" ( (subscript_expression "puVar4[2]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "puVar4[3] = uVar5;" (assignment_expression "puVar4[3] = uVar5" (subscript_expression "puVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = bignum_bitmask(uVar5);" (assignment_expression "uVar5 = bignum_bitmask(uVar5)" identifier = (call_expression "bignum_bitmask(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "puVar4[4] = uVar5;" (assignment_expression "puVar4[4] = uVar5" (subscript_expression "puVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar4[1] = 0;" (assignment_expression "puVar4[1] = 0" (subscript_expression "puVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (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 = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (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 = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return ;) })))
(function_definition "void des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}" (primitive_type "void") (function_declarator "des3_decrypt_pubkey(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (identifier "des3_decrypt_pubkey") (parameter_list "(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  byte *pbVar2;\n  byte *pbVar3;\n  undefined4 *puVar4;\n  undefined4 uVar5;\n  byte *pbVar6;\n  byte *pbVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined4 *puVar10;\n  undefined1 *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int *piVar15;\n  int *piVar16;\n  int iVar17;\n  undefined *puVar18;\n  code *pcVar19;\n  code *pcVar20;\n  undefined1 auStack_8c4 [136];\n  int iStack_83c;\n  int *piStack_834;\n  undefined1 *puStack_830;\n  undefined4 uStack_82c;\n  undefined4 *puStack_828;\n  code *pcStack_824;\n  code *pcStack_810;\n  undefined1 auStack_804 [136];\n  int iStack_77c;\n  byte *pbStack_774;\n  undefined4 *puStack_770;\n  int *piStack_76c;\n  byte *pbStack_768;\n  code *pcStack_764;\n  code *pcStack_750;\n  undefined4 auStack_744 [32];\n  uint uStack_6c4;\n  uint uStack_6c0;\n  undefined1 auStack_6bc [136];\n  undefined1 auStack_634 [136];\n  int iStack_5ac;\n  byte *pbStack_5a8;\n  byte *pbStack_5a4;\n  int *piStack_5a0;\n  byte *pbStack_59c;\n  undefined4 uStack_598;\n  byte *pbStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  code *pcStack_578;\n  byte abStack_56c [128];\n  uint uStack_4ec;\n  uint uStack_4e8;\n  undefined1 auStack_4e4 [136];\n  undefined1 auStack_45c [136];\n  int iStack_3d4;\n  byte *pbStack_3d0;\n  byte *pbStack_3cc;\n  int iStack_3c8;\n  int *piStack_3c4;\n  undefined4 uStack_3c0;\n  byte *pbStack_3bc;\n  byte abStack_394 [136];\n  undefined1 auStack_30c [136];\n  undefined1 auStack_284 [136];\n  int iStack_1fc;\n  byte *pbStack_1f4;\n  byte *pbStack_1f0;\n  undefined *puStack_1ec;\n  undefined *puStack_1e8;\n  undefined4 uStack_1e4;\n  undefined4 uStack_1e0;\n  code *pcStack_1dc;\n  byte abStack_1bc [136];\n  undefined1 auStack_134 [136];\n  undefined1 auStack_ac [136];\n  int local_24;\n  \n  puVar1 = PTR___stack_chk_guard_000b8ce8;\n  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  puVar13 = PTR_LAB_000b87fc + -0x6584;\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);\n  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);\n  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);\n  pbVar8 = abStack_1bc;\n  FUN_0005c160(param_2,param_3);\n  uVar5 = 0x198;\n  pbVar2 = abStack_1bc;\n  (*(code *)PTR_smemclr_000b8328)();\n  if (local_24 == *(int *)puVar1) {\n    return;\n  }\n  pcVar19 = des3_encrypt_pubkey;\n  puVar18 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  puStack_1e8 = puVar1;\n  piVar16 = *(int **)(puVar18 + 0x5bf14);\n  iStack_1fc = *piVar16;\n  iVar14 = *(int *)(puVar18 + 0x5ba28);\n  pbStack_1f4 = param_1;\n  pbStack_1f0 = abStack_1bc;\n  puStack_1ec = puVar13;\n  uStack_1e4 = param_2;\n  uStack_1e0 = param_3;\n  pcStack_1dc = pcVar19;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);\n  pbVar9 = abStack_394;\n  FUN_0005c250(uVar5,pbVar8);\n  pbVar6 = &DAT_00000198;\n  pbVar3 = abStack_394;\n  (**(code **)(puVar18 + 0x5b554))();\n  if (iStack_1fc == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(puVar18 + 0x5bee8);\n  (*pcVar19)();\n  pcStack_578 = pcVar19 + 0x632c8;\n  piVar15 = *(int **)(pcVar19 + 0x5bd20);\n  iStack_3d4 = *piVar15;\n  iVar17 = *(int *)(pcVar19 + 0x5b834);\n  uVar12 = param_4;\n  pbStack_3d0 = pbVar2;\n  pbStack_3cc = abStack_394;\n  iStack_3c8 = iVar14 + -0x6584;\n  piStack_3c4 = piVar16;\n  uStack_3c0 = uVar5;\n  pbStack_3bc = pbVar8;\n  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);\n  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);\n  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);\n  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;\n  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;\n  pbVar8 = abStack_56c;\n  FUN_0005c3cc(pbVar9,param_4);\n  pbVar7 = &DAT_00000198;\n  pbVar2 = abStack_56c;\n  (**(code **)(pcStack_578 + -0x7f68))();\n  if (iStack_3d4 == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_578 + -0x75d4);\n  uVar5 = 0x5d220;\n  (*pcVar19)();\n  pcStack_750 = pcVar19 + 0x63070;\n  piVar16 = *(int **)(pcVar19 + 0x5bac8);\n  iStack_5ac = *piVar16;\n  pbStack_5a8 = pbVar3;\n  pbStack_5a4 = abStack_56c;\n  piStack_5a0 = piVar15;\n  pbStack_59c = pbVar9;\n  uStack_598 = param_4;\n  pbStack_594 = pbVar6;\n  iStack_590 = iVar17 + -0x6584;\n  uStack_58c = uVar5;\n  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);\n  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);\n  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);\n  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;\n  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;\n  puVar10 = auStack_744;\n  FUN_0005c644(pbVar8,uVar12);\n  uVar5 = 0x198;\n  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);\n  if (iStack_5ac == *piVar16) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_750 + -0x75d4);\n  pcVar20 = des_encrypt_xdmauth;\n  (*pcVar19)();\n  pcStack_810 = pcVar19 + 0x62e18;\n  piVar15 = *(int **)(pcVar19 + 0x5b870);\n  iStack_77c = *piVar15;\n  pbStack_774 = pbVar2;\n  puStack_770 = auStack_744;\n  piStack_76c = piVar16;\n  pbStack_768 = pbVar8;\n  pcStack_764 = pcVar20;\n  FUN_0005bbdc();\n  puVar4 = puVar10;\n  puVar11 = auStack_804;\n  FUN_0005bd68(uVar5,puVar10,auStack_804);\n  if (iStack_77c == *piVar15) {\n    return;\n  }\n  pcVar19 = *(code **)(pcStack_810 + -0x75d4);\n  pcVar20 = des_decrypt_xdmauth;\n  (*pcVar19)();\n  piVar16 = *(int **)(pcVar19 + 0x5b7c4);\n  iStack_83c = *piVar16;\n  piStack_834 = piVar15;\n  puStack_830 = auStack_804;\n  uStack_82c = uVar5;\n  puStack_828 = puVar10;\n  pcStack_824 = pcVar20;\n  FUN_0005bbdc();\n  FUN_0005bf90(puVar4,puVar11,auStack_8c4);\n  if (iStack_83c == *piVar16) {\n    return;\n  }\n  (**(code **)(pcVar19 + 0x5b798))();\n  uVar5 = bignum_rshift(puVar4[2],1);\n  puVar4[3] = uVar5;\n  uVar5 = bignum_bitmask(uVar5);\n  puVar4[4] = uVar5;\n  puVar4[1] = 0;\n  *puVar4 = 0;\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined1 *puVar11;" (type_identifier "undefined1") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "code *pcVar19;" (type_identifier "code") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "undefined1 auStack_8c4 [136];" (type_identifier "undefined1") (array_declarator "auStack_8c4 [136]" (identifier "auStack_8c4") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "int iStack_83c;" (primitive_type "int") (identifier "iStack_83c") (; ";")) (declaration "int *piStack_834;" (primitive_type "int") (pointer_declarator "*piStack_834" (* "*") (identifier "piStack_834")) (; ";")) (declaration "undefined1 *puStack_830;" (type_identifier "undefined1") (pointer_declarator "*puStack_830" (* "*") (identifier "puStack_830")) (; ";")) (declaration "undefined4 uStack_82c;" (type_identifier "undefined4") (identifier "uStack_82c") (; ";")) (declaration "undefined4 *puStack_828;" (type_identifier "undefined4") (pointer_declarator "*puStack_828" (* "*") (identifier "puStack_828")) (; ";")) (declaration "code *pcStack_824;" (type_identifier "code") (pointer_declarator "*pcStack_824" (* "*") (identifier "pcStack_824")) (; ";")) (declaration "code *pcStack_810;" (type_identifier "code") (pointer_declarator "*pcStack_810" (* "*") (identifier "pcStack_810")) (; ";")) (declaration "undefined1 auStack_804 [136];" (type_identifier "undefined1") (array_declarator "auStack_804 [136]" (identifier "auStack_804") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "int iStack_77c;" (primitive_type "int") (identifier "iStack_77c") (; ";")) (declaration "byte *pbStack_774;" (type_identifier "byte") (pointer_declarator "*pbStack_774" (* "*") (identifier "pbStack_774")) (; ";")) (declaration "undefined4 *puStack_770;" (type_identifier "undefined4") (pointer_declarator "*puStack_770" (* "*") (identifier "puStack_770")) (; ";")) (declaration "int *piStack_76c;" (primitive_type "int") (pointer_declarator "*piStack_76c" (* "*") (identifier "piStack_76c")) (; ";")) (declaration "byte *pbStack_768;" (type_identifier "byte") (pointer_declarator "*pbStack_768" (* "*") (identifier "pbStack_768")) (; ";")) (declaration "code *pcStack_764;" (type_identifier "code") (pointer_declarator "*pcStack_764" (* "*") (identifier "pcStack_764")) (; ";")) (declaration "code *pcStack_750;" (type_identifier "code") (pointer_declarator "*pcStack_750" (* "*") (identifier "pcStack_750")) (; ";")) (declaration "undefined4 auStack_744 [32];" (type_identifier "undefined4") (array_declarator "auStack_744 [32]" (identifier "auStack_744") ([ "[") (number_literal "32") (] "]")) (; ";")) (declaration "uint uStack_6c4;" (type_identifier "uint") (identifier "uStack_6c4") (; ";")) (declaration "uint uStack_6c0;" (type_identifier "uint") (identifier "uStack_6c0") (; ";")) (declaration "undefined1 auStack_6bc [136];" (type_identifier "undefined1") (array_declarator "auStack_6bc [136]" (identifier "auStack_6bc") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "undefined1 auStack_634 [136];" (type_identifier "undefined1") (array_declarator "auStack_634 [136]" (identifier "auStack_634") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "int iStack_5ac;" (primitive_type "int") (identifier "iStack_5ac") (; ";")) (declaration "byte *pbStack_5a8;" (type_identifier "byte") (pointer_declarator "*pbStack_5a8" (* "*") (identifier "pbStack_5a8")) (; ";")) (declaration "byte *pbStack_5a4;" (type_identifier "byte") (pointer_declarator "*pbStack_5a4" (* "*") (identifier "pbStack_5a4")) (; ";")) (declaration "int *piStack_5a0;" (primitive_type "int") (pointer_declarator "*piStack_5a0" (* "*") (identifier "piStack_5a0")) (; ";")) (declaration "byte *pbStack_59c;" (type_identifier "byte") (pointer_declarator "*pbStack_59c" (* "*") (identifier "pbStack_59c")) (; ";")) (declaration "undefined4 uStack_598;" (type_identifier "undefined4") (identifier "uStack_598") (; ";")) (declaration "byte *pbStack_594;" (type_identifier "byte") (pointer_declarator "*pbStack_594" (* "*") (identifier "pbStack_594")) (; ";")) (declaration "int iStack_590;" (primitive_type "int") (identifier "iStack_590") (; ";")) (declaration "undefined4 uStack_58c;" (type_identifier "undefined4") (identifier "uStack_58c") (; ";")) (declaration "code *pcStack_578;" (type_identifier "code") (pointer_declarator "*pcStack_578" (* "*") (identifier "pcStack_578")) (; ";")) (declaration "byte abStack_56c [128];" (type_identifier "byte") (array_declarator "abStack_56c [128]" (identifier "abStack_56c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "uint uStack_4ec;" (type_identifier "uint") (identifier "uStack_4ec") (; ";")) (declaration "uint uStack_4e8;" (type_identifier "uint") (identifier "uStack_4e8") (; ";")) (declaration "undefined1 auStack_4e4 [136];" (type_identifier "undefined1") (array_declarator "auStack_4e4 [136]" (identifier "auStack_4e4") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "undefined1 auStack_45c [136];" (type_identifier "undefined1") (array_declarator "auStack_45c [136]" (identifier "auStack_45c") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "int iStack_3d4;" (primitive_type "int") (identifier "iStack_3d4") (; ";")) (declaration "byte *pbStack_3d0;" (type_identifier "byte") (pointer_declarator "*pbStack_3d0" (* "*") (identifier "pbStack_3d0")) (; ";")) (declaration "byte *pbStack_3cc;" (type_identifier "byte") (pointer_declarator "*pbStack_3cc" (* "*") (identifier "pbStack_3cc")) (; ";")) (declaration "int iStack_3c8;" (primitive_type "int") (identifier "iStack_3c8") (; ";")) (declaration "int *piStack_3c4;" (primitive_type "int") (pointer_declarator "*piStack_3c4" (* "*") (identifier "piStack_3c4")) (; ";")) (declaration "undefined4 uStack_3c0;" (type_identifier "undefined4") (identifier "uStack_3c0") (; ";")) (declaration "byte *pbStack_3bc;" (type_identifier "byte") (pointer_declarator "*pbStack_3bc" (* "*") (identifier "pbStack_3bc")) (; ";")) (declaration "byte abStack_394 [136];" (type_identifier "byte") (array_declarator "abStack_394 [136]" (identifier "abStack_394") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "undefined1 auStack_30c [136];" (type_identifier "undefined1") (array_declarator "auStack_30c [136]" (identifier "auStack_30c") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "undefined1 auStack_284 [136];" (type_identifier "undefined1") (array_declarator "auStack_284 [136]" (identifier "auStack_284") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "int iStack_1fc;" (primitive_type "int") (identifier "iStack_1fc") (; ";")) (declaration "byte *pbStack_1f4;" (type_identifier "byte") (pointer_declarator "*pbStack_1f4" (* "*") (identifier "pbStack_1f4")) (; ";")) (declaration "byte *pbStack_1f0;" (type_identifier "byte") (pointer_declarator "*pbStack_1f0" (* "*") (identifier "pbStack_1f0")) (; ";")) (declaration "undefined *puStack_1ec;" (type_identifier "undefined") (pointer_declarator "*puStack_1ec" (* "*") (identifier "puStack_1ec")) (; ";")) (declaration "undefined *puStack_1e8;" (type_identifier "undefined") (pointer_declarator "*puStack_1e8" (* "*") (identifier "puStack_1e8")) (; ";")) (declaration "undefined4 uStack_1e4;" (type_identifier "undefined4") (identifier "uStack_1e4") (; ";")) (declaration "undefined4 uStack_1e0;" (type_identifier "undefined4") (identifier "uStack_1e0") (; ";")) (declaration "code *pcStack_1dc;" (type_identifier "code") (pointer_declarator "*pcStack_1dc" (* "*") (identifier "pcStack_1dc")) (; ";")) (declaration "byte abStack_1bc [136];" (type_identifier "byte") (array_declarator "abStack_1bc [136]" (identifier "abStack_1bc") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "undefined1 auStack_134 [136];" (type_identifier "undefined1") (array_declarator "auStack_134 [136]" (identifier "auStack_134") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "undefined1 auStack_ac [136];" (type_identifier "undefined1") (array_declarator "auStack_ac [136]" (identifier "auStack_ac") ([ "[") (number_literal "136") (] "]")) (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000b8ce8;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b8ce8" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000b8ce8")) (; ";")) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000b8ce8" (identifier "local_24") (= "=") (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 "puVar13 = PTR_LAB_000b87fc + -0x6584;" (assignment_expression "puVar13 = PTR_LAB_000b87fc + -0x6584" (identifier "puVar13") (= "=") (binary_expression "PTR_LAB_000b87fc + -0x6584" (identifier "PTR_LAB_000b87fc") (+ "+") (number_literal "-0x6584"))) (; ";")) (expression_statement "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc);" (call_expression "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc)" (identifier "FUN_00059a7c") (argument_list "((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,abStack_1bc)" (( "(") (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_1")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)param_1[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)param_1[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "abStack_1bc") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134);" (call_expression "FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134)" (identifier "FUN_00059a7c") (argument_list "((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8,\n               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8,auStack_134)" (( "(") (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |\n               (uint)param_1[10] << 8" (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb]" (binary_expression "(uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10" (binary_expression "(uint)param_1[8] << 0x18" (cast_expression "(uint)param_1[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)param_1[9] << 0x10" (cast_expression "(uint)param_1[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)param_1[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")))) (| "|") (binary_expression "(uint)param_1[10] << 8" (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |\n               (uint)param_1[0xe] << 8" (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf]" (binary_expression "(uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10" (binary_expression "(uint)param_1[0xc] << 0x18" (cast_expression "(uint)param_1[0xc]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)param_1[0xd] << 0x10" (cast_expression "(uint)param_1[0xd]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)param_1[0xf]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")))) (| "|") (binary_expression "(uint)param_1[0xe] << 8" (cast_expression "(uint)param_1[0xe]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_134") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac);" (call_expression "FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac)" (identifier "FUN_00059a7c") (argument_list "((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8,\n               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8,auStack_ac)" (( "(") (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |\n               (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_1")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)param_1[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |\n               (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)param_1[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_ac") () ")"))) (; ";")) (expression_statement "pbVar8 = abStack_1bc;" (assignment_expression "pbVar8 = abStack_1bc" (identifier "pbVar8") (= "=") (identifier "abStack_1bc")) (; ";")) (expression_statement "FUN_0005c160(param_2,param_3);" (call_expression "FUN_0005c160(param_2,param_3)" (identifier "FUN_0005c160") (argument_list "(param_2,param_3)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "uVar5 = 0x198;" (assignment_expression "uVar5 = 0x198" (identifier "uVar5") (= "=") (number_literal "0x198")) (; ";")) (expression_statement "pbVar2 = abStack_1bc;" (assignment_expression "pbVar2 = abStack_1bc" (identifier "pbVar2") (= "=") (identifier "abStack_1bc")) (; ";")) (expression_statement "(*(code *)PTR_smemclr_000b8328)();" (call_expression "(*(code *)PTR_smemclr_000b8328)()" (parenthesized_expression "(*(code *)PTR_smemclr_000b8328)" (( "(") (pointer_expression "*(code *)PTR_smemclr_000b8328" (* "*") (cast_expression "(code *)PTR_smemclr_000b8328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemclr_000b8328"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_24 == *(int *)puVar1) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_24 == *(int *)puVar1)" (( "(") (binary_expression "local_24 == *(int *)puVar1" (identifier "local_24") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar19 = des3_encrypt_pubkey;" (assignment_expression "pcVar19 = des3_encrypt_pubkey" (identifier "pcVar19") (= "=") (identifier "des3_encrypt_pubkey")) (; ";")) (expression_statement "puVar18 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar18 = PTR___stack_chk_fail_000b8cbc" (identifier "puVar18") (= "=") (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 "puStack_1e8 = puVar1;" (assignment_expression "puStack_1e8 = puVar1" (identifier "puStack_1e8") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "piVar16 = *(int **)(puVar18 + 0x5bf14);" (assignment_expression "piVar16 = *(int **)(puVar18 + 0x5bf14)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(puVar18 + 0x5bf14)" (* "*") (cast_expression "(int **)(puVar18 + 0x5bf14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x5bf14)" (( "(") (binary_expression "puVar18 + 0x5bf14" (identifier "puVar18") (+ "+") (number_literal "0x5bf14")) () ")"))))) (; ";")) (expression_statement "iStack_1fc = *piVar16;" (assignment_expression "iStack_1fc = *piVar16" (identifier "iStack_1fc") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar18 + 0x5ba28);" (assignment_expression "iVar14 = *(int *)(puVar18 + 0x5ba28)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar18 + 0x5ba28)" (* "*") (cast_expression "(int *)(puVar18 + 0x5ba28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x5ba28)" (( "(") (binary_expression "puVar18 + 0x5ba28" (identifier "puVar18") (+ "+") (number_literal "0x5ba28")) () ")"))))) (; ";")) (expression_statement "pbStack_1f4 = param_1;" (assignment_expression "pbStack_1f4 = param_1" (identifier "pbStack_1f4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbStack_1f0 = abStack_1bc;" (assignment_expression "pbStack_1f0 = abStack_1bc" (identifier "pbStack_1f0") (= "=") (identifier "abStack_1bc")) (; ";")) (expression_statement "puStack_1ec = puVar13;" (assignment_expression "puStack_1ec = puVar13" (identifier "puStack_1ec") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "uStack_1e4 = param_2;" (assignment_expression "uStack_1e4 = param_2" (identifier "uStack_1e4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uStack_1e0 = param_3;" (assignment_expression "uStack_1e0 = param_3" (identifier "uStack_1e0") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pcStack_1dc = pcVar19;" (assignment_expression "pcStack_1dc = pcVar19" (identifier "pcStack_1dc") (= "=") (identifier "pcVar19")) (; ";")) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394)" (identifier "FUN_00059a7c") (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,abStack_394)" (( "(") (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar2")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[3]" (identifier "pbVar2") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[2]" (identifier "pbVar2") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[4]" (identifier "pbVar2") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[5]" (identifier "pbVar2") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[7]" (identifier "pbVar2") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[6]" (identifier "pbVar2") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "abStack_394") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c);" (call_expression "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c)" (identifier "FUN_00059a7c") (argument_list "((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_30c)" (( "(") (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb]" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10" (binary_expression "(uint)pbVar2[8] << 0x18" (cast_expression "(uint)pbVar2[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[8]" (identifier "pbVar2") ([ "[") (number_literal "8") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[9] << 0x10" (cast_expression "(uint)pbVar2[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[9]" (identifier "pbVar2") ([ "[") (number_literal "9") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xb]" (identifier "pbVar2") ([ "[") (number_literal "0xb") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[10] << 8" (cast_expression "(uint)pbVar2[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[10]" (identifier "pbVar2") ([ "[") (number_literal "10") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf]" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10" (binary_expression "(uint)pbVar2[0xc] << 0x18" (cast_expression "(uint)pbVar2[0xc]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xc]" (identifier "pbVar2") ([ "[") (number_literal "0xc") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[0xd] << 0x10" (cast_expression "(uint)pbVar2[0xd]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xd]" (identifier "pbVar2") ([ "[") (number_literal "0xd") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[0xf]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xf]" (identifier "pbVar2") ([ "[") (number_literal "0xf") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[0xe] << 8" (cast_expression "(uint)pbVar2[0xe]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xe]" (identifier "pbVar2") ([ "[") (number_literal "0xe") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_30c") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284)" (identifier "FUN_00059a7c") (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_284)" (( "(") (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar2")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[3]" (identifier "pbVar2") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[2]" (identifier "pbVar2") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[4]" (identifier "pbVar2") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[5]" (identifier "pbVar2") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[7]" (identifier "pbVar2") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[6]" (identifier "pbVar2") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_284") () ")"))) (; ";")) (expression_statement "pbVar9 = abStack_394;" (assignment_expression "pbVar9 = abStack_394" (identifier "pbVar9") (= "=") (identifier "abStack_394")) (; ";")) (expression_statement "FUN_0005c250(uVar5,pbVar8);" (call_expression "FUN_0005c250(uVar5,pbVar8)" (identifier "FUN_0005c250") (argument_list "(uVar5,pbVar8)" (( "(") (identifier "uVar5") (, ",") (identifier "pbVar8") () ")"))) (; ";")) (expression_statement "pbVar6 = &DAT_00000198;" (assignment_expression "pbVar6 = &DAT_00000198" (identifier "pbVar6") (= "=") (pointer_expression "&DAT_00000198" (& "&") (identifier "DAT_00000198"))) (; ";")) (expression_statement "pbVar3 = abStack_394;" (assignment_expression "pbVar3 = abStack_394" (identifier "pbVar3") (= "=") (identifier "abStack_394")) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x5b554))();" (call_expression "(**(code **)(puVar18 + 0x5b554))()" (parenthesized_expression "(**(code **)(puVar18 + 0x5b554))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x5b554)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x5b554)" (* "*") (cast_expression "(code **)(puVar18 + 0x5b554)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x5b554)" (( "(") (binary_expression "puVar18 + 0x5b554" (identifier "puVar18") (+ "+") (number_literal "0x5b554")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iStack_1fc == *piVar16) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_1fc == *piVar16)" (( "(") (binary_expression "iStack_1fc == *piVar16" (identifier "iStack_1fc") (== "==") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar19 = *(code **)(puVar18 + 0x5bee8);" (assignment_expression "pcVar19 = *(code **)(puVar18 + 0x5bee8)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(puVar18 + 0x5bee8)" (* "*") (cast_expression "(code **)(puVar18 + 0x5bee8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x5bee8)" (( "(") (binary_expression "puVar18 + 0x5bee8" (identifier "puVar18") (+ "+") (number_literal "0x5bee8")) () ")"))))) (; ";")) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_578 = pcVar19 + 0x632c8;" (assignment_expression "pcStack_578 = pcVar19 + 0x632c8" (identifier "pcStack_578") (= "=") (binary_expression "pcVar19 + 0x632c8" (identifier "pcVar19") (+ "+") (number_literal "0x632c8"))) (; ";")) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x5bd20);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x5bd20)" (identifier "piVar15") (= "=") (pointer_expression "*(int **)(pcVar19 + 0x5bd20)" (* "*") (cast_expression "(int **)(pcVar19 + 0x5bd20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x5bd20)" (( "(") (binary_expression "pcVar19 + 0x5bd20" (identifier "pcVar19") (+ "+") (number_literal "0x5bd20")) () ")"))))) (; ";")) (expression_statement "iStack_3d4 = *piVar15;" (assignment_expression "iStack_3d4 = *piVar15" (identifier "iStack_3d4") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "iVar17 = *(int *)(pcVar19 + 0x5b834);" (assignment_expression "iVar17 = *(int *)(pcVar19 + 0x5b834)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar19 + 0x5b834)" (* "*") (cast_expression "(int *)(pcVar19 + 0x5b834)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar19 + 0x5b834)" (( "(") (binary_expression "pcVar19 + 0x5b834" (identifier "pcVar19") (+ "+") (number_literal "0x5b834")) () ")"))))) (; ";")) (expression_statement "uVar12 = param_4;" (assignment_expression "uVar12 = param_4" (identifier "uVar12") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pbStack_3d0 = pbVar2;" (assignment_expression "pbStack_3d0 = pbVar2" (identifier "pbStack_3d0") (= "=") (identifier "pbVar2")) (; ";")) (expression_statement "pbStack_3cc = abStack_394;" (assignment_expression "pbStack_3cc = abStack_394" (identifier "pbStack_3cc") (= "=") (identifier "abStack_394")) (; ";")) (expression_statement "iStack_3c8 = iVar14 + -0x6584;" (assignment_expression "iStack_3c8 = iVar14 + -0x6584" (identifier "iStack_3c8") (= "=") (binary_expression "iVar14 + -0x6584" (identifier "iVar14") (+ "+") (number_literal "-0x6584"))) (; ";")) (expression_statement "piStack_3c4 = piVar16;" (assignment_expression "piStack_3c4 = piVar16" (identifier "piStack_3c4") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "uStack_3c0 = uVar5;" (assignment_expression "uStack_3c0 = uVar5" (identifier "uStack_3c0") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "pbStack_3bc = pbVar8;" (assignment_expression "pbStack_3bc = pbVar8" (identifier "pbStack_3bc") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c);" (call_expression "FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c)" (identifier "FUN_00059a7c") (argument_list "((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8,\n               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8,abStack_56c)" (( "(") (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |\n               (uint)pbVar3[2] << 8" (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3]" (binary_expression "(uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10" (binary_expression "(uint)*pbVar3 << 0x18" (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar3")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar3[1] << 0x10" (cast_expression "(uint)pbVar3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[1]" (identifier "pbVar3") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar3[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[3]" (identifier "pbVar3") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)pbVar3[2] << 8" (cast_expression "(uint)pbVar3[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[2]" (identifier "pbVar3") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |\n               (uint)pbVar3[6] << 8" (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7]" (binary_expression "(uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10" (binary_expression "(uint)pbVar3[4] << 0x18" (cast_expression "(uint)pbVar3[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[4]" (identifier "pbVar3") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar3[5] << 0x10" (cast_expression "(uint)pbVar3[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[5]" (identifier "pbVar3") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar3[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[7]" (identifier "pbVar3") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)pbVar3[6] << 8" (cast_expression "(uint)pbVar3[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[6]" (identifier "pbVar3") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "abStack_56c") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4);" (call_expression "FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4)" (identifier "FUN_00059a7c") (argument_list "((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8,\n               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8,auStack_4e4)" (( "(") (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |\n               (uint)pbVar3[10] << 8" (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb]" (binary_expression "(uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10" (binary_expression "(uint)pbVar3[8] << 0x18" (cast_expression "(uint)pbVar3[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[8]" (identifier "pbVar3") ([ "[") (number_literal "8") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar3[9] << 0x10" (cast_expression "(uint)pbVar3[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[9]" (identifier "pbVar3") ([ "[") (number_literal "9") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar3[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0xb]" (identifier "pbVar3") ([ "[") (number_literal "0xb") (] "]")))) (| "|") (binary_expression "(uint)pbVar3[10] << 8" (cast_expression "(uint)pbVar3[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[10]" (identifier "pbVar3") ([ "[") (number_literal "10") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |\n               (uint)pbVar3[0xe] << 8" (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf]" (binary_expression "(uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10" (binary_expression "(uint)pbVar3[0xc] << 0x18" (cast_expression "(uint)pbVar3[0xc]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0xc]" (identifier "pbVar3") ([ "[") (number_literal "0xc") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar3[0xd] << 0x10" (cast_expression "(uint)pbVar3[0xd]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0xd]" (identifier "pbVar3") ([ "[") (number_literal "0xd") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar3[0xf]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0xf]" (identifier "pbVar3") ([ "[") (number_literal "0xf") (] "]")))) (| "|") (binary_expression "(uint)pbVar3[0xe] << 8" (cast_expression "(uint)pbVar3[0xe]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0xe]" (identifier "pbVar3") ([ "[") (number_literal "0xe") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_4e4") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c);" (call_expression "FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c)" (identifier "FUN_00059a7c") (argument_list "((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8,\n               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8,auStack_45c)" (( "(") (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |\n               (uint)pbVar3[0x12] << 8" (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13]" (binary_expression "(uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10" (binary_expression "(uint)pbVar3[0x10] << 0x18" (cast_expression "(uint)pbVar3[0x10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x10]" (identifier "pbVar3") ([ "[") (number_literal "0x10") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar3[0x11] << 0x10" (cast_expression "(uint)pbVar3[0x11]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x11]" (identifier "pbVar3") ([ "[") (number_literal "0x11") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar3[0x13]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x13]" (identifier "pbVar3") ([ "[") (number_literal "0x13") (] "]")))) (| "|") (binary_expression "(uint)pbVar3[0x12] << 8" (cast_expression "(uint)pbVar3[0x12]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x12]" (identifier "pbVar3") ([ "[") (number_literal "0x12") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |\n               (uint)pbVar3[0x16] << 8" (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17]" (binary_expression "(uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10" (binary_expression "(uint)pbVar3[0x14] << 0x18" (cast_expression "(uint)pbVar3[0x14]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x14]" (identifier "pbVar3") ([ "[") (number_literal "0x14") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar3[0x15] << 0x10" (cast_expression "(uint)pbVar3[0x15]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x15]" (identifier "pbVar3") ([ "[") (number_literal "0x15") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar3[0x17]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x17]" (identifier "pbVar3") ([ "[") (number_literal "0x17") (] "]")))) (| "|") (binary_expression "(uint)pbVar3[0x16] << 8" (cast_expression "(uint)pbVar3[0x16]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[0x16]" (identifier "pbVar3") ([ "[") (number_literal "0x16") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_45c") () ")"))) (; ";")) (expression_statement "uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8;" (assignment_expression "uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8" (identifier "uStack_4ec") (= "=") (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |\n               (uint)pbVar6[2] << 8" (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3]" (binary_expression "(uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10" (binary_expression "(uint)*pbVar6 << 0x18" (binary_expression "(uint)*pbVar6" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar6")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar6[1] << 0x10" (cast_expression "(uint)pbVar6[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar6[1]" (identifier "pbVar6") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar6[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar6[3]" (identifier "pbVar6") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)pbVar6[2] << 8" (cast_expression "(uint)pbVar6[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar6[2]" (identifier "pbVar6") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8;" (assignment_expression "uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8" (identifier "uStack_4e8") (= "=") (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |\n               (uint)pbVar6[6] << 8" (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7]" (binary_expression "(uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10" (binary_expression "(uint)pbVar6[4] << 0x18" (cast_expression "(uint)pbVar6[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar6[4]" (identifier "pbVar6") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar6[5] << 0x10" (cast_expression "(uint)pbVar6[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar6[5]" (identifier "pbVar6") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar6[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar6[7]" (identifier "pbVar6") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)pbVar6[6] << 8" (cast_expression "(uint)pbVar6[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar6[6]" (identifier "pbVar6") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "pbVar8 = abStack_56c;" (assignment_expression "pbVar8 = abStack_56c" (identifier "pbVar8") (= "=") (identifier "abStack_56c")) (; ";")) (expression_statement "FUN_0005c3cc(pbVar9,param_4);" (call_expression "FUN_0005c3cc(pbVar9,param_4)" (identifier "FUN_0005c3cc") (argument_list "(pbVar9,param_4)" (( "(") (identifier "pbVar9") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "pbVar7 = &DAT_00000198;" (assignment_expression "pbVar7 = &DAT_00000198" (identifier "pbVar7") (= "=") (pointer_expression "&DAT_00000198" (& "&") (identifier "DAT_00000198"))) (; ";")) (expression_statement "pbVar2 = abStack_56c;" (assignment_expression "pbVar2 = abStack_56c" (identifier "pbVar2") (= "=") (identifier "abStack_56c")) (; ";")) (expression_statement "(**(code **)(pcStack_578 + -0x7f68))();" (call_expression "(**(code **)(pcStack_578 + -0x7f68))()" (parenthesized_expression "(**(code **)(pcStack_578 + -0x7f68))" (( "(") (pointer_expression "**(code **)(pcStack_578 + -0x7f68)" (* "*") (pointer_expression "*(code **)(pcStack_578 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_578 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_578 + -0x7f68)" (( "(") (binary_expression "pcStack_578 + -0x7f68" (identifier "pcStack_578") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iStack_3d4 == *piVar15) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_3d4 == *piVar15)" (( "(") (binary_expression "iStack_3d4 == *piVar15" (identifier "iStack_3d4") (== "==") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar19 = *(code **)(pcStack_578 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_578 + -0x75d4)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(pcStack_578 + -0x75d4)" (* "*") (cast_expression "(code **)(pcStack_578 + -0x75d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_578 + -0x75d4)" (( "(") (binary_expression "pcStack_578 + -0x75d4" (identifier "pcStack_578") (+ "+") (number_literal "-0x75d4")) () ")"))))) (; ";")) (expression_statement "uVar5 = 0x5d220;" (assignment_expression "uVar5 = 0x5d220" (identifier "uVar5") (= "=") (number_literal "0x5d220")) (; ";")) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_750 = pcVar19 + 0x63070;" (assignment_expression "pcStack_750 = pcVar19 + 0x63070" (identifier "pcStack_750") (= "=") (binary_expression "pcVar19 + 0x63070" (identifier "pcVar19") (+ "+") (number_literal "0x63070"))) (; ";")) (expression_statement "piVar16 = *(int **)(pcVar19 + 0x5bac8);" (assignment_expression "piVar16 = *(int **)(pcVar19 + 0x5bac8)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(pcVar19 + 0x5bac8)" (* "*") (cast_expression "(int **)(pcVar19 + 0x5bac8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x5bac8)" (( "(") (binary_expression "pcVar19 + 0x5bac8" (identifier "pcVar19") (+ "+") (number_literal "0x5bac8")) () ")"))))) (; ";")) (expression_statement "iStack_5ac = *piVar16;" (assignment_expression "iStack_5ac = *piVar16" (identifier "iStack_5ac") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "pbStack_5a8 = pbVar3;" (assignment_expression "pbStack_5a8 = pbVar3" (identifier "pbStack_5a8") (= "=") (identifier "pbVar3")) (; ";")) (expression_statement "pbStack_5a4 = abStack_56c;" (assignment_expression "pbStack_5a4 = abStack_56c" (identifier "pbStack_5a4") (= "=") (identifier "abStack_56c")) (; ";")) (expression_statement "piStack_5a0 = piVar15;" (assignment_expression "piStack_5a0 = piVar15" (identifier "piStack_5a0") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "pbStack_59c = pbVar9;" (assignment_expression "pbStack_59c = pbVar9" (identifier "pbStack_59c") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "uStack_598 = param_4;" (assignment_expression "uStack_598 = param_4" (identifier "uStack_598") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pbStack_594 = pbVar6;" (assignment_expression "pbStack_594 = pbVar6" (identifier "pbStack_594") (= "=") (identifier "pbVar6")) (; ";")) (expression_statement "iStack_590 = iVar17 + -0x6584;" (assignment_expression "iStack_590 = iVar17 + -0x6584" (identifier "iStack_590") (= "=") (binary_expression "iVar17 + -0x6584" (identifier "iVar17") (+ "+") (number_literal "-0x6584"))) (; ";")) (expression_statement "uStack_58c = uVar5;" (assignment_expression "uStack_58c = uVar5" (identifier "uStack_58c") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744);" (call_expression "FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744)" (identifier "FUN_00059a7c") (argument_list "((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8,\n               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8,auStack_744)" (( "(") (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |\n               (uint)pbVar2[2] << 8" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3]" (binary_expression "(uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10" (binary_expression "(uint)*pbVar2 << 0x18" (binary_expression "(uint)*pbVar2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar2")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[1] << 0x10" (cast_expression "(uint)pbVar2[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[1]" (identifier "pbVar2") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[3]" (identifier "pbVar2") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[2] << 8" (cast_expression "(uint)pbVar2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[2]" (identifier "pbVar2") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |\n               (uint)pbVar2[6] << 8" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7]" (binary_expression "(uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10" (binary_expression "(uint)pbVar2[4] << 0x18" (cast_expression "(uint)pbVar2[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[4]" (identifier "pbVar2") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[5] << 0x10" (cast_expression "(uint)pbVar2[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[5]" (identifier "pbVar2") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[7]" (identifier "pbVar2") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[6] << 8" (cast_expression "(uint)pbVar2[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[6]" (identifier "pbVar2") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_744") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc);" (call_expression "FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc)" (identifier "FUN_00059a7c") (argument_list "((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8,\n               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8,auStack_6bc)" (( "(") (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |\n               (uint)pbVar2[10] << 8" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb]" (binary_expression "(uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10" (binary_expression "(uint)pbVar2[8] << 0x18" (cast_expression "(uint)pbVar2[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[8]" (identifier "pbVar2") ([ "[") (number_literal "8") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[9] << 0x10" (cast_expression "(uint)pbVar2[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[9]" (identifier "pbVar2") ([ "[") (number_literal "9") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xb]" (identifier "pbVar2") ([ "[") (number_literal "0xb") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[10] << 8" (cast_expression "(uint)pbVar2[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[10]" (identifier "pbVar2") ([ "[") (number_literal "10") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |\n               (uint)pbVar2[0xe] << 8" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf]" (binary_expression "(uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10" (binary_expression "(uint)pbVar2[0xc] << 0x18" (cast_expression "(uint)pbVar2[0xc]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xc]" (identifier "pbVar2") ([ "[") (number_literal "0xc") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[0xd] << 0x10" (cast_expression "(uint)pbVar2[0xd]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xd]" (identifier "pbVar2") ([ "[") (number_literal "0xd") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[0xf]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xf]" (identifier "pbVar2") ([ "[") (number_literal "0xf") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[0xe] << 8" (cast_expression "(uint)pbVar2[0xe]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0xe]" (identifier "pbVar2") ([ "[") (number_literal "0xe") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_6bc") () ")"))) (; ";")) (expression_statement "FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634);" (call_expression "FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634)" (identifier "FUN_00059a7c") (argument_list "((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8,\n               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8,auStack_634)" (( "(") (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |\n               (uint)pbVar2[0x12] << 8" (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13]" (binary_expression "(uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10" (binary_expression "(uint)pbVar2[0x10] << 0x18" (cast_expression "(uint)pbVar2[0x10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x10]" (identifier "pbVar2") ([ "[") (number_literal "0x10") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[0x11] << 0x10" (cast_expression "(uint)pbVar2[0x11]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x11]" (identifier "pbVar2") ([ "[") (number_literal "0x11") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[0x13]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x13]" (identifier "pbVar2") ([ "[") (number_literal "0x13") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[0x12] << 8" (cast_expression "(uint)pbVar2[0x12]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x12]" (identifier "pbVar2") ([ "[") (number_literal "0x12") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |\n               (uint)pbVar2[0x16] << 8" (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17]" (binary_expression "(uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10" (binary_expression "(uint)pbVar2[0x14] << 0x18" (cast_expression "(uint)pbVar2[0x14]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x14]" (identifier "pbVar2") ([ "[") (number_literal "0x14") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar2[0x15] << 0x10" (cast_expression "(uint)pbVar2[0x15]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x15]" (identifier "pbVar2") ([ "[") (number_literal "0x15") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar2[0x17]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x17]" (identifier "pbVar2") ([ "[") (number_literal "0x17") (] "]")))) (| "|") (binary_expression "(uint)pbVar2[0x16] << 8" (cast_expression "(uint)pbVar2[0x16]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar2[0x16]" (identifier "pbVar2") ([ "[") (number_literal "0x16") (] "]"))) (<< "<<") (number_literal "8"))) (, ",") (identifier "auStack_634") () ")"))) (; ";")) (expression_statement "uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8;" (assignment_expression "uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8" (identifier "uStack_6c4") (= "=") (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |\n               (uint)pbVar7[2] << 8" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3]" (binary_expression "(uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10" (binary_expression "(uint)*pbVar7 << 0x18" (binary_expression "(uint)*pbVar7" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar7")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar7[1] << 0x10" (cast_expression "(uint)pbVar7[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[1]" (identifier "pbVar7") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar7[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[3]" (identifier "pbVar7") ([ "[") (number_literal "3") (] "]")))) (| "|") (binary_expression "(uint)pbVar7[2] << 8" (cast_expression "(uint)pbVar7[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[2]" (identifier "pbVar7") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8;" (assignment_expression "uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8" (identifier "uStack_6c0") (= "=") (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |\n               (uint)pbVar7[6] << 8" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7]" (binary_expression "(uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10" (binary_expression "(uint)pbVar7[4] << 0x18" (cast_expression "(uint)pbVar7[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[4]" (identifier "pbVar7") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)pbVar7[5] << 0x10" (cast_expression "(uint)pbVar7[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[5]" (identifier "pbVar7") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)pbVar7[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[7]" (identifier "pbVar7") ([ "[") (number_literal "7") (] "]")))) (| "|") (binary_expression "(uint)pbVar7[6] << 8" (cast_expression "(uint)pbVar7[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar7[6]" (identifier "pbVar7") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "puVar10 = auStack_744;" (assignment_expression "puVar10 = auStack_744" (identifier "puVar10") (= "=") (identifier "auStack_744")) (; ";")) (expression_statement "FUN_0005c644(pbVar8,uVar12);" (call_expression "FUN_0005c644(pbVar8,uVar12)" (identifier "FUN_0005c644") (argument_list "(pbVar8,uVar12)" (( "(") (identifier "pbVar8") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "uVar5 = 0x198;" (assignment_expression "uVar5 = 0x198" (identifier "uVar5") (= "=") (number_literal "0x198")) (; ";")) (expression_statement "(**(code **)(pcStack_750 + -0x7f68))(auStack_744);" (call_expression "(**(code **)(pcStack_750 + -0x7f68))(auStack_744)" (parenthesized_expression "(**(code **)(pcStack_750 + -0x7f68))" (( "(") (pointer_expression "**(code **)(pcStack_750 + -0x7f68)" (* "*") (pointer_expression "*(code **)(pcStack_750 + -0x7f68)" (* "*") (cast_expression "(code **)(pcStack_750 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_750 + -0x7f68)" (( "(") (binary_expression "pcStack_750 + -0x7f68" (identifier "pcStack_750") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "(auStack_744)" (( "(") (identifier "auStack_744") () ")"))) (; ";")) (if_statement "if (iStack_5ac == *piVar16) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_5ac == *piVar16)" (( "(") (binary_expression "iStack_5ac == *piVar16" (identifier "iStack_5ac") (== "==") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar19 = *(code **)(pcStack_750 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_750 + -0x75d4)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(pcStack_750 + -0x75d4)" (* "*") (cast_expression "(code **)(pcStack_750 + -0x75d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_750 + -0x75d4)" (( "(") (binary_expression "pcStack_750 + -0x75d4" (identifier "pcStack_750") (+ "+") (number_literal "-0x75d4")) () ")"))))) (; ";")) (expression_statement "pcVar20 = des_encrypt_xdmauth;" (assignment_expression "pcVar20 = des_encrypt_xdmauth" (identifier "pcVar20") (= "=") (identifier "des_encrypt_xdmauth")) (; ";")) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_810 = pcVar19 + 0x62e18;" (assignment_expression "pcStack_810 = pcVar19 + 0x62e18" (identifier "pcStack_810") (= "=") (binary_expression "pcVar19 + 0x62e18" (identifier "pcVar19") (+ "+") (number_literal "0x62e18"))) (; ";")) (expression_statement "piVar15 = *(int **)(pcVar19 + 0x5b870);" (assignment_expression "piVar15 = *(int **)(pcVar19 + 0x5b870)" (identifier "piVar15") (= "=") (pointer_expression "*(int **)(pcVar19 + 0x5b870)" (* "*") (cast_expression "(int **)(pcVar19 + 0x5b870)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x5b870)" (( "(") (binary_expression "pcVar19 + 0x5b870" (identifier "pcVar19") (+ "+") (number_literal "0x5b870")) () ")"))))) (; ";")) (expression_statement "iStack_77c = *piVar15;" (assignment_expression "iStack_77c = *piVar15" (identifier "iStack_77c") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "pbStack_774 = pbVar2;" (assignment_expression "pbStack_774 = pbVar2" (identifier "pbStack_774") (= "=") (identifier "pbVar2")) (; ";")) (expression_statement "puStack_770 = auStack_744;" (assignment_expression "puStack_770 = auStack_744" (identifier "puStack_770") (= "=") (identifier "auStack_744")) (; ";")) (expression_statement "piStack_76c = piVar16;" (assignment_expression "piStack_76c = piVar16" (identifier "piStack_76c") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "pbStack_768 = pbVar8;" (assignment_expression "pbStack_768 = pbVar8" (identifier "pbStack_768") (= "=") (identifier "pbVar8")) (; ";")) (expression_statement "pcStack_764 = pcVar20;" (assignment_expression "pcStack_764 = pcVar20" (identifier "pcStack_764") (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "FUN_0005bbdc();" (call_expression "FUN_0005bbdc()" (identifier "FUN_0005bbdc") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar4 = puVar10;" (assignment_expression "puVar4 = puVar10" (identifier "puVar4") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "puVar11 = auStack_804;" (assignment_expression "puVar11 = auStack_804" (identifier "puVar11") (= "=") (identifier "auStack_804")) (; ";")) (expression_statement "FUN_0005bd68(uVar5,puVar10,auStack_804);" (call_expression "FUN_0005bd68(uVar5,puVar10,auStack_804)" (identifier "FUN_0005bd68") (argument_list "(uVar5,puVar10,auStack_804)" (( "(") (identifier "uVar5") (, ",") (identifier "puVar10") (, ",") (identifier "auStack_804") () ")"))) (; ";")) (if_statement "if (iStack_77c == *piVar15) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_77c == *piVar15)" (( "(") (binary_expression "iStack_77c == *piVar15" (identifier "iStack_77c") (== "==") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar19 = *(code **)(pcStack_810 + -0x75d4);" (assignment_expression "pcVar19 = *(code **)(pcStack_810 + -0x75d4)" (identifier "pcVar19") (= "=") (pointer_expression "*(code **)(pcStack_810 + -0x75d4)" (* "*") (cast_expression "(code **)(pcStack_810 + -0x75d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_810 + -0x75d4)" (( "(") (binary_expression "pcStack_810 + -0x75d4" (identifier "pcStack_810") (+ "+") (number_literal "-0x75d4")) () ")"))))) (; ";")) (expression_statement "pcVar20 = des_decrypt_xdmauth;" (assignment_expression "pcVar20 = des_decrypt_xdmauth" (identifier "pcVar20") (= "=") (identifier "des_decrypt_xdmauth")) (; ";")) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar16 = *(int **)(pcVar19 + 0x5b7c4);" (assignment_expression "piVar16 = *(int **)(pcVar19 + 0x5b7c4)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(pcVar19 + 0x5b7c4)" (* "*") (cast_expression "(int **)(pcVar19 + 0x5b7c4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x5b7c4)" (( "(") (binary_expression "pcVar19 + 0x5b7c4" (identifier "pcVar19") (+ "+") (number_literal "0x5b7c4")) () ")"))))) (; ";")) (expression_statement "iStack_83c = *piVar16;" (assignment_expression "iStack_83c = *piVar16" (identifier "iStack_83c") (= "=") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) (; ";")) (expression_statement "piStack_834 = piVar15;" (assignment_expression "piStack_834 = piVar15" (identifier "piStack_834") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "puStack_830 = auStack_804;" (assignment_expression "puStack_830 = auStack_804" (identifier "puStack_830") (= "=") (identifier "auStack_804")) (; ";")) (expression_statement "uStack_82c = uVar5;" (assignment_expression "uStack_82c = uVar5" (identifier "uStack_82c") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puStack_828 = puVar10;" (assignment_expression "puStack_828 = puVar10" (identifier "puStack_828") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "pcStack_824 = pcVar20;" (assignment_expression "pcStack_824 = pcVar20" (identifier "pcStack_824") (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "FUN_0005bbdc();" (call_expression "FUN_0005bbdc()" (identifier "FUN_0005bbdc") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0005bf90(puVar4,puVar11,auStack_8c4);" (call_expression "FUN_0005bf90(puVar4,puVar11,auStack_8c4)" (identifier "FUN_0005bf90") (argument_list "(puVar4,puVar11,auStack_8c4)" (( "(") (identifier "puVar4") (, ",") (identifier "puVar11") (, ",") (identifier "auStack_8c4") () ")"))) (; ";")) (if_statement "if (iStack_83c == *piVar16) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_83c == *piVar16)" (( "(") (binary_expression "iStack_83c == *piVar16" (identifier "iStack_83c") (== "==") (pointer_expression "*piVar16" (* "*") (identifier "piVar16"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar19 + 0x5b798))();" (call_expression "(**(code **)(pcVar19 + 0x5b798))()" (parenthesized_expression "(**(code **)(pcVar19 + 0x5b798))" (( "(") (pointer_expression "**(code **)(pcVar19 + 0x5b798)" (* "*") (pointer_expression "*(code **)(pcVar19 + 0x5b798)" (* "*") (cast_expression "(code **)(pcVar19 + 0x5b798)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar19 + 0x5b798)" (( "(") (binary_expression "pcVar19 + 0x5b798" (identifier "pcVar19") (+ "+") (number_literal "0x5b798")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = bignum_rshift(puVar4[2],1);" (assignment_expression "uVar5 = bignum_rshift(puVar4[2],1)" (identifier "uVar5") (= "=") (call_expression "bignum_rshift(puVar4[2],1)" (identifier "bignum_rshift") (argument_list "(puVar4[2],1)" (( "(") (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "puVar4[3] = uVar5;" (assignment_expression "puVar4[3] = uVar5" (subscript_expression "puVar4[3]" (identifier "puVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uVar5 = bignum_bitmask(uVar5);" (assignment_expression "uVar5 = bignum_bitmask(uVar5)" (identifier "uVar5") (= "=") (call_expression "bignum_bitmask(uVar5)" (identifier "bignum_bitmask") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "puVar4[4] = uVar5;" (assignment_expression "puVar4[4] = uVar5" (subscript_expression "puVar4[4]" (identifier "puVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar4[1] = 0;" (assignment_expression "puVar4[1] = 0" (subscript_expression "puVar4[1]" (identifier "puVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *var_3,type_1 *blk,int len)

{
  type_2 *puVar1;
  int var_6;
  type_3 pBVar3;
  type_4 *pDVar4;
  type_4 *pDVar5;
  type_1 *keydata;
  type_1 *puVar6;
  type_5 *var_11;
  type_5 *var_16;
  type_4 *pDVar9;
  type_4 *pDVar10;
  type_6 in_a3;
  type_6 len_00;
  type_2 *puVar11;
  int *piVar12;
  int *piVar13;
  int var_15;
  type_2 *var_7;
  type_7 *var_10;
  type_7 *pcVar17;
  type_4 DStack_8c4;
  int var_25;
  int *piStack_834;
  type_4 *pDStack_830;
  type_1 *puStack_82c;
  type_4 *pDStack_828;
  type_7 *pcStack_824;
  type_7 *var_23;
  type_4 DStack_804;
  int var_22;
  type_4 *pDStack_774;
  type_4 *pDStack_770;
  int *piStack_76c;
  type_4 *pDStack_768;
  type_7 *pcStack_764;
  type_7 *var_18;
  type_4 DStack_744;
  type_4 DStack_6bc;
  type_4 DStack_634;
  int var_19;
  type_4 *pDStack_5a8;
  type_4 *pDStack_5a4;
  int *piStack_5a0;
  type_4 *pDStack_59c;
  type_5 *pbStack_594;
  int iStack_590;
  type_7 *pcStack_58c;
  type_7 *var_13;
  type_4 DStack_56c;
  type_4 DStack_4e4;
  type_4 DStack_45c;
  int var_14;
  type_4 *pDStack_3d0;
  type_4 *pDStack_3cc;
  int iStack_3c8;
  int *piStack_3c4;
  type_1 *puStack_3c0;
  type_4 *pDStack_3bc;
  type_4 DStack_394;
  type_4 DStack_30c;
  type_4 DStack_284;
  int var_9;
  type_1 *puStack_1f4;
  type_4 *pDStack_1f0;
  type_2 *puStack_1ec;
  type_2 *puStack_1e8;
  type_1 *puStack_1e4;
  int iStack_1e0;
  type_7 *pcStack_1dc;
  type_4 var_4 [3];
  
  puVar1 = PTR___stack_chk_guard_000b8ce8;
  var_6 = *(int *)PTR___stack_chk_guard_000b8ce8;
  puVar11 = var_1 + -0x6584;
  var_2((type_6)*var_3 << 0x18 | (type_6)var_3[1] << 0x10 | (type_6)var_3[3] | (type_6)var_3[2] << 8,
                (type_6)var_3[4] << 0x18 | (type_6)var_3[5] << 0x10 | (type_6)var_3[7] | (type_6)var_3[6] << 8,
                var_4);
  var_2((type_6)var_3[8] << 0x18 | (type_6)var_3[9] << 0x10 | (type_6)var_3[0xb] | (type_6)var_3[10] << 8,
                (type_6)var_3[0xc] << 0x18 | (type_6)var_3[0xd] << 0x10 | (type_6)var_3[0xf] |
                (type_6)var_3[0xe] << 8,var_4 + 1);
  var_2((type_6)*var_3 << 0x18 | (type_6)var_3[1] << 0x10 | (type_6)var_3[3] | (type_6)var_3[2] << 8,
                (type_6)var_3[4] << 0x18 | (type_6)var_3[5] << 0x10 | (type_6)var_3[7] | (type_6)var_3[6] << 8,
                var_4 + 2);
  pDVar9 = var_4;
  var_5(blk,len,var_4);
  puVar6 = &DAT_00000198;
  pDVar4 = var_4;
  (*(type_7 *)PTR_smemclr_000b8328)();
  if (var_6 == *(int *)puVar1) {
    return;
  }
  var_10 = des3_encrypt_pubkey;
  var_7 = PTR___stack_chk_fail_000b8cbc;
  (*(type_7 *)PTR___stack_chk_fail_000b8cbc)();
  puStack_1e8 = puVar1;
  piVar13 = *(int **)(var_7 + 0x5bf14);
  var_9 = *piVar13;
  var_6 = *(int *)(var_7 + 0x5ba28);
  puStack_1f4 = var_3;
  pDStack_1f0 = var_4;
  puStack_1ec = puVar11;
  puStack_1e4 = blk;
  iStack_1e0 = len;
  pcStack_1dc = var_10;
  var_2((type_6)*(type_5 *)pDVar4->k0246 << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 1) << 0x10 | (type_6)(type_5)pDVar4->k0246[0] |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 2) << 8,
                (type_6)*(type_5 *)(pDVar4->k0246 + 1) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 5) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 7) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 6) << 8,&DStack_394);
  var_2((type_6)*(type_5 *)(pDVar4->k0246 + 2) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 9) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xb) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 10) << 8,
                (type_6)*(type_5 *)(pDVar4->k0246 + 3) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xd) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xf) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_30c);
  var_2((type_6)*(type_5 *)pDVar4->k0246 << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 1) << 0x10 | (type_6)(type_5)pDVar4->k0246[0] |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 2) << 8,
                (type_6)*(type_5 *)(pDVar4->k0246 + 1) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 5) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 7) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 6) << 8,&DStack_284);
  pDVar10 = &DStack_394;
  var_8(puVar6,(type_6)pDVar9,&DStack_394);
  var_11 = &DAT_00000198;
  pDVar5 = &DStack_394;
  (**(type_7 **)(var_7 + 0x5b554))();
  if (var_9 == *piVar13) {
    return;
  }
  var_10 = *(type_7 **)(var_7 + 0x5bee8);
  (*var_10)();
  var_13 = var_10 + 0x632c8;
  piVar12 = *(int **)(var_10 + 0x5bd20);
  var_14 = *piVar12;
  var_15 = *(int *)(var_10 + 0x5b834);
  len_00 = in_a3;
  pDStack_3d0 = pDVar4;
  pDStack_3cc = &DStack_394;
  iStack_3c8 = var_6 + -0x6584;
  piStack_3c4 = piVar13;
  puStack_3c0 = puVar6;
  pDStack_3bc = pDVar9;
  var_2((type_6)*(type_5 *)pDVar5->k0246 << 0x18 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 1) << 0x10 | (type_6)(type_5)pDVar5->k0246[0] |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 2) << 8,
                (type_6)*(type_5 *)(pDVar5->k0246 + 1) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 5) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 7) |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 6) << 8,&DStack_56c);
  var_2((type_6)*(type_5 *)(pDVar5->k0246 + 2) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 9) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0xb) |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 10) << 8,
                (type_6)*(type_5 *)(pDVar5->k0246 + 3) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0xd) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0xf) |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0xe) << 8,&DStack_4e4);
  var_2((type_6)*(type_5 *)(pDVar5->k0246 + 4) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0x11) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0x13) |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0x12) << 8,
                (type_6)*(type_5 *)(pDVar5->k0246 + 5) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0x15) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0x17) |
                (type_6)*(type_5 *)((int)pDVar5->k0246 + 0x16) << 8,&DStack_45c);
  DStack_56c.iv0 =
       (type_6)*var_11 << 0x18 | (type_6)var_11[1] << 0x10 | (type_6)var_11[3] | (type_6)var_11[2] << 8;
  DStack_56c.iv1 =
       (type_6)var_11[4] << 0x18 | (type_6)var_11[5] << 0x10 | (type_6)var_11[7] | (type_6)var_11[6] << 8;
  pDVar9 = &DStack_56c;
  var_12((type_1 *)pDVar10,in_a3,&DStack_56c);
  var_16 = &DAT_00000198;
  pDVar4 = &DStack_56c;
  (**(type_7 **)(var_13 + -0x7f68))();
  if (var_14 == *piVar12) {
    return;
  }
  var_10 = *(type_7 **)(var_13 + -0x75d4);
  pcVar17 = des3_encrypt_pubkey_ossh;
  (*var_10)();
  var_18 = var_10 + 0x63070;
  piVar13 = *(int **)(var_10 + 0x5bac8);
  var_19 = *piVar13;
  pDStack_5a8 = pDVar5;
  pDStack_5a4 = &DStack_56c;
  piStack_5a0 = piVar12;
  pDStack_59c = pDVar10;
  pbStack_594 = var_11;
  iStack_590 = var_15 + -0x6584;
  pcStack_58c = pcVar17;
  var_2((type_6)*(type_5 *)pDVar4->k0246 << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 1) << 0x10 | (type_6)(type_5)pDVar4->k0246[0] |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 2) << 8,
                (type_6)*(type_5 *)(pDVar4->k0246 + 1) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 5) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 7) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 6) << 8,&DStack_744);
  var_2((type_6)*(type_5 *)(pDVar4->k0246 + 2) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 9) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xb) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 10) << 8,
                (type_6)*(type_5 *)(pDVar4->k0246 + 3) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xd) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xf) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0xe) << 8,&DStack_6bc);
  var_2((type_6)*(type_5 *)(pDVar4->k0246 + 4) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0x11) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0x13) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0x12) << 8,
                (type_6)*(type_5 *)(pDVar4->k0246 + 5) << 0x18 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0x15) << 0x10 |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0x17) |
                (type_6)*(type_5 *)((int)pDVar4->k0246 + 0x16) << 8,&DStack_634);
  DStack_744.iv0 =
       (type_6)*var_16 << 0x18 | (type_6)var_16[1] << 0x10 | (type_6)var_16[3] | (type_6)var_16[2] << 8;
  DStack_744.iv1 =
       (type_6)var_16[4] << 0x18 | (type_6)var_16[5] << 0x10 | (type_6)var_16[7] | (type_6)var_16[6] << 8;
  pDVar10 = &DStack_744;
  var_17((type_1 *)pDVar9,len_00,&DStack_744);
  puVar6 = &DAT_00000198;
  pDVar5 = &DStack_744;
  (**(type_7 **)(var_18 + -0x7f68))();
  if (var_19 == *piVar13) {
    return;
  }
  var_10 = *(type_7 **)(var_18 + -0x75d4);
  pcVar17 = des_encrypt_xdmauth;
  (*var_10)();
  var_23 = var_10 + 0x62e18;
  piVar12 = *(int **)(var_10 + 0x5b870);
  var_22 = *piVar12;
  pDStack_774 = pDVar4;
  pDStack_770 = &DStack_744;
  piStack_76c = piVar13;
  pDStack_768 = pDVar9;
  pcStack_764 = pcVar17;
  var_20((type_1 *)pDVar5,&DStack_804);
  keydata = puVar6;
  pDVar4 = pDVar10;
  pDVar9 = &DStack_804;
  var_21(puVar6,(type_6)pDVar10,&DStack_804);
  if (var_22 == *piVar12) {
    return;
  }
  var_10 = *(type_7 **)(var_23 + -0x75d4);
  pcVar17 = des_decrypt_xdmauth;
  (*var_10)();
  piVar13 = *(int **)(var_10 + 0x5b7c4);
  var_25 = *piVar13;
  piStack_834 = piVar12;
  pDStack_830 = &DStack_804;
  puStack_82c = puVar6;
  pDStack_828 = pDVar10;
  pcStack_824 = pcVar17;
  var_20(keydata,&DStack_8c4);
  var_24((type_1 *)pDVar4,(type_6)pDVar9,&DStack_8c4);
  if (var_25 == *piVar13) {
    return;
  }
  (**(type_7 **)(var_10 + 0x5b798))();
  pBVar3 = var_26((type_3)pDVar4->k0246[2],1);
  pDVar4->k0246[3] = (type_8)pBVar3;
  pBVar3 = var_27(pBVar3);
  pDVar4->k0246[4] = (type_8)pBVar3;
  pDVar4->k0246[1] = 0;
  pDVar4->k0246[0] = 0;
  return;
}


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

void MASKED(byte *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  undefined *puVar1;
  byte *pbVar2;
  byte *pbVar3;
  undefined4 *puVar4;
  undefined4 uVar5;
  byte *pbVar6;
  byte *pbVar7;
  byte *pbVar8;
  byte *pbVar9;
  undefined4 *puVar10;
  undefined1 *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  int iVar14;
  int *piVar15;
  int *piVar16;
  int iVar17;
  undefined *puVar18;
  code *pcVar19;
  code *pcVar20;
  undefined1 auStack_8c4 [136];
  int iStack_83c;
  int *piStack_834;
  undefined1 *puStack_830;
  undefined4 uStack_82c;
  undefined4 *puStack_828;
  code *pcStack_824;
  code *pcStack_810;
  undefined1 auStack_804 [136];
  int iStack_77c;
  byte *pbStack_774;
  undefined4 *puStack_770;
  int *piStack_76c;
  byte *pbStack_768;
  code *pcStack_764;
  code *pcStack_750;
  undefined4 auStack_744 [32];
  uint uStack_6c4;
  uint uStack_6c0;
  undefined1 auStack_6bc [136];
  undefined1 auStack_634 [136];
  int iStack_5ac;
  byte *pbStack_5a8;
  byte *pbStack_5a4;
  int *piStack_5a0;
  byte *pbStack_59c;
  undefined4 uStack_598;
  byte *pbStack_594;
  int iStack_590;
  undefined4 uStack_58c;
  code *pcStack_578;
  byte abStack_56c [128];
  uint uStack_4ec;
  uint uStack_4e8;
  undefined1 auStack_4e4 [136];
  undefined1 auStack_45c [136];
  int iStack_3d4;
  byte *pbStack_3d0;
  byte *pbStack_3cc;
  int iStack_3c8;
  int *piStack_3c4;
  undefined4 uStack_3c0;
  byte *pbStack_3bc;
  byte abStack_394 [136];
  undefined1 auStack_30c [136];
  undefined1 auStack_284 [136];
  int iStack_1fc;
  byte *pbStack_1f4;
  byte *pbStack_1f0;
  undefined *puStack_1ec;
  undefined *puStack_1e8;
  undefined4 uStack_1e4;
  undefined4 uStack_1e0;
  code *pcStack_1dc;
  byte abStack_1bc [136];
  undefined1 auStack_134 [136];
  undefined1 auStack_ac [136];
  int local_24;
  
  puVar1 = PTR___stack_chk_guard_000b8ce8;
  local_24 = *(int *)PTR___stack_chk_guard_000b8ce8;
  puVar13 = PTR_LAB_000b87fc + -0x6584;
  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |
               (uint)param_1[2] << 8,
               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |
               (uint)param_1[6] << 8,abStack_1bc);
  FUN_00059a7c((uint)param_1[8] << 0x18 | (uint)param_1[9] << 0x10 | (uint)param_1[0xb] |
               (uint)param_1[10] << 8,
               (uint)param_1[0xc] << 0x18 | (uint)param_1[0xd] << 0x10 | (uint)param_1[0xf] |
               (uint)param_1[0xe] << 8,auStack_134);
  FUN_00059a7c((uint)*param_1 << 0x18 | (uint)param_1[1] << 0x10 | (uint)param_1[3] |
               (uint)param_1[2] << 8,
               (uint)param_1[4] << 0x18 | (uint)param_1[5] << 0x10 | (uint)param_1[7] |
               (uint)param_1[6] << 8,auStack_ac);
  pbVar8 = abStack_1bc;
  FUN_0005c160(param_2,param_3);
  uVar5 = 0x198;
  pbVar2 = abStack_1bc;
  (*(code *)PTR_smemclr_000b8328)();
  if (local_24 == *(int *)puVar1) {
    return;
  }
  pcVar19 = des3_encrypt_pubkey;
  puVar18 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  puStack_1e8 = puVar1;
  piVar16 = *(int **)(puVar18 + 0x5bf14);
  iStack_1fc = *piVar16;
  iVar14 = *(int *)(puVar18 + 0x5ba28);
  pbStack_1f4 = param_1;
  pbStack_1f0 = abStack_1bc;
  puStack_1ec = puVar13;
  uStack_1e4 = param_2;
  uStack_1e0 = param_3;
  pcStack_1dc = pcVar19;
  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |
               (uint)pbVar2[2] << 8,
               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |
               (uint)pbVar2[6] << 8,abStack_394);
  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |
               (uint)pbVar2[10] << 8,
               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |
               (uint)pbVar2[0xe] << 8,auStack_30c);
  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |
               (uint)pbVar2[2] << 8,
               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |
               (uint)pbVar2[6] << 8,auStack_284);
  pbVar9 = abStack_394;
  FUN_0005c250(uVar5,pbVar8);
  pbVar6 = &DAT_00000198;
  pbVar3 = abStack_394;
  (**(code **)(puVar18 + 0x5b554))();
  if (iStack_1fc == *piVar16) {
    return;
  }
  pcVar19 = *(code **)(puVar18 + 0x5bee8);
  (*pcVar19)();
  pcStack_578 = pcVar19 + 0x632c8;
  piVar15 = *(int **)(pcVar19 + 0x5bd20);
  iStack_3d4 = *piVar15;
  iVar17 = *(int *)(pcVar19 + 0x5b834);
  uVar12 = param_4;
  pbStack_3d0 = pbVar2;
  pbStack_3cc = abStack_394;
  iStack_3c8 = iVar14 + -0x6584;
  piStack_3c4 = piVar16;
  uStack_3c0 = uVar5;
  pbStack_3bc = pbVar8;
  FUN_00059a7c((uint)*pbVar3 << 0x18 | (uint)pbVar3[1] << 0x10 | (uint)pbVar3[3] |
               (uint)pbVar3[2] << 8,
               (uint)pbVar3[4] << 0x18 | (uint)pbVar3[5] << 0x10 | (uint)pbVar3[7] |
               (uint)pbVar3[6] << 8,abStack_56c);
  FUN_00059a7c((uint)pbVar3[8] << 0x18 | (uint)pbVar3[9] << 0x10 | (uint)pbVar3[0xb] |
               (uint)pbVar3[10] << 8,
               (uint)pbVar3[0xc] << 0x18 | (uint)pbVar3[0xd] << 0x10 | (uint)pbVar3[0xf] |
               (uint)pbVar3[0xe] << 8,auStack_4e4);
  FUN_00059a7c((uint)pbVar3[0x10] << 0x18 | (uint)pbVar3[0x11] << 0x10 | (uint)pbVar3[0x13] |
               (uint)pbVar3[0x12] << 8,
               (uint)pbVar3[0x14] << 0x18 | (uint)pbVar3[0x15] << 0x10 | (uint)pbVar3[0x17] |
               (uint)pbVar3[0x16] << 8,auStack_45c);
  uStack_4ec = (uint)*pbVar6 << 0x18 | (uint)pbVar6[1] << 0x10 | (uint)pbVar6[3] |
               (uint)pbVar6[2] << 8;
  uStack_4e8 = (uint)pbVar6[4] << 0x18 | (uint)pbVar6[5] << 0x10 | (uint)pbVar6[7] |
               (uint)pbVar6[6] << 8;
  pbVar8 = abStack_56c;
  FUN_0005c3cc(pbVar9,param_4);
  pbVar7 = &DAT_00000198;
  pbVar2 = abStack_56c;
  (**(code **)(pcStack_578 + -0x7f68))();
  if (iStack_3d4 == *piVar15) {
    return;
  }
  pcVar19 = *(code **)(pcStack_578 + -0x75d4);
  uVar5 = 0x5d220;
  (*pcVar19)();
  pcStack_750 = pcVar19 + 0x63070;
  piVar16 = *(int **)(pcVar19 + 0x5bac8);
  iStack_5ac = *piVar16;
  pbStack_5a8 = pbVar3;
  pbStack_5a4 = abStack_56c;
  piStack_5a0 = piVar15;
  pbStack_59c = pbVar9;
  uStack_598 = param_4;
  pbStack_594 = pbVar6;
  iStack_590 = iVar17 + -0x6584;
  uStack_58c = uVar5;
  FUN_00059a7c((uint)*pbVar2 << 0x18 | (uint)pbVar2[1] << 0x10 | (uint)pbVar2[3] |
               (uint)pbVar2[2] << 8,
               (uint)pbVar2[4] << 0x18 | (uint)pbVar2[5] << 0x10 | (uint)pbVar2[7] |
               (uint)pbVar2[6] << 8,auStack_744);
  FUN_00059a7c((uint)pbVar2[8] << 0x18 | (uint)pbVar2[9] << 0x10 | (uint)pbVar2[0xb] |
               (uint)pbVar2[10] << 8,
               (uint)pbVar2[0xc] << 0x18 | (uint)pbVar2[0xd] << 0x10 | (uint)pbVar2[0xf] |
               (uint)pbVar2[0xe] << 8,auStack_6bc);
  FUN_00059a7c((uint)pbVar2[0x10] << 0x18 | (uint)pbVar2[0x11] << 0x10 | (uint)pbVar2[0x13] |
               (uint)pbVar2[0x12] << 8,
               (uint)pbVar2[0x14] << 0x18 | (uint)pbVar2[0x15] << 0x10 | (uint)pbVar2[0x17] |
               (uint)pbVar2[0x16] << 8,auStack_634);
  uStack_6c4 = (uint)*pbVar7 << 0x18 | (uint)pbVar7[1] << 0x10 | (uint)pbVar7[3] |
               (uint)pbVar7[2] << 8;
  uStack_6c0 = (uint)pbVar7[4] << 0x18 | (uint)pbVar7[5] << 0x10 | (uint)pbVar7[7] |
               (uint)pbVar7[6] << 8;
  puVar10 = auStack_744;
  FUN_0005c644(pbVar8,uVar12);
  uVar5 = 0x198;
  (**(code **)(pcStack_750 + -0x7f68))(auStack_744);
  if (iStack_5ac == *piVar16) {
    return;
  }
  pcVar19 = *(code **)(pcStack_750 + -0x75d4);
  pcVar20 = des_encrypt_xdmauth;
  (*pcVar19)();
  pcStack_810 = pcVar19 + 0x62e18;
  piVar15 = *(int **)(pcVar19 + 0x5b870);
  iStack_77c = *piVar15;
  pbStack_774 = pbVar2;
  puStack_770 = auStack_744;
  piStack_76c = piVar16;
  pbStack_768 = pbVar8;
  pcStack_764 = pcVar20;
  FUN_0005bbdc();
  puVar4 = puVar10;
  puVar11 = auStack_804;
  FUN_0005bd68(uVar5,puVar10,auStack_804);
  if (iStack_77c == *piVar15) {
    return;
  }
  pcVar19 = *(code **)(pcStack_810 + -0x75d4);
  pcVar20 = des_decrypt_xdmauth;
  (*pcVar19)();
  piVar16 = *(int **)(pcVar19 + 0x5b7c4);
  iStack_83c = *piVar16;
  piStack_834 = piVar15;
  puStack_830 = auStack_804;
  uStack_82c = uVar5;
  puStack_828 = puVar10;
  pcStack_824 = pcVar20;
  FUN_0005bbdc();
  FUN_0005bf90(puVar4,puVar11,auStack_8c4);
  if (iStack_83c == *piVar16) {
    return;
  }
  (**(code **)(pcVar19 + 0x5b798))();
  uVar5 = bignum_rshift(puVar4[2],1);
  puVar4[3] = uVar5;
  uVar5 = bignum_bitmask(uVar5);
  puVar4[4] = uVar5;
  puVar4[1] = 0;
  *puVar4 = 0;
  return;
}

