
int sha1_96_verify(void *handle,uchar *blk,int len,ulong seq)

{
  undefined *puVar1;
  void *pvVar2;
  int iVar3;
  SHA_State *pSVar4;
  uchar *puVar5;
  uchar *puVar6;
  int len_00;
  uchar *output;
  int *piVar7;
  int *piVar8;
  undefined *puVar9;
  code *pcVar10;
  code *pcVar11;
  code *pcVar12;
  SHA_State SStackY_2a8;
  SHA_State SStackY_248;
  uchar auStackY_1e8 [20];
  int iStackY_1d4;
  SHA_State *pSStackY_1d0;
  int *piStackY_1cc;
  uchar *puStackY_1c8;
  int iStackY_1c4;
  SHA_State SStackY_194;
  int iStackY_134;
  uchar *puStackY_130;
  void **ppvStackY_12c;
  int *piStackY_128;
  code *pcStackY_124;
  code *pcStackY_110;
  void *pvStackY_108;
  undefined4 uStackY_104;
  undefined4 uStackY_100;
  void *pvStackY_f4;
  uchar *puStackY_f0;
  int *piStackY_ec;
  uchar *puStackY_e8;
  code *pcStackY_e4;
  code *pcStackY_d0;
  uchar auStackY_c8 [20];
  void *pvStackY_b4;
  uchar *puStackY_b0;
  void **ppvStackY_ac;
  int *piStackY_a8;
  code *pcStackY_a4;
  void *pvStack_80;
  undefined4 uStack_7c;
  undefined4 uStack_78;
  int iStack_6c;
  uchar *puStack_64;
  undefined *puStack_60;
  int iStack_5c;
  uchar *puStack_58;
  code *pcStack_54;
  uchar correct [20];
  
  puVar1 = PTR___stack_chk_guard_000b2f04;
  pvVar2 = *(void **)PTR___stack_chk_guard_000b2f04;
  sha1_do_hmac(handle,blk,len,seq,correct);
  len_00 = 0xc;
  puVar5 = blk + len;
  iVar3 = (*(code *)PTR_smemeq_000b2ad4)(correct);
  if (pvVar2 == *(void **)puVar1) {
    return iVar3;
  }
  pcVar10 = sha1_96_generate;
  puVar9 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  puStack_60 = puVar1;
  piVar8 = *(int **)(puVar9 + 0x3c24c);
  iStack_6c = *piVar8;
  puStack_64 = correct;
  iStack_5c = len;
  puStack_58 = blk;
  pcStack_54 = pcVar10;
  sha1_do_hmac(pvVar2,puVar5,len_00,seq,(uchar *)&pvStack_80);
  puVar6 = puVar5 + len_00;
  *(void **)puVar6 = pvStack_80;
  *(undefined4 *)(puVar6 + 4) = uStack_7c;
  *(undefined4 *)(puVar6 + 8) = uStack_78;
  if (iStack_6c == *piVar8) {
    return *piVar8;
  }
  pcVar10 = *(code **)(puVar9 + 0x3c220);
  pcVar11 = hmacsha1_96_verresult;
  (*pcVar10)();
  pcStackY_d0 = pcVar10 + 0x43604;
  piVar7 = *(int **)(pcVar10 + 0x3c198);
  pvStackY_b4 = (void *)*piVar7;
  puStackY_b0 = puVar5;
  ppvStackY_ac = &pvStack_80;
  piStackY_a8 = piVar8;
  pcStackY_a4 = pcVar11;
  hmacsha1_genresult(pvStack_80,auStackY_c8);
  output = (uchar *)0xc;
  puVar5 = puVar6;
  iVar3 = (**(code **)(pcStackY_d0 + -0x789c))(auStackY_c8);
  if (pvStackY_b4 == (void *)*piVar7) {
    return iVar3;
  }
  pcVar10 = *(code **)(pcStackY_d0 + -0x7498);
  pcVar11 = hmacsha1_96_genresult;
  pvVar2 = pvStackY_b4;
  (*pcVar10)();
  pcStackY_110 = pcVar10 + 0x4356c;
  piVar8 = *(int **)(pcVar10 + 0x3c100);
  pvStackY_f4 = (void *)*piVar8;
  puStackY_f0 = auStackY_c8;
  piStackY_ec = piVar7;
  puStackY_e8 = puVar6;
  pcStackY_e4 = pcVar11;
  hmacsha1_genresult(pvVar2,(uchar *)&pvStackY_108);
  *(void **)puVar5 = pvStackY_108;
  *(undefined4 *)(puVar5 + 4) = uStackY_104;
  *(undefined4 *)(puVar5 + 8) = uStackY_100;
  if (pvStackY_f4 == (void *)*piVar8) {
    return *piVar8;
  }
  pcVar11 = *(code **)(pcStackY_110 + -0x7498);
  pcVar12 = SHA_Simple;
  pvVar2 = pvStackY_f4;
  (*pcVar11)();
  pcVar10 = pcVar11 + 0x434c8;
  piVar7 = *(int **)(pcVar11 + 0x3c05c);
  iStackY_134 = *piVar7;
  SStackY_194.blkused = 0;
  SStackY_194.lenlo = 0;
  SStackY_194.lenhi = 0;
  SStackY_194.h[0] = 0x67452301;
  SStackY_194.h[3] = 0x10325476;
  SStackY_194.h[1] = 0xefcdab89;
  SStackY_194.h[2] = 0x98badcfe;
  SStackY_194.h[4] = 0xc3d2e1f0;
  puStackY_130 = puVar5;
  ppvStackY_12c = &pvStackY_108;
  piStackY_128 = piVar8;
  pcStackY_124 = pcVar12;
  SHA_Bytes(&SStackY_194,pvStackY_108,(int)pvVar2);
  SHA_Final(&SStackY_194,output);
  iVar3 = 0x60;
  pSVar4 = &SStackY_194;
  (**(code **)(pcVar11 + 0x3b5b8))();
  if (iStackY_134 == *piVar7) {
    return *piVar7;
  }
  pcVar11 = *(code **)(pcVar11 + 0x3c030);
  (*pcVar11)();
  piVar8 = *(int **)(pcVar11 + 0x3bf6c);
  iStackY_1d4 = *piVar8;
  pSStackY_1d0 = &SStackY_194;
  piStackY_1cc = piVar7;
  puStackY_1c8 = output;
  iStackY_1c4 = len_00;
  sha1_key_internal(&SStackY_2a8,(uchar *)pSVar4,iVar3);
  SHA_Bytes(&SStackY_2a8,pvVar2,seq);
  pSVar4 = &SStackY_248;
  SHA_Final(&SStackY_2a8,auStackY_1e8);
  SHA_Bytes(pSVar4,auStackY_1e8,0x14);
  SHA_Final(pSVar4,(uchar *)pcVar10);
  iVar3 = *piVar8;
  if (iStackY_1d4 == iVar3) {
    return iVar3;
  }
  (**(code **)(pcVar11 + 0x3bf40))();
  if (*(uint *)(pcVar10 + 4) <= pSVar4->h[1]) {
    return (uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1]);
  }
  return -1;
}



uint FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)

{
  undefined *puVar1;
  uint uVar2;
  uchar *puVar3;
  int iVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  int iVar7;
  SHA_CTX *c;
  int *piVar8;
  uint *puVar9;
  uint *puVar10;
  undefined *puVar11;
  code *pcVar12;
  SHA_CTX *c_00;
  undefined4 uVar13;
  code *pcVar14;
  uchar auStack_2a8 [96];
  uchar auStack_248 [116];
  uint uStack_1d4;
  uchar *puStack_1d0;
  uint *puStack_1cc;
  SHA_CTX *pSStack_1c8;
  int iStack_1c4;
  uchar auStack_194 [84];
  undefined4 uStack_140;
  undefined4 uStack_13c;
  undefined4 uStack_138;
  uint uStack_134;
  undefined4 *puStack_130;
  undefined4 *puStack_12c;
  uint *puStack_128;
  code *pcStack_124;
  code *local_110;
  undefined4 local_108;
  undefined4 local_104;
  undefined4 local_100;
  uint local_f4;
  undefined1 *local_f0;
  int *local_ec;
  undefined4 *local_e8;
  undefined4 local_e4;
  code *local_d0;
  undefined1 auStack_c8 [20];
  int local_b4;
  int local_b0;
  undefined4 *local_ac;
  uint *local_a8;
  undefined4 local_a4;
  undefined4 *local_90;
  undefined *local_88;
  undefined4 local_80;
  undefined4 local_7c;
  undefined4 local_78;
  uint local_6c;
  undefined1 *local_64;
  undefined *local_60;
  int local_5c;
  int local_58;
  undefined4 local_54;
  undefined1 *local_40;
  undefined1 auStack_30 [20];
  int local_1c;
  
  puVar1 = PTR___stack_chk_guard_000b2f04;
  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;
  local_40 = auStack_30;
  FUN_00076a1c();
  iVar7 = 0xc;
  iVar4 = param_2 + param_3;
  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);
  if (local_1c == *(int *)puVar1) {
    return uVar2;
  }
  uVar13 = 0x76cb8;
  puVar11 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  local_88 = puVar11 + 0x436b8;
  local_60 = puVar1;
  puVar10 = *(uint **)(puVar11 + 0x3c24c);
  local_6c = *puVar10;
  local_90 = &local_80;
  local_64 = auStack_30;
  local_5c = param_3;
  local_58 = param_2;
  local_54 = uVar13;
  FUN_00076a1c();
  puVar5 = (undefined4 *)(iVar4 + iVar7);
  *puVar5 = local_80;
  puVar5[1] = local_7c;
  puVar5[2] = local_78;
  if (local_6c == *puVar10) {
    return *puVar10;
  }
  pcVar12 = *(code **)(local_88 + -0x7498);
  uVar13 = 0x76d6c;
  (*pcVar12)();
  local_d0 = pcVar12 + 0x43604;
  piVar8 = *(int **)(pcVar12 + 0x3c198);
  local_b4 = *piVar8;
  local_b0 = iVar4;
  local_ac = &local_80;
  local_a8 = puVar10;
  local_a4 = uVar13;
  FUN_00076844();
  c = (SHA_CTX *)&DAT_0000000c;
  puVar6 = puVar5;
  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);
  if (local_b4 == *piVar8) {
    return uVar2;
  }
  pcVar12 = *(code **)(local_d0 + -0x7498);
  uVar13 = 0x76e04;
  (*pcVar12)();
  local_110 = pcVar12 + 0x4356c;
  puVar10 = *(uint **)(pcVar12 + 0x3c100);
  local_f4 = *puVar10;
  local_f0 = auStack_c8;
  local_ec = piVar8;
  local_e8 = puVar5;
  local_e4 = uVar13;
  FUN_00076844();
  *puVar6 = local_108;
  puVar6[1] = local_104;
  puVar6[2] = local_100;
  if (local_f4 == *puVar10) {
    return *puVar10;
  }
  pcVar12 = *(code **)(local_110 + -0x7498);
  pcVar14 = SHA_Simple;
  uVar2 = local_f4;
  (*pcVar12)();
  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);
  puVar9 = *(uint **)(pcVar12 + 0x3c05c);
  uStack_134 = *puVar9;
  uStack_140 = 0;
  uStack_138 = 0;
  uStack_13c = 0;
  auStack_194[0] = 'g';
  auStack_194[1] = 'E';
  auStack_194[2] = '#';
  auStack_194[3] = '\x01';
  auStack_194[0xc] = '\x10';
  auStack_194[0xd] = '2';
  auStack_194[0xe] = 'T';
  auStack_194[0xf] = 'v';
  auStack_194[4] = 0xef;
  auStack_194[5] = 0xcd;
  auStack_194[6] = 0xab;
  auStack_194[7] = 0x89;
  auStack_194[8] = 0x98;
  auStack_194[9] = 0xba;
  auStack_194[10] = 0xdc;
  auStack_194[0xb] = 0xfe;
  auStack_194[0x10] = 0xc3;
  auStack_194[0x11] = 0xd2;
  auStack_194[0x12] = 0xe1;
  auStack_194[0x13] = 0xf0;
  puStack_130 = puVar6;
  puStack_12c = &local_108;
  puStack_128 = puVar10;
  pcStack_124 = pcVar14;
  SHA_Bytes(auStack_194,local_108,uVar2);
  SHA_Final(auStack_194,c);
  uVar13 = 0x60;
  puVar3 = auStack_194;
  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);
  if (uStack_134 == *puVar9) {
    return *puVar9;
  }
  pcVar12 = *(code **)(pcVar12 + 0x3c030);
  (*pcVar12)();
  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);
  uStack_1d4 = *puVar10;
  puStack_1d0 = auStack_194;
  puStack_1cc = puVar9;
  pSStack_1c8 = c;
  iStack_1c4 = iVar7;
  FUN_000763b4(auStack_2a8,puVar3,uVar13);
  SHA_Bytes(auStack_2a8,uVar2,param_4);
  puVar3 = auStack_248;
  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));
  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);
  SHA_Final(puVar3,c_00);
  uVar2 = *puVar10;
  if (uStack_1d4 == uVar2) {
    return uVar2;
  }
  (**(code **)(pcVar12 + 0x3bf40))();
  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {
    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));
  }
  return 0xffffffff;
}


lui gp,0x4
addiu gp,gp,0x375c
addu gp,gp,t9
addiu sp,sp,-0x50
lw t9,-0x7818(gp)
sw s1,0x40(sp)
addiu t9,t9,0x6a1c
sw s0,0x3c(sp)
addiu s0,sp,0x20
lw s1,-0x746c(gp)
sw s0,0x10(sp)
sw gp,0x18(sp)
sw ra,0x4c(sp)
sw s3,0x48(sp)
or s3,a1,zero
sw s2,0x44(sp)
or s2,a2,zero
lw v0,0x0(s1)
sw v0,0x34(sp)
bal 0x00076a1c
_nop
li a2,0xc
lw gp,0x18(sp)
addu a1,s3,s2
lw t9,-0x789c(gp)
jalr t9
_or a0,s0,zero
lw a0,0x34(sp)
lw v1,0x0(s1)
bne a0,v1,0x00076cac
_lw gp,0x18(sp)
lw ra,0x4c(sp)
lw s3,0x48(sp)
lw s2,0x44(sp)
lw s1,0x40(sp)
lw s0,0x3c(sp)
jr ra
_addiu sp,sp,0x50
lw t9,-0x7498(gp)
jalr t9
_nop
lui gp,0x4
addiu gp,gp,0x36b8
addu gp,gp,t9
addiu sp,sp,-0x50
lw t9,-0x7818(gp)
sw s2,0x44(sp)
addiu t9,t9,0x6a1c
sw s1,0x40(sp)
addiu s1,sp,0x20
lw s2,-0x746c(gp)
sw s1,0x10(sp)
sw gp,0x18(sp)
sw s3,0x48(sp)
or s3,a2,zero
sw s0,0x3c(sp)
or s0,a1,zero
sw ra,0x4c(sp)
lw v0,0x0(s2)
sw v0,0x34(sp)
bal 0x00076a1c
_nop
addu a1,s0,s3
lw a0,0x20(sp)
lw v1,0x4(s1)
lw gp,0x18(sp)
lw v0,0x8(s1)
swl a0,0x0(a1)
swr a0,0x3(a1)
swl v1,0x4(a1)
swr v1,0x7(a1)
swl v0,0x8(a1)
swr v0,0xb(a1)
lw a2,0x34(sp)
lw v0,0x0(s2)
bne a2,v0,0x00076d60
_lw ra,0x4c(sp)
lw s3,0x48(sp)
lw s2,0x44(sp)
lw s1,0x40(sp)
lw s0,0x3c(sp)
jr ra
_addiu sp,sp,0x50
lw t9,-0x7498(gp)
jalr t9
_nop
lui gp,0x4
addiu gp,gp,0x3604
addu gp,gp,t9
addiu sp,sp,-0x40
lw t9,-0x7818(gp)
sw s1,0x34(sp)
addiu t9,t9,0x6844
lw s1,-0x746c(gp)
sw s0,0x30(sp)
addiu s0,sp,0x18
sw gp,0x10(sp)
sw ra,0x3c(sp)
sw s2,0x38(sp)
or s2,a1,zero
lw v0,0x0(s1)
or a1,s0,zero
sw v0,0x2c(sp)
bal 0x00076844
_nop
li a2,0xc
lw gp,0x10(sp)
or a0,s0,zero
lw t9,-0x789c(gp)
jalr t9
_or a1,s2,zero
lw a0,0x2c(sp)
lw v1,0x0(s1)
bne a0,v1,0x00076df8
_lw gp,0x10(sp)
lw ra,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x40
lw t9,-0x7498(gp)
jalr t9
_nop
lui gp,0x4
addiu gp,gp,0x356c
addu gp,gp,t9
addiu sp,sp,-0x40
lw t9,-0x7818(gp)
sw s2,0x38(sp)
addiu t9,t9,0x6844
lw s2,-0x746c(gp)
sw s1,0x34(sp)
addiu s1,sp,0x18
sw gp,0x10(sp)
sw s0,0x30(sp)
or s0,a1,zero
sw ra,0x3c(sp)
or a1,s1,zero
lw v0,0x0(s2)
sw v0,0x2c(sp)
bal 0x00076844
_nop
lw a0,0x18(sp)
lw v1,0x4(s1)
lw gp,0x10(sp)
lw v0,0x8(s1)
swl a0,0x0(s0)
swr a0,0x3(s0)
swl v1,0x4(s0)
swr v1,0x7(s0)
swl v0,0x8(s0)
swr v0,0xb(s0)
lw a1,0x2c(sp)
lw v0,0x0(s2)
bne a1,v0,0x00076e9c
_lw ra,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x40
lw t9,-0x7498(gp)
jalr t9
_nop
(translation_unit "uint FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}\n\n" (function_definition "uint FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}" type_identifier (function_declarator "FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uchar *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "SHA_CTX *c;" type_identifier (pointer_declarator "*c" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "SHA_CTX *c_00;" type_identifier (pointer_declarator "*c_00" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "uchar auStack_2a8 [96];" type_identifier (array_declarator "auStack_2a8 [96]" identifier [ number_literal ]) ;) (declaration "uchar auStack_248 [116];" type_identifier (array_declarator "auStack_248 [116]" identifier [ number_literal ]) ;) (declaration "uint uStack_1d4;" type_identifier identifier ;) (declaration "uchar *puStack_1d0;" type_identifier (pointer_declarator "*puStack_1d0" * identifier) ;) (declaration "uint *puStack_1cc;" type_identifier (pointer_declarator "*puStack_1cc" * identifier) ;) (declaration "SHA_CTX *pSStack_1c8;" type_identifier (pointer_declarator "*pSStack_1c8" * identifier) ;) (declaration "int iStack_1c4;" primitive_type identifier ;) (declaration "uchar auStack_194 [84];" type_identifier (array_declarator "auStack_194 [84]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_140;" type_identifier identifier ;) (declaration "undefined4 uStack_13c;" type_identifier identifier ;) (declaration "undefined4 uStack_138;" type_identifier identifier ;) (declaration "uint uStack_134;" type_identifier identifier ;) (declaration "undefined4 *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "undefined4 *puStack_12c;" type_identifier (pointer_declarator "*puStack_12c" * identifier) ;) (declaration "uint *puStack_128;" type_identifier (pointer_declarator "*puStack_128" * identifier) ;) (declaration "code *pcStack_124;" type_identifier (pointer_declarator "*pcStack_124" * identifier) ;) (declaration "code *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "undefined4 local_108;" type_identifier identifier ;) (declaration "undefined4 local_104;" type_identifier identifier ;) (declaration "undefined4 local_100;" type_identifier identifier ;) (declaration "uint local_f4;" type_identifier identifier ;) (declaration "undefined1 *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "int *local_ec;" primitive_type (pointer_declarator "*local_ec" * identifier) ;) (declaration "undefined4 *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "undefined4 local_e4;" type_identifier identifier ;) (declaration "code *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "undefined1 auStack_c8 [20];" type_identifier (array_declarator "auStack_c8 [20]" identifier [ number_literal ]) ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "undefined4 *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "uint *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined4 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "undefined1 *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined1 auStack_30 [20];" type_identifier (array_declarator "auStack_30 [20]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000b2f04;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b2f04" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000b2f04" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b2f04" * (cast_expression "(int *)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_40 = auStack_30;" (assignment_expression "local_40 = auStack_30" identifier = identifier) ;) (expression_statement "FUN_00076a1c();" (call_expression "FUN_00076a1c()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = 0xc;" (assignment_expression "iVar7 = 0xc" identifier = number_literal) ;) (expression_statement "iVar4 = param_2 + param_3;" (assignment_expression "iVar4 = param_2 + param_3" identifier = (binary_expression "param_2 + param_3" identifier + identifier)) ;) (expression_statement "uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);" (assignment_expression "uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30)" identifier = (call_expression "(*(code *)PTR_smemeq_000b2ad4)(auStack_30)" (parenthesized_expression "(*(code *)PTR_smemeq_000b2ad4)" ( (pointer_expression "*(code *)PTR_smemeq_000b2ad4" * (cast_expression "(code *)PTR_smemeq_000b2ad4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_30)" ( identifier )))) ;) (if_statement "if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_1c == *(int *)puVar1)" ( (binary_expression "local_1c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) })) (expression_statement "uVar13 = 0x76cb8;" (assignment_expression "uVar13 = 0x76cb8" identifier = number_literal) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000b2ed8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b2ed8)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b2ed8" * (cast_expression "(code *)PTR___stack_chk_fail_000b2ed8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_88 = puVar11 + 0x436b8;" (assignment_expression "local_88 = puVar11 + 0x436b8" identifier = (binary_expression "puVar11 + 0x436b8" identifier + number_literal)) ;) (expression_statement "local_60 = puVar1;" (assignment_expression "local_60 = puVar1" identifier = identifier) ;) (expression_statement "puVar10 = *(uint **)(puVar11 + 0x3c24c);" (assignment_expression "puVar10 = *(uint **)(puVar11 + 0x3c24c)" identifier = (pointer_expression "*(uint **)(puVar11 + 0x3c24c)" * (cast_expression "(uint **)(puVar11 + 0x3c24c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3c24c)" ( (binary_expression "puVar11 + 0x3c24c" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *puVar10;" (assignment_expression "local_6c = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_90 = &local_80;" (assignment_expression "local_90 = &local_80" identifier = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "local_64 = auStack_30;" (assignment_expression "local_64 = auStack_30" identifier = identifier) ;) (expression_statement "local_5c = param_3;" (assignment_expression "local_5c = param_3" identifier = identifier) ;) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" identifier = identifier) ;) (expression_statement "local_54 = uVar13;" (assignment_expression "local_54 = uVar13" identifier = identifier) ;) (expression_statement "FUN_00076a1c();" (call_expression "FUN_00076a1c()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined4 *)(iVar4 + iVar7);" (assignment_expression "puVar5 = (undefined4 *)(iVar4 + iVar7)" identifier = (cast_expression "(undefined4 *)(iVar4 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7)" ( (binary_expression "iVar4 + iVar7" identifier + identifier) )))) ;) (expression_statement "*puVar5 = local_80;" (assignment_expression "*puVar5 = local_80" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "puVar5[1] = local_7c;" (assignment_expression "puVar5[1] = local_7c" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = local_78;" (assignment_expression "puVar5[2] = local_78" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_6c == *puVar10) {\n    return *puVar10;\n  }" if (parenthesized_expression "(local_6c == *puVar10)" ( (binary_expression "local_6c == *puVar10" identifier == (pointer_expression "*puVar10" * identifier)) )) (compound_statement "{\n    return *puVar10;\n  }" { (return_statement "return *puVar10;" return (pointer_expression "*puVar10" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(local_88 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_88 + -0x7498)" identifier = (pointer_expression "*(code **)(local_88 + -0x7498)" * (cast_expression "(code **)(local_88 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_88 + -0x7498)" ( (binary_expression "local_88 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0x76d6c;" (assignment_expression "uVar13 = 0x76d6c" identifier = number_literal) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_d0 = pcVar12 + 0x43604;" (assignment_expression "local_d0 = pcVar12 + 0x43604" identifier = (binary_expression "pcVar12 + 0x43604" identifier + number_literal)) ;) (expression_statement "piVar8 = *(int **)(pcVar12 + 0x3c198);" (assignment_expression "piVar8 = *(int **)(pcVar12 + 0x3c198)" identifier = (pointer_expression "*(int **)(pcVar12 + 0x3c198)" * (cast_expression "(int **)(pcVar12 + 0x3c198)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c198)" ( (binary_expression "pcVar12 + 0x3c198" identifier + number_literal) ))))) ;) (expression_statement "local_b4 = *piVar8;" (assignment_expression "local_b4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "local_b0 = iVar4;" (assignment_expression "local_b0 = iVar4" identifier = identifier) ;) (expression_statement "local_ac = &local_80;" (assignment_expression "local_ac = &local_80" identifier = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "local_a8 = puVar10;" (assignment_expression "local_a8 = puVar10" identifier = identifier) ;) (expression_statement "local_a4 = uVar13;" (assignment_expression "local_a4 = uVar13" identifier = identifier) ;) (expression_statement "FUN_00076844();" (call_expression "FUN_00076844()" identifier (argument_list "()" ( ))) ;) (expression_statement "c = (SHA_CTX *)&DAT_0000000c;" (assignment_expression "c = (SHA_CTX *)&DAT_0000000c" identifier = (cast_expression "(SHA_CTX *)&DAT_0000000c" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "puVar6 = puVar5;" (assignment_expression "puVar6 = puVar5" identifier = identifier) ;) (expression_statement "uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);" (assignment_expression "uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8)" identifier = (call_expression "(**(code **)(local_d0 + -0x789c))(auStack_c8)" (parenthesized_expression "(**(code **)(local_d0 + -0x789c))" ( (pointer_expression "**(code **)(local_d0 + -0x789c)" * (pointer_expression "*(code **)(local_d0 + -0x789c)" * (cast_expression "(code **)(local_d0 + -0x789c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + -0x789c)" ( (binary_expression "local_d0 + -0x789c" identifier + number_literal) ))))) )) (argument_list "(auStack_c8)" ( identifier )))) ;) (if_statement "if (local_b4 == *piVar8) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_b4 == *piVar8)" ( (binary_expression "local_b4 == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) })) (expression_statement "pcVar12 = *(code **)(local_d0 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_d0 + -0x7498)" identifier = (pointer_expression "*(code **)(local_d0 + -0x7498)" * (cast_expression "(code **)(local_d0 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + -0x7498)" ( (binary_expression "local_d0 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0x76e04;" (assignment_expression "uVar13 = 0x76e04" identifier = number_literal) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_110 = pcVar12 + 0x4356c;" (assignment_expression "local_110 = pcVar12 + 0x4356c" identifier = (binary_expression "pcVar12 + 0x4356c" identifier + number_literal)) ;) (expression_statement "puVar10 = *(uint **)(pcVar12 + 0x3c100);" (assignment_expression "puVar10 = *(uint **)(pcVar12 + 0x3c100)" identifier = (pointer_expression "*(uint **)(pcVar12 + 0x3c100)" * (cast_expression "(uint **)(pcVar12 + 0x3c100)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c100)" ( (binary_expression "pcVar12 + 0x3c100" identifier + number_literal) ))))) ;) (expression_statement "local_f4 = *puVar10;" (assignment_expression "local_f4 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_f0 = auStack_c8;" (assignment_expression "local_f0 = auStack_c8" identifier = identifier) ;) (expression_statement "local_ec = piVar8;" (assignment_expression "local_ec = piVar8" identifier = identifier) ;) (expression_statement "local_e8 = puVar5;" (assignment_expression "local_e8 = puVar5" identifier = identifier) ;) (expression_statement "local_e4 = uVar13;" (assignment_expression "local_e4 = uVar13" identifier = identifier) ;) (expression_statement "FUN_00076844();" (call_expression "FUN_00076844()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar6 = local_108;" (assignment_expression "*puVar6 = local_108" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6[1] = local_104;" (assignment_expression "puVar6[1] = local_104" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[2] = local_100;" (assignment_expression "puVar6[2] = local_100" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_f4 == *puVar10) {\n    return *puVar10;\n  }" if (parenthesized_expression "(local_f4 == *puVar10)" ( (binary_expression "local_f4 == *puVar10" identifier == (pointer_expression "*puVar10" * identifier)) )) (compound_statement "{\n    return *puVar10;\n  }" { (return_statement "return *puVar10;" return (pointer_expression "*puVar10" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(local_110 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_110 + -0x7498)" identifier = (pointer_expression "*(code **)(local_110 + -0x7498)" * (cast_expression "(code **)(local_110 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_110 + -0x7498)" ( (binary_expression "local_110 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "pcVar14 = SHA_Simple;" (assignment_expression "pcVar14 = SHA_Simple" identifier = identifier) ;) (expression_statement "uVar2 = local_f4;" (assignment_expression "uVar2 = local_f4" identifier = identifier) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);" (assignment_expression "c_00 = (SHA_CTX *)(pcVar12 + 0x434c8)" identifier = (cast_expression "(SHA_CTX *)(pcVar12 + 0x434c8)" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x434c8)" ( (binary_expression "pcVar12 + 0x434c8" identifier + number_literal) )))) ;) (expression_statement "puVar9 = *(uint **)(pcVar12 + 0x3c05c);" (assignment_expression "puVar9 = *(uint **)(pcVar12 + 0x3c05c)" identifier = (pointer_expression "*(uint **)(pcVar12 + 0x3c05c)" * (cast_expression "(uint **)(pcVar12 + 0x3c05c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c05c)" ( (binary_expression "pcVar12 + 0x3c05c" identifier + number_literal) ))))) ;) (expression_statement "uStack_134 = *puVar9;" (assignment_expression "uStack_134 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uStack_140 = 0;" (assignment_expression "uStack_140 = 0" identifier = number_literal) ;) (expression_statement "uStack_138 = 0;" (assignment_expression "uStack_138 = 0" identifier = number_literal) ;) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "auStack_194[0] = 'g';" (assignment_expression "auStack_194[0] = 'g'" (subscript_expression "auStack_194[0]" identifier [ number_literal ]) = (char_literal "'g'" ' character ')) ;) (expression_statement "auStack_194[1] = 'E';" (assignment_expression "auStack_194[1] = 'E'" (subscript_expression "auStack_194[1]" identifier [ number_literal ]) = (char_literal "'E'" ' character ')) ;) (expression_statement "auStack_194[2] = '#';" (assignment_expression "auStack_194[2] = '#'" (subscript_expression "auStack_194[2]" identifier [ number_literal ]) = (char_literal "'#'" ' character ')) ;) (expression_statement "auStack_194[3] = '\x01';" (assignment_expression "auStack_194[3] = '\x01'" (subscript_expression "auStack_194[3]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "auStack_194[0xc] = '\x10';" (assignment_expression "auStack_194[0xc] = '\x10'" (subscript_expression "auStack_194[0xc]" identifier [ number_literal ]) = (char_literal "'\x10'" ' escape_sequence ')) ;) (expression_statement "auStack_194[0xd] = '2';" (assignment_expression "auStack_194[0xd] = '2'" (subscript_expression "auStack_194[0xd]" identifier [ number_literal ]) = (char_literal "'2'" ' character ')) ;) (expression_statement "auStack_194[0xe] = 'T';" (assignment_expression "auStack_194[0xe] = 'T'" (subscript_expression "auStack_194[0xe]" identifier [ number_literal ]) = (char_literal "'T'" ' character ')) ;) (expression_statement "auStack_194[0xf] = 'v';" (assignment_expression "auStack_194[0xf] = 'v'" (subscript_expression "auStack_194[0xf]" identifier [ number_literal ]) = (char_literal "'v'" ' character ')) ;) (expression_statement "auStack_194[4] = 0xef;" (assignment_expression "auStack_194[4] = 0xef" (subscript_expression "auStack_194[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[5] = 0xcd;" (assignment_expression "auStack_194[5] = 0xcd" (subscript_expression "auStack_194[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[6] = 0xab;" (assignment_expression "auStack_194[6] = 0xab" (subscript_expression "auStack_194[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[7] = 0x89;" (assignment_expression "auStack_194[7] = 0x89" (subscript_expression "auStack_194[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[8] = 0x98;" (assignment_expression "auStack_194[8] = 0x98" (subscript_expression "auStack_194[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[9] = 0xba;" (assignment_expression "auStack_194[9] = 0xba" (subscript_expression "auStack_194[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[10] = 0xdc;" (assignment_expression "auStack_194[10] = 0xdc" (subscript_expression "auStack_194[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0xb] = 0xfe;" (assignment_expression "auStack_194[0xb] = 0xfe" (subscript_expression "auStack_194[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x10] = 0xc3;" (assignment_expression "auStack_194[0x10] = 0xc3" (subscript_expression "auStack_194[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x11] = 0xd2;" (assignment_expression "auStack_194[0x11] = 0xd2" (subscript_expression "auStack_194[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x12] = 0xe1;" (assignment_expression "auStack_194[0x12] = 0xe1" (subscript_expression "auStack_194[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x13] = 0xf0;" (assignment_expression "auStack_194[0x13] = 0xf0" (subscript_expression "auStack_194[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_130 = puVar6;" (assignment_expression "puStack_130 = puVar6" identifier = identifier) ;) (expression_statement "puStack_12c = &local_108;" (assignment_expression "puStack_12c = &local_108" identifier = (pointer_expression "&local_108" & identifier)) ;) (expression_statement "puStack_128 = puVar10;" (assignment_expression "puStack_128 = puVar10" identifier = identifier) ;) (expression_statement "pcStack_124 = pcVar14;" (assignment_expression "pcStack_124 = pcVar14" identifier = identifier) ;) (expression_statement "SHA_Bytes(auStack_194,local_108,uVar2);" (call_expression "SHA_Bytes(auStack_194,local_108,uVar2)" identifier (argument_list "(auStack_194,local_108,uVar2)" ( identifier , identifier , identifier ))) ;) (expression_statement "SHA_Final(auStack_194,c);" (call_expression "SHA_Final(auStack_194,c)" identifier (argument_list "(auStack_194,c)" ( identifier , identifier ))) ;) (expression_statement "uVar13 = 0x60;" (assignment_expression "uVar13 = 0x60" identifier = number_literal) ;) (expression_statement "puVar3 = auStack_194;" (assignment_expression "puVar3 = auStack_194" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);" (call_expression "(**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60)" (parenthesized_expression "(**(code **)(pcVar12 + 0x3b5b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x3b5b8)" * (pointer_expression "*(code **)(pcVar12 + 0x3b5b8)" * (cast_expression "(code **)(pcVar12 + 0x3b5b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3b5b8)" ( (binary_expression "pcVar12 + 0x3b5b8" identifier + number_literal) ))))) )) (argument_list "(auStack_194,0x60)" ( identifier , number_literal ))) ;) (if_statement "if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }" if (parenthesized_expression "(uStack_134 == *puVar9)" ( (binary_expression "uStack_134 == *puVar9" identifier == (pointer_expression "*puVar9" * identifier)) )) (compound_statement "{\n    return *puVar9;\n  }" { (return_statement "return *puVar9;" return (pointer_expression "*puVar9" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(pcVar12 + 0x3c030);" (assignment_expression "pcVar12 = *(code **)(pcVar12 + 0x3c030)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x3c030)" * (cast_expression "(code **)(pcVar12 + 0x3c030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c030)" ( (binary_expression "pcVar12 + 0x3c030" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar10 = *(uint **)(pcVar12 + 0x3bf6c);" (assignment_expression "puVar10 = *(uint **)(pcVar12 + 0x3bf6c)" identifier = (pointer_expression "*(uint **)(pcVar12 + 0x3bf6c)" * (cast_expression "(uint **)(pcVar12 + 0x3bf6c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3bf6c)" ( (binary_expression "pcVar12 + 0x3bf6c" identifier + number_literal) ))))) ;) (expression_statement "uStack_1d4 = *puVar10;" (assignment_expression "uStack_1d4 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "puStack_1d0 = auStack_194;" (assignment_expression "puStack_1d0 = auStack_194" identifier = identifier) ;) (expression_statement "puStack_1cc = puVar9;" (assignment_expression "puStack_1cc = puVar9" identifier = identifier) ;) (expression_statement "pSStack_1c8 = c;" (assignment_expression "pSStack_1c8 = c" identifier = identifier) ;) (expression_statement "iStack_1c4 = iVar7;" (assignment_expression "iStack_1c4 = iVar7" identifier = identifier) ;) (expression_statement "FUN_000763b4(auStack_2a8,puVar3,uVar13);" (call_expression "FUN_000763b4(auStack_2a8,puVar3,uVar13)" identifier (argument_list "(auStack_2a8,puVar3,uVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "SHA_Bytes(auStack_2a8,uVar2,param_4);" (call_expression "SHA_Bytes(auStack_2a8,uVar2,param_4)" identifier (argument_list "(auStack_2a8,uVar2,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = auStack_248;" (assignment_expression "puVar3 = auStack_248" identifier = identifier) ;) (expression_statement "SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));" (call_expression "SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60))" identifier (argument_list "(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60))" ( identifier , (cast_expression "(SHA_CTX *)(auStack_248 + 0x60)" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_248 + 0x60)" ( (binary_expression "auStack_248 + 0x60" identifier + number_literal) ))) ))) ;) (expression_statement "SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);" (call_expression "SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14)" identifier (argument_list "(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14)" ( identifier , (cast_expression "(SHA_CTX *)(auStack_248 + 0x60)" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_248 + 0x60)" ( (binary_expression "auStack_248 + 0x60" identifier + number_literal) ))) , number_literal ))) ;) (expression_statement "SHA_Final(puVar3,c_00);" (call_expression "SHA_Final(puVar3,c_00)" identifier (argument_list "(puVar3,c_00)" ( identifier , identifier ))) ;) (expression_statement "uVar2 = *puVar10;" (assignment_expression "uVar2 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (if_statement "if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }" if (parenthesized_expression "(uStack_1d4 == uVar2)" ( (binary_expression "uStack_1d4 == uVar2" identifier == identifier) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar12 + 0x3bf40))();" (call_expression "(**(code **)(pcVar12 + 0x3bf40))()" (parenthesized_expression "(**(code **)(pcVar12 + 0x3bf40))" ( (pointer_expression "**(code **)(pcVar12 + 0x3bf40)" * (pointer_expression "*(code **)(pcVar12 + 0x3bf40)" * (cast_expression "(code **)(pcVar12 + 0x3bf40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3bf40)" ( (binary_expression "pcVar12 + 0x3bf40" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }" if (parenthesized_expression "(c_00->h1 <= *(uint *)(puVar3 + 4))" ( (binary_expression "c_00->h1 <= *(uint *)(puVar3 + 4)" (field_expression "c_00->h1" identifier -> field_identifier) <= (pointer_expression "*(uint *)(puVar3 + 4)" * (cast_expression "(uint *)(puVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }" { (return_statement "return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));" return (call_expression "(uint)(c_00->h1 < *(uint *)(puVar3 + 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(c_00->h1 < *(uint *)(puVar3 + 4))" ( (binary_expression "c_00->h1 < *(uint *)(puVar3 + 4)" (field_expression "c_00->h1" identifier -> field_identifier) < (pointer_expression "*(uint *)(puVar3 + 4)" * (cast_expression "(uint *)(puVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) ))))) ))) ;) })) (return_statement "return 0xffffffff;" return number_literal ;) })))
(translation_unit "int sha1_96_verify(void *handle,uchar *blk,int len,ulong seq)\n\n{\n  undefined *puVar1;\n  void *pvVar2;\n  int iVar3;\n  SHA_State *pSVar4;\n  uchar *puVar5;\n  uchar *puVar6;\n  int len_00;\n  uchar *output;\n  int *piVar7;\n  int *piVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  code *pcVar11;\n  code *pcVar12;\n  SHA_State SStackY_2a8;\n  SHA_State SStackY_248;\n  uchar auStackY_1e8 [20];\n  int iStackY_1d4;\n  SHA_State *pSStackY_1d0;\n  int *piStackY_1cc;\n  uchar *puStackY_1c8;\n  int iStackY_1c4;\n  SHA_State SStackY_194;\n  int iStackY_134;\n  uchar *puStackY_130;\n  void **ppvStackY_12c;\n  int *piStackY_128;\n  code *pcStackY_124;\n  code *pcStackY_110;\n  void *pvStackY_108;\n  undefined4 uStackY_104;\n  undefined4 uStackY_100;\n  void *pvStackY_f4;\n  uchar *puStackY_f0;\n  int *piStackY_ec;\n  uchar *puStackY_e8;\n  code *pcStackY_e4;\n  code *pcStackY_d0;\n  uchar auStackY_c8 [20];\n  void *pvStackY_b4;\n  uchar *puStackY_b0;\n  void **ppvStackY_ac;\n  int *piStackY_a8;\n  code *pcStackY_a4;\n  void *pvStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_78;\n  int iStack_6c;\n  uchar *puStack_64;\n  undefined *puStack_60;\n  int iStack_5c;\n  uchar *puStack_58;\n  code *pcStack_54;\n  uchar correct [20];\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  pvVar2 = *(void **)PTR___stack_chk_guard_000b2f04;\n  sha1_do_hmac(handle,blk,len,seq,correct);\n  len_00 = 0xc;\n  puVar5 = blk + len;\n  iVar3 = (*(code *)PTR_smemeq_000b2ad4)(correct);\n  if (pvVar2 == *(void **)puVar1) {\n    return iVar3;\n  }\n  pcVar10 = sha1_96_generate;\n  puVar9 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  puStack_60 = puVar1;\n  piVar8 = *(int **)(puVar9 + 0x3c24c);\n  iStack_6c = *piVar8;\n  puStack_64 = correct;\n  iStack_5c = len;\n  puStack_58 = blk;\n  pcStack_54 = pcVar10;\n  sha1_do_hmac(pvVar2,puVar5,len_00,seq,(uchar *)&pvStack_80);\n  puVar6 = puVar5 + len_00;\n  *(void **)puVar6 = pvStack_80;\n  *(undefined4 *)(puVar6 + 4) = uStack_7c;\n  *(undefined4 *)(puVar6 + 8) = uStack_78;\n  if (iStack_6c == *piVar8) {\n    return *piVar8;\n  }\n  pcVar10 = *(code **)(puVar9 + 0x3c220);\n  pcVar11 = hmacsha1_96_verresult;\n  (*pcVar10)();\n  pcStackY_d0 = pcVar10 + 0x43604;\n  piVar7 = *(int **)(pcVar10 + 0x3c198);\n  pvStackY_b4 = (void *)*piVar7;\n  puStackY_b0 = puVar5;\n  ppvStackY_ac = &pvStack_80;\n  piStackY_a8 = piVar8;\n  pcStackY_a4 = pcVar11;\n  hmacsha1_genresult(pvStack_80,auStackY_c8);\n  output = (uchar *)0xc;\n  puVar5 = puVar6;\n  iVar3 = (**(code **)(pcStackY_d0 + -0x789c))(auStackY_c8);\n  if (pvStackY_b4 == (void *)*piVar7) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(pcStackY_d0 + -0x7498);\n  pcVar11 = hmacsha1_96_genresult;\n  pvVar2 = pvStackY_b4;\n  (*pcVar10)();\n  pcStackY_110 = pcVar10 + 0x4356c;\n  piVar8 = *(int **)(pcVar10 + 0x3c100);\n  pvStackY_f4 = (void *)*piVar8;\n  puStackY_f0 = auStackY_c8;\n  piStackY_ec = piVar7;\n  puStackY_e8 = puVar6;\n  pcStackY_e4 = pcVar11;\n  hmacsha1_genresult(pvVar2,(uchar *)&pvStackY_108);\n  *(void **)puVar5 = pvStackY_108;\n  *(undefined4 *)(puVar5 + 4) = uStackY_104;\n  *(undefined4 *)(puVar5 + 8) = uStackY_100;\n  if (pvStackY_f4 == (void *)*piVar8) {\n    return *piVar8;\n  }\n  pcVar11 = *(code **)(pcStackY_110 + -0x7498);\n  pcVar12 = SHA_Simple;\n  pvVar2 = pvStackY_f4;\n  (*pcVar11)();\n  pcVar10 = pcVar11 + 0x434c8;\n  piVar7 = *(int **)(pcVar11 + 0x3c05c);\n  iStackY_134 = *piVar7;\n  SStackY_194.blkused = 0;\n  SStackY_194.lenlo = 0;\n  SStackY_194.lenhi = 0;\n  SStackY_194.h[0] = 0x67452301;\n  SStackY_194.h[3] = 0x10325476;\n  SStackY_194.h[1] = 0xefcdab89;\n  SStackY_194.h[2] = 0x98badcfe;\n  SStackY_194.h[4] = 0xc3d2e1f0;\n  puStackY_130 = puVar5;\n  ppvStackY_12c = &pvStackY_108;\n  piStackY_128 = piVar8;\n  pcStackY_124 = pcVar12;\n  SHA_Bytes(&SStackY_194,pvStackY_108,(int)pvVar2);\n  SHA_Final(&SStackY_194,output);\n  iVar3 = 0x60;\n  pSVar4 = &SStackY_194;\n  (**(code **)(pcVar11 + 0x3b5b8))();\n  if (iStackY_134 == *piVar7) {\n    return *piVar7;\n  }\n  pcVar11 = *(code **)(pcVar11 + 0x3c030);\n  (*pcVar11)();\n  piVar8 = *(int **)(pcVar11 + 0x3bf6c);\n  iStackY_1d4 = *piVar8;\n  pSStackY_1d0 = &SStackY_194;\n  piStackY_1cc = piVar7;\n  puStackY_1c8 = output;\n  iStackY_1c4 = len_00;\n  sha1_key_internal(&SStackY_2a8,(uchar *)pSVar4,iVar3);\n  SHA_Bytes(&SStackY_2a8,pvVar2,seq);\n  pSVar4 = &SStackY_248;\n  SHA_Final(&SStackY_2a8,auStackY_1e8);\n  SHA_Bytes(pSVar4,auStackY_1e8,0x14);\n  SHA_Final(pSVar4,(uchar *)pcVar10);\n  iVar3 = *piVar8;\n  if (iStackY_1d4 == iVar3) {\n    return iVar3;\n  }\n  (**(code **)(pcVar11 + 0x3bf40))();\n  if (*(uint *)(pcVar10 + 4) <= pSVar4->h[1]) {\n    return (uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1]);\n  }\n  return -1;\n}\n\n" (function_definition "int sha1_96_verify(void *handle,uchar *blk,int len,ulong seq)\n\n{\n  undefined *puVar1;\n  void *pvVar2;\n  int iVar3;\n  SHA_State *pSVar4;\n  uchar *puVar5;\n  uchar *puVar6;\n  int len_00;\n  uchar *output;\n  int *piVar7;\n  int *piVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  code *pcVar11;\n  code *pcVar12;\n  SHA_State SStackY_2a8;\n  SHA_State SStackY_248;\n  uchar auStackY_1e8 [20];\n  int iStackY_1d4;\n  SHA_State *pSStackY_1d0;\n  int *piStackY_1cc;\n  uchar *puStackY_1c8;\n  int iStackY_1c4;\n  SHA_State SStackY_194;\n  int iStackY_134;\n  uchar *puStackY_130;\n  void **ppvStackY_12c;\n  int *piStackY_128;\n  code *pcStackY_124;\n  code *pcStackY_110;\n  void *pvStackY_108;\n  undefined4 uStackY_104;\n  undefined4 uStackY_100;\n  void *pvStackY_f4;\n  uchar *puStackY_f0;\n  int *piStackY_ec;\n  uchar *puStackY_e8;\n  code *pcStackY_e4;\n  code *pcStackY_d0;\n  uchar auStackY_c8 [20];\n  void *pvStackY_b4;\n  uchar *puStackY_b0;\n  void **ppvStackY_ac;\n  int *piStackY_a8;\n  code *pcStackY_a4;\n  void *pvStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_78;\n  int iStack_6c;\n  uchar *puStack_64;\n  undefined *puStack_60;\n  int iStack_5c;\n  uchar *puStack_58;\n  code *pcStack_54;\n  uchar correct [20];\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  pvVar2 = *(void **)PTR___stack_chk_guard_000b2f04;\n  sha1_do_hmac(handle,blk,len,seq,correct);\n  len_00 = 0xc;\n  puVar5 = blk + len;\n  iVar3 = (*(code *)PTR_smemeq_000b2ad4)(correct);\n  if (pvVar2 == *(void **)puVar1) {\n    return iVar3;\n  }\n  pcVar10 = sha1_96_generate;\n  puVar9 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  puStack_60 = puVar1;\n  piVar8 = *(int **)(puVar9 + 0x3c24c);\n  iStack_6c = *piVar8;\n  puStack_64 = correct;\n  iStack_5c = len;\n  puStack_58 = blk;\n  pcStack_54 = pcVar10;\n  sha1_do_hmac(pvVar2,puVar5,len_00,seq,(uchar *)&pvStack_80);\n  puVar6 = puVar5 + len_00;\n  *(void **)puVar6 = pvStack_80;\n  *(undefined4 *)(puVar6 + 4) = uStack_7c;\n  *(undefined4 *)(puVar6 + 8) = uStack_78;\n  if (iStack_6c == *piVar8) {\n    return *piVar8;\n  }\n  pcVar10 = *(code **)(puVar9 + 0x3c220);\n  pcVar11 = hmacsha1_96_verresult;\n  (*pcVar10)();\n  pcStackY_d0 = pcVar10 + 0x43604;\n  piVar7 = *(int **)(pcVar10 + 0x3c198);\n  pvStackY_b4 = (void *)*piVar7;\n  puStackY_b0 = puVar5;\n  ppvStackY_ac = &pvStack_80;\n  piStackY_a8 = piVar8;\n  pcStackY_a4 = pcVar11;\n  hmacsha1_genresult(pvStack_80,auStackY_c8);\n  output = (uchar *)0xc;\n  puVar5 = puVar6;\n  iVar3 = (**(code **)(pcStackY_d0 + -0x789c))(auStackY_c8);\n  if (pvStackY_b4 == (void *)*piVar7) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(pcStackY_d0 + -0x7498);\n  pcVar11 = hmacsha1_96_genresult;\n  pvVar2 = pvStackY_b4;\n  (*pcVar10)();\n  pcStackY_110 = pcVar10 + 0x4356c;\n  piVar8 = *(int **)(pcVar10 + 0x3c100);\n  pvStackY_f4 = (void *)*piVar8;\n  puStackY_f0 = auStackY_c8;\n  piStackY_ec = piVar7;\n  puStackY_e8 = puVar6;\n  pcStackY_e4 = pcVar11;\n  hmacsha1_genresult(pvVar2,(uchar *)&pvStackY_108);\n  *(void **)puVar5 = pvStackY_108;\n  *(undefined4 *)(puVar5 + 4) = uStackY_104;\n  *(undefined4 *)(puVar5 + 8) = uStackY_100;\n  if (pvStackY_f4 == (void *)*piVar8) {\n    return *piVar8;\n  }\n  pcVar11 = *(code **)(pcStackY_110 + -0x7498);\n  pcVar12 = SHA_Simple;\n  pvVar2 = pvStackY_f4;\n  (*pcVar11)();\n  pcVar10 = pcVar11 + 0x434c8;\n  piVar7 = *(int **)(pcVar11 + 0x3c05c);\n  iStackY_134 = *piVar7;\n  SStackY_194.blkused = 0;\n  SStackY_194.lenlo = 0;\n  SStackY_194.lenhi = 0;\n  SStackY_194.h[0] = 0x67452301;\n  SStackY_194.h[3] = 0x10325476;\n  SStackY_194.h[1] = 0xefcdab89;\n  SStackY_194.h[2] = 0x98badcfe;\n  SStackY_194.h[4] = 0xc3d2e1f0;\n  puStackY_130 = puVar5;\n  ppvStackY_12c = &pvStackY_108;\n  piStackY_128 = piVar8;\n  pcStackY_124 = pcVar12;\n  SHA_Bytes(&SStackY_194,pvStackY_108,(int)pvVar2);\n  SHA_Final(&SStackY_194,output);\n  iVar3 = 0x60;\n  pSVar4 = &SStackY_194;\n  (**(code **)(pcVar11 + 0x3b5b8))();\n  if (iStackY_134 == *piVar7) {\n    return *piVar7;\n  }\n  pcVar11 = *(code **)(pcVar11 + 0x3c030);\n  (*pcVar11)();\n  piVar8 = *(int **)(pcVar11 + 0x3bf6c);\n  iStackY_1d4 = *piVar8;\n  pSStackY_1d0 = &SStackY_194;\n  piStackY_1cc = piVar7;\n  puStackY_1c8 = output;\n  iStackY_1c4 = len_00;\n  sha1_key_internal(&SStackY_2a8,(uchar *)pSVar4,iVar3);\n  SHA_Bytes(&SStackY_2a8,pvVar2,seq);\n  pSVar4 = &SStackY_248;\n  SHA_Final(&SStackY_2a8,auStackY_1e8);\n  SHA_Bytes(pSVar4,auStackY_1e8,0x14);\n  SHA_Final(pSVar4,(uchar *)pcVar10);\n  iVar3 = *piVar8;\n  if (iStackY_1d4 == iVar3) {\n    return iVar3;\n  }\n  (**(code **)(pcVar11 + 0x3bf40))();\n  if (*(uint *)(pcVar10 + 4) <= pSVar4->h[1]) {\n    return (uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1]);\n  }\n  return -1;\n}" primitive_type (function_declarator "sha1_96_verify(void *handle,uchar *blk,int len,ulong seq)" identifier (parameter_list "(void *handle,uchar *blk,int len,ulong seq)" ( (parameter_declaration "void *handle" primitive_type (pointer_declarator "*handle" * identifier)) , (parameter_declaration "uchar *blk" type_identifier (pointer_declarator "*blk" * identifier)) , (parameter_declaration "int len" primitive_type identifier) , (parameter_declaration "ulong seq" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  void *pvVar2;\n  int iVar3;\n  SHA_State *pSVar4;\n  uchar *puVar5;\n  uchar *puVar6;\n  int len_00;\n  uchar *output;\n  int *piVar7;\n  int *piVar8;\n  undefined *puVar9;\n  code *pcVar10;\n  code *pcVar11;\n  code *pcVar12;\n  SHA_State SStackY_2a8;\n  SHA_State SStackY_248;\n  uchar auStackY_1e8 [20];\n  int iStackY_1d4;\n  SHA_State *pSStackY_1d0;\n  int *piStackY_1cc;\n  uchar *puStackY_1c8;\n  int iStackY_1c4;\n  SHA_State SStackY_194;\n  int iStackY_134;\n  uchar *puStackY_130;\n  void **ppvStackY_12c;\n  int *piStackY_128;\n  code *pcStackY_124;\n  code *pcStackY_110;\n  void *pvStackY_108;\n  undefined4 uStackY_104;\n  undefined4 uStackY_100;\n  void *pvStackY_f4;\n  uchar *puStackY_f0;\n  int *piStackY_ec;\n  uchar *puStackY_e8;\n  code *pcStackY_e4;\n  code *pcStackY_d0;\n  uchar auStackY_c8 [20];\n  void *pvStackY_b4;\n  uchar *puStackY_b0;\n  void **ppvStackY_ac;\n  int *piStackY_a8;\n  code *pcStackY_a4;\n  void *pvStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_78;\n  int iStack_6c;\n  uchar *puStack_64;\n  undefined *puStack_60;\n  int iStack_5c;\n  uchar *puStack_58;\n  code *pcStack_54;\n  uchar correct [20];\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  pvVar2 = *(void **)PTR___stack_chk_guard_000b2f04;\n  sha1_do_hmac(handle,blk,len,seq,correct);\n  len_00 = 0xc;\n  puVar5 = blk + len;\n  iVar3 = (*(code *)PTR_smemeq_000b2ad4)(correct);\n  if (pvVar2 == *(void **)puVar1) {\n    return iVar3;\n  }\n  pcVar10 = sha1_96_generate;\n  puVar9 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  puStack_60 = puVar1;\n  piVar8 = *(int **)(puVar9 + 0x3c24c);\n  iStack_6c = *piVar8;\n  puStack_64 = correct;\n  iStack_5c = len;\n  puStack_58 = blk;\n  pcStack_54 = pcVar10;\n  sha1_do_hmac(pvVar2,puVar5,len_00,seq,(uchar *)&pvStack_80);\n  puVar6 = puVar5 + len_00;\n  *(void **)puVar6 = pvStack_80;\n  *(undefined4 *)(puVar6 + 4) = uStack_7c;\n  *(undefined4 *)(puVar6 + 8) = uStack_78;\n  if (iStack_6c == *piVar8) {\n    return *piVar8;\n  }\n  pcVar10 = *(code **)(puVar9 + 0x3c220);\n  pcVar11 = hmacsha1_96_verresult;\n  (*pcVar10)();\n  pcStackY_d0 = pcVar10 + 0x43604;\n  piVar7 = *(int **)(pcVar10 + 0x3c198);\n  pvStackY_b4 = (void *)*piVar7;\n  puStackY_b0 = puVar5;\n  ppvStackY_ac = &pvStack_80;\n  piStackY_a8 = piVar8;\n  pcStackY_a4 = pcVar11;\n  hmacsha1_genresult(pvStack_80,auStackY_c8);\n  output = (uchar *)0xc;\n  puVar5 = puVar6;\n  iVar3 = (**(code **)(pcStackY_d0 + -0x789c))(auStackY_c8);\n  if (pvStackY_b4 == (void *)*piVar7) {\n    return iVar3;\n  }\n  pcVar10 = *(code **)(pcStackY_d0 + -0x7498);\n  pcVar11 = hmacsha1_96_genresult;\n  pvVar2 = pvStackY_b4;\n  (*pcVar10)();\n  pcStackY_110 = pcVar10 + 0x4356c;\n  piVar8 = *(int **)(pcVar10 + 0x3c100);\n  pvStackY_f4 = (void *)*piVar8;\n  puStackY_f0 = auStackY_c8;\n  piStackY_ec = piVar7;\n  puStackY_e8 = puVar6;\n  pcStackY_e4 = pcVar11;\n  hmacsha1_genresult(pvVar2,(uchar *)&pvStackY_108);\n  *(void **)puVar5 = pvStackY_108;\n  *(undefined4 *)(puVar5 + 4) = uStackY_104;\n  *(undefined4 *)(puVar5 + 8) = uStackY_100;\n  if (pvStackY_f4 == (void *)*piVar8) {\n    return *piVar8;\n  }\n  pcVar11 = *(code **)(pcStackY_110 + -0x7498);\n  pcVar12 = SHA_Simple;\n  pvVar2 = pvStackY_f4;\n  (*pcVar11)();\n  pcVar10 = pcVar11 + 0x434c8;\n  piVar7 = *(int **)(pcVar11 + 0x3c05c);\n  iStackY_134 = *piVar7;\n  SStackY_194.blkused = 0;\n  SStackY_194.lenlo = 0;\n  SStackY_194.lenhi = 0;\n  SStackY_194.h[0] = 0x67452301;\n  SStackY_194.h[3] = 0x10325476;\n  SStackY_194.h[1] = 0xefcdab89;\n  SStackY_194.h[2] = 0x98badcfe;\n  SStackY_194.h[4] = 0xc3d2e1f0;\n  puStackY_130 = puVar5;\n  ppvStackY_12c = &pvStackY_108;\n  piStackY_128 = piVar8;\n  pcStackY_124 = pcVar12;\n  SHA_Bytes(&SStackY_194,pvStackY_108,(int)pvVar2);\n  SHA_Final(&SStackY_194,output);\n  iVar3 = 0x60;\n  pSVar4 = &SStackY_194;\n  (**(code **)(pcVar11 + 0x3b5b8))();\n  if (iStackY_134 == *piVar7) {\n    return *piVar7;\n  }\n  pcVar11 = *(code **)(pcVar11 + 0x3c030);\n  (*pcVar11)();\n  piVar8 = *(int **)(pcVar11 + 0x3bf6c);\n  iStackY_1d4 = *piVar8;\n  pSStackY_1d0 = &SStackY_194;\n  piStackY_1cc = piVar7;\n  puStackY_1c8 = output;\n  iStackY_1c4 = len_00;\n  sha1_key_internal(&SStackY_2a8,(uchar *)pSVar4,iVar3);\n  SHA_Bytes(&SStackY_2a8,pvVar2,seq);\n  pSVar4 = &SStackY_248;\n  SHA_Final(&SStackY_2a8,auStackY_1e8);\n  SHA_Bytes(pSVar4,auStackY_1e8,0x14);\n  SHA_Final(pSVar4,(uchar *)pcVar10);\n  iVar3 = *piVar8;\n  if (iStackY_1d4 == iVar3) {\n    return iVar3;\n  }\n  (**(code **)(pcVar11 + 0x3bf40))();\n  if (*(uint *)(pcVar10 + 4) <= pSVar4->h[1]) {\n    return (uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1]);\n  }\n  return -1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "void *pvVar2;" primitive_type (pointer_declarator "*pvVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "SHA_State *pSVar4;" type_identifier (pointer_declarator "*pSVar4" * identifier) ;) (declaration "uchar *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uchar *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int len_00;" primitive_type identifier ;) (declaration "uchar *output;" type_identifier (pointer_declarator "*output" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "SHA_State SStackY_2a8;" type_identifier identifier ;) (declaration "SHA_State SStackY_248;" type_identifier identifier ;) (declaration "uchar auStackY_1e8 [20];" type_identifier (array_declarator "auStackY_1e8 [20]" identifier [ number_literal ]) ;) (declaration "int iStackY_1d4;" primitive_type identifier ;) (declaration "SHA_State *pSStackY_1d0;" type_identifier (pointer_declarator "*pSStackY_1d0" * identifier) ;) (declaration "int *piStackY_1cc;" primitive_type (pointer_declarator "*piStackY_1cc" * identifier) ;) (declaration "uchar *puStackY_1c8;" type_identifier (pointer_declarator "*puStackY_1c8" * identifier) ;) (declaration "int iStackY_1c4;" primitive_type identifier ;) (declaration "SHA_State SStackY_194;" type_identifier identifier ;) (declaration "int iStackY_134;" primitive_type identifier ;) (declaration "uchar *puStackY_130;" type_identifier (pointer_declarator "*puStackY_130" * identifier) ;) (declaration "void **ppvStackY_12c;" primitive_type (pointer_declarator "**ppvStackY_12c" * (pointer_declarator "*ppvStackY_12c" * identifier)) ;) (declaration "int *piStackY_128;" primitive_type (pointer_declarator "*piStackY_128" * identifier) ;) (declaration "code *pcStackY_124;" type_identifier (pointer_declarator "*pcStackY_124" * identifier) ;) (declaration "code *pcStackY_110;" type_identifier (pointer_declarator "*pcStackY_110" * identifier) ;) (declaration "void *pvStackY_108;" primitive_type (pointer_declarator "*pvStackY_108" * identifier) ;) (declaration "undefined4 uStackY_104;" type_identifier identifier ;) (declaration "undefined4 uStackY_100;" type_identifier identifier ;) (declaration "void *pvStackY_f4;" primitive_type (pointer_declarator "*pvStackY_f4" * identifier) ;) (declaration "uchar *puStackY_f0;" type_identifier (pointer_declarator "*puStackY_f0" * identifier) ;) (declaration "int *piStackY_ec;" primitive_type (pointer_declarator "*piStackY_ec" * identifier) ;) (declaration "uchar *puStackY_e8;" type_identifier (pointer_declarator "*puStackY_e8" * identifier) ;) (declaration "code *pcStackY_e4;" type_identifier (pointer_declarator "*pcStackY_e4" * identifier) ;) (declaration "code *pcStackY_d0;" type_identifier (pointer_declarator "*pcStackY_d0" * identifier) ;) (declaration "uchar auStackY_c8 [20];" type_identifier (array_declarator "auStackY_c8 [20]" identifier [ number_literal ]) ;) (declaration "void *pvStackY_b4;" primitive_type (pointer_declarator "*pvStackY_b4" * identifier) ;) (declaration "uchar *puStackY_b0;" type_identifier (pointer_declarator "*puStackY_b0" * identifier) ;) (declaration "void **ppvStackY_ac;" primitive_type (pointer_declarator "**ppvStackY_ac" * (pointer_declarator "*ppvStackY_ac" * identifier)) ;) (declaration "int *piStackY_a8;" primitive_type (pointer_declarator "*piStackY_a8" * identifier) ;) (declaration "code *pcStackY_a4;" type_identifier (pointer_declarator "*pcStackY_a4" * identifier) ;) (declaration "void *pvStack_80;" primitive_type (pointer_declarator "*pvStack_80" * identifier) ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "undefined4 uStack_78;" type_identifier identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "uchar *puStack_64;" type_identifier (pointer_declarator "*puStack_64" * identifier) ;) (declaration "undefined *puStack_60;" type_identifier (pointer_declarator "*puStack_60" * identifier) ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "uchar *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "code *pcStack_54;" type_identifier (pointer_declarator "*pcStack_54" * identifier) ;) (declaration "uchar correct [20];" type_identifier (array_declarator "correct [20]" identifier [ number_literal ]) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000b2f04;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b2f04" identifier = identifier) ;) (expression_statement "pvVar2 = *(void **)PTR___stack_chk_guard_000b2f04;" (assignment_expression "pvVar2 = *(void **)PTR___stack_chk_guard_000b2f04" identifier = (pointer_expression "*(void **)PTR___stack_chk_guard_000b2f04" * (cast_expression "(void **)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "sha1_do_hmac(handle,blk,len,seq,correct);" (call_expression "sha1_do_hmac(handle,blk,len,seq,correct)" identifier (argument_list "(handle,blk,len,seq,correct)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "len_00 = 0xc;" (assignment_expression "len_00 = 0xc" identifier = number_literal) ;) (expression_statement "puVar5 = blk + len;" (assignment_expression "puVar5 = blk + len" identifier = (binary_expression "blk + len" identifier + identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR_smemeq_000b2ad4)(correct);" (assignment_expression "iVar3 = (*(code *)PTR_smemeq_000b2ad4)(correct)" identifier = (call_expression "(*(code *)PTR_smemeq_000b2ad4)(correct)" (parenthesized_expression "(*(code *)PTR_smemeq_000b2ad4)" ( (pointer_expression "*(code *)PTR_smemeq_000b2ad4" * (cast_expression "(code *)PTR_smemeq_000b2ad4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(correct)" ( identifier )))) ;) (if_statement "if (pvVar2 == *(void **)puVar1) {\n    return iVar3;\n  }" if (parenthesized_expression "(pvVar2 == *(void **)puVar1)" ( (binary_expression "pvVar2 == *(void **)puVar1" identifier == (pointer_expression "*(void **)puVar1" * (cast_expression "(void **)puVar1" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "pcVar10 = sha1_96_generate;" (assignment_expression "pcVar10 = sha1_96_generate" identifier = identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar9 = PTR___stack_chk_fail_000b2ed8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b2ed8)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b2ed8" * (cast_expression "(code *)PTR___stack_chk_fail_000b2ed8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_60 = puVar1;" (assignment_expression "puStack_60 = puVar1" identifier = identifier) ;) (expression_statement "piVar8 = *(int **)(puVar9 + 0x3c24c);" (assignment_expression "piVar8 = *(int **)(puVar9 + 0x3c24c)" identifier = (pointer_expression "*(int **)(puVar9 + 0x3c24c)" * (cast_expression "(int **)(puVar9 + 0x3c24c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x3c24c)" ( (binary_expression "puVar9 + 0x3c24c" identifier + number_literal) ))))) ;) (expression_statement "iStack_6c = *piVar8;" (assignment_expression "iStack_6c = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "puStack_64 = correct;" (assignment_expression "puStack_64 = correct" identifier = identifier) ;) (expression_statement "iStack_5c = len;" (assignment_expression "iStack_5c = len" identifier = identifier) ;) (expression_statement "puStack_58 = blk;" (assignment_expression "puStack_58 = blk" identifier = identifier) ;) (expression_statement "pcStack_54 = pcVar10;" (assignment_expression "pcStack_54 = pcVar10" identifier = identifier) ;) (expression_statement "sha1_do_hmac(pvVar2,puVar5,len_00,seq,(uchar *)&pvStack_80);" (call_expression "sha1_do_hmac(pvVar2,puVar5,len_00,seq,(uchar *)&pvStack_80)" identifier (argument_list "(pvVar2,puVar5,len_00,seq,(uchar *)&pvStack_80)" ( identifier , identifier , identifier , identifier , (cast_expression "(uchar *)&pvStack_80" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pvStack_80" & identifier)) ))) ;) (expression_statement "puVar6 = puVar5 + len_00;" (assignment_expression "puVar6 = puVar5 + len_00" identifier = (binary_expression "puVar5 + len_00" identifier + identifier)) ;) (expression_statement "*(void **)puVar6 = pvStack_80;" (assignment_expression "*(void **)puVar6 = pvStack_80" (pointer_expression "*(void **)puVar6" * (cast_expression "(void **)puVar6" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(puVar6 + 4) = uStack_7c;" (assignment_expression "*(undefined4 *)(puVar6 + 4) = uStack_7c" (pointer_expression "*(undefined4 *)(puVar6 + 4)" * (cast_expression "(undefined4 *)(puVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar6 + 8) = uStack_78;" (assignment_expression "*(undefined4 *)(puVar6 + 8) = uStack_78" (pointer_expression "*(undefined4 *)(puVar6 + 8)" * (cast_expression "(undefined4 *)(puVar6 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 8)" ( (binary_expression "puVar6 + 8" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iStack_6c == *piVar8) {\n    return *piVar8;\n  }" if (parenthesized_expression "(iStack_6c == *piVar8)" ( (binary_expression "iStack_6c == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return *piVar8;\n  }" { (return_statement "return *piVar8;" return (pointer_expression "*piVar8" * identifier) ;) })) (expression_statement "pcVar10 = *(code **)(puVar9 + 0x3c220);" (assignment_expression "pcVar10 = *(code **)(puVar9 + 0x3c220)" identifier = (pointer_expression "*(code **)(puVar9 + 0x3c220)" * (cast_expression "(code **)(puVar9 + 0x3c220)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0x3c220)" ( (binary_expression "puVar9 + 0x3c220" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = hmacsha1_96_verresult;" (assignment_expression "pcVar11 = hmacsha1_96_verresult" identifier = identifier) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStackY_d0 = pcVar10 + 0x43604;" (assignment_expression "pcStackY_d0 = pcVar10 + 0x43604" identifier = (binary_expression "pcVar10 + 0x43604" identifier + number_literal)) ;) (expression_statement "piVar7 = *(int **)(pcVar10 + 0x3c198);" (assignment_expression "piVar7 = *(int **)(pcVar10 + 0x3c198)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x3c198)" * (cast_expression "(int **)(pcVar10 + 0x3c198)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x3c198)" ( (binary_expression "pcVar10 + 0x3c198" identifier + number_literal) ))))) ;) (expression_statement "pvStackY_b4 = (void *)*piVar7;" (assignment_expression "pvStackY_b4 = (void *)*piVar7" identifier = (cast_expression "(void *)*piVar7" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar7" * identifier))) ;) (expression_statement "puStackY_b0 = puVar5;" (assignment_expression "puStackY_b0 = puVar5" identifier = identifier) ;) (expression_statement "ppvStackY_ac = &pvStack_80;" (assignment_expression "ppvStackY_ac = &pvStack_80" identifier = (pointer_expression "&pvStack_80" & identifier)) ;) (expression_statement "piStackY_a8 = piVar8;" (assignment_expression "piStackY_a8 = piVar8" identifier = identifier) ;) (expression_statement "pcStackY_a4 = pcVar11;" (assignment_expression "pcStackY_a4 = pcVar11" identifier = identifier) ;) (expression_statement "hmacsha1_genresult(pvStack_80,auStackY_c8);" (call_expression "hmacsha1_genresult(pvStack_80,auStackY_c8)" identifier (argument_list "(pvStack_80,auStackY_c8)" ( identifier , identifier ))) ;) (expression_statement "output = (uchar *)0xc;" (assignment_expression "output = (uchar *)0xc" identifier = (cast_expression "(uchar *)0xc" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(pcStackY_d0 + -0x789c))(auStackY_c8);" (assignment_expression "iVar3 = (**(code **)(pcStackY_d0 + -0x789c))(auStackY_c8)" identifier = (call_expression "(**(code **)(pcStackY_d0 + -0x789c))(auStackY_c8)" (parenthesized_expression "(**(code **)(pcStackY_d0 + -0x789c))" ( (pointer_expression "**(code **)(pcStackY_d0 + -0x789c)" * (pointer_expression "*(code **)(pcStackY_d0 + -0x789c)" * (cast_expression "(code **)(pcStackY_d0 + -0x789c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_d0 + -0x789c)" ( (binary_expression "pcStackY_d0 + -0x789c" identifier + number_literal) ))))) )) (argument_list "(auStackY_c8)" ( identifier )))) ;) (if_statement "if (pvStackY_b4 == (void *)*piVar7) {\n    return iVar3;\n  }" if (parenthesized_expression "(pvStackY_b4 == (void *)*piVar7)" ( (binary_expression "pvStackY_b4 == (void *)*piVar7" identifier == (cast_expression "(void *)*piVar7" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar7" * identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "pcVar10 = *(code **)(pcStackY_d0 + -0x7498);" (assignment_expression "pcVar10 = *(code **)(pcStackY_d0 + -0x7498)" identifier = (pointer_expression "*(code **)(pcStackY_d0 + -0x7498)" * (cast_expression "(code **)(pcStackY_d0 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_d0 + -0x7498)" ( (binary_expression "pcStackY_d0 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = hmacsha1_96_genresult;" (assignment_expression "pcVar11 = hmacsha1_96_genresult" identifier = identifier) ;) (expression_statement "pvVar2 = pvStackY_b4;" (assignment_expression "pvVar2 = pvStackY_b4" identifier = identifier) ;) (expression_statement "(*pcVar10)();" (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStackY_110 = pcVar10 + 0x4356c;" (assignment_expression "pcStackY_110 = pcVar10 + 0x4356c" identifier = (binary_expression "pcVar10 + 0x4356c" identifier + number_literal)) ;) (expression_statement "piVar8 = *(int **)(pcVar10 + 0x3c100);" (assignment_expression "piVar8 = *(int **)(pcVar10 + 0x3c100)" identifier = (pointer_expression "*(int **)(pcVar10 + 0x3c100)" * (cast_expression "(int **)(pcVar10 + 0x3c100)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x3c100)" ( (binary_expression "pcVar10 + 0x3c100" identifier + number_literal) ))))) ;) (expression_statement "pvStackY_f4 = (void *)*piVar8;" (assignment_expression "pvStackY_f4 = (void *)*piVar8" identifier = (cast_expression "(void *)*piVar8" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "puStackY_f0 = auStackY_c8;" (assignment_expression "puStackY_f0 = auStackY_c8" identifier = identifier) ;) (expression_statement "piStackY_ec = piVar7;" (assignment_expression "piStackY_ec = piVar7" identifier = identifier) ;) (expression_statement "puStackY_e8 = puVar6;" (assignment_expression "puStackY_e8 = puVar6" identifier = identifier) ;) (expression_statement "pcStackY_e4 = pcVar11;" (assignment_expression "pcStackY_e4 = pcVar11" identifier = identifier) ;) (expression_statement "hmacsha1_genresult(pvVar2,(uchar *)&pvStackY_108);" (call_expression "hmacsha1_genresult(pvVar2,(uchar *)&pvStackY_108)" identifier (argument_list "(pvVar2,(uchar *)&pvStackY_108)" ( identifier , (cast_expression "(uchar *)&pvStackY_108" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pvStackY_108" & identifier)) ))) ;) (expression_statement "*(void **)puVar5 = pvStackY_108;" (assignment_expression "*(void **)puVar5 = pvStackY_108" (pointer_expression "*(void **)puVar5" * (cast_expression "(void **)puVar5" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(puVar5 + 4) = uStackY_104;" (assignment_expression "*(undefined4 *)(puVar5 + 4) = uStackY_104" (pointer_expression "*(undefined4 *)(puVar5 + 4)" * (cast_expression "(undefined4 *)(puVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar5 + 8) = uStackY_100;" (assignment_expression "*(undefined4 *)(puVar5 + 8) = uStackY_100" (pointer_expression "*(undefined4 *)(puVar5 + 8)" * (cast_expression "(undefined4 *)(puVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 8)" ( (binary_expression "puVar5 + 8" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pvStackY_f4 == (void *)*piVar8) {\n    return *piVar8;\n  }" if (parenthesized_expression "(pvStackY_f4 == (void *)*piVar8)" ( (binary_expression "pvStackY_f4 == (void *)*piVar8" identifier == (cast_expression "(void *)*piVar8" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) )) (compound_statement "{\n    return *piVar8;\n  }" { (return_statement "return *piVar8;" return (pointer_expression "*piVar8" * identifier) ;) })) (expression_statement "pcVar11 = *(code **)(pcStackY_110 + -0x7498);" (assignment_expression "pcVar11 = *(code **)(pcStackY_110 + -0x7498)" identifier = (pointer_expression "*(code **)(pcStackY_110 + -0x7498)" * (cast_expression "(code **)(pcStackY_110 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_110 + -0x7498)" ( (binary_expression "pcStackY_110 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "pcVar12 = SHA_Simple;" (assignment_expression "pcVar12 = SHA_Simple" identifier = identifier) ;) (expression_statement "pvVar2 = pvStackY_f4;" (assignment_expression "pvVar2 = pvStackY_f4" identifier = identifier) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar10 = pcVar11 + 0x434c8;" (assignment_expression "pcVar10 = pcVar11 + 0x434c8" identifier = (binary_expression "pcVar11 + 0x434c8" identifier + number_literal)) ;) (expression_statement "piVar7 = *(int **)(pcVar11 + 0x3c05c);" (assignment_expression "piVar7 = *(int **)(pcVar11 + 0x3c05c)" identifier = (pointer_expression "*(int **)(pcVar11 + 0x3c05c)" * (cast_expression "(int **)(pcVar11 + 0x3c05c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3c05c)" ( (binary_expression "pcVar11 + 0x3c05c" identifier + number_literal) ))))) ;) (expression_statement "iStackY_134 = *piVar7;" (assignment_expression "iStackY_134 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "SStackY_194.blkused = 0;" (assignment_expression "SStackY_194.blkused = 0" (field_expression "SStackY_194.blkused" identifier . field_identifier) = number_literal) ;) (expression_statement "SStackY_194.lenlo = 0;" (assignment_expression "SStackY_194.lenlo = 0" (field_expression "SStackY_194.lenlo" identifier . field_identifier) = number_literal) ;) (expression_statement "SStackY_194.lenhi = 0;" (assignment_expression "SStackY_194.lenhi = 0" (field_expression "SStackY_194.lenhi" identifier . field_identifier) = number_literal) ;) (expression_statement "SStackY_194.h[0] = 0x67452301;" (assignment_expression "SStackY_194.h[0] = 0x67452301" (subscript_expression "SStackY_194.h[0]" (field_expression "SStackY_194.h" identifier . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "SStackY_194.h[3] = 0x10325476;" (assignment_expression "SStackY_194.h[3] = 0x10325476" (subscript_expression "SStackY_194.h[3]" (field_expression "SStackY_194.h" identifier . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "SStackY_194.h[1] = 0xefcdab89;" (assignment_expression "SStackY_194.h[1] = 0xefcdab89" (subscript_expression "SStackY_194.h[1]" (field_expression "SStackY_194.h" identifier . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "SStackY_194.h[2] = 0x98badcfe;" (assignment_expression "SStackY_194.h[2] = 0x98badcfe" (subscript_expression "SStackY_194.h[2]" (field_expression "SStackY_194.h" identifier . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "SStackY_194.h[4] = 0xc3d2e1f0;" (assignment_expression "SStackY_194.h[4] = 0xc3d2e1f0" (subscript_expression "SStackY_194.h[4]" (field_expression "SStackY_194.h" identifier . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "puStackY_130 = puVar5;" (assignment_expression "puStackY_130 = puVar5" identifier = identifier) ;) (expression_statement "ppvStackY_12c = &pvStackY_108;" (assignment_expression "ppvStackY_12c = &pvStackY_108" identifier = (pointer_expression "&pvStackY_108" & identifier)) ;) (expression_statement "piStackY_128 = piVar8;" (assignment_expression "piStackY_128 = piVar8" identifier = identifier) ;) (expression_statement "pcStackY_124 = pcVar12;" (assignment_expression "pcStackY_124 = pcVar12" identifier = identifier) ;) (expression_statement "SHA_Bytes(&SStackY_194,pvStackY_108,(int)pvVar2);" (call_expression "SHA_Bytes(&SStackY_194,pvStackY_108,(int)pvVar2)" identifier (argument_list "(&SStackY_194,pvStackY_108,(int)pvVar2)" ( (pointer_expression "&SStackY_194" & identifier) , identifier , (cast_expression "(int)pvVar2" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "SHA_Final(&SStackY_194,output);" (call_expression "SHA_Final(&SStackY_194,output)" identifier (argument_list "(&SStackY_194,output)" ( (pointer_expression "&SStackY_194" & identifier) , identifier ))) ;) (expression_statement "iVar3 = 0x60;" (assignment_expression "iVar3 = 0x60" identifier = number_literal) ;) (expression_statement "pSVar4 = &SStackY_194;" (assignment_expression "pSVar4 = &SStackY_194" identifier = (pointer_expression "&SStackY_194" & identifier)) ;) (expression_statement "(**(code **)(pcVar11 + 0x3b5b8))();" (call_expression "(**(code **)(pcVar11 + 0x3b5b8))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x3b5b8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3b5b8)" * (pointer_expression "*(code **)(pcVar11 + 0x3b5b8)" * (cast_expression "(code **)(pcVar11 + 0x3b5b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3b5b8)" ( (binary_expression "pcVar11 + 0x3b5b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStackY_134 == *piVar7) {\n    return *piVar7;\n  }" if (parenthesized_expression "(iStackY_134 == *piVar7)" ( (binary_expression "iStackY_134 == *piVar7" identifier == (pointer_expression "*piVar7" * identifier)) )) (compound_statement "{\n    return *piVar7;\n  }" { (return_statement "return *piVar7;" return (pointer_expression "*piVar7" * identifier) ;) })) (expression_statement "pcVar11 = *(code **)(pcVar11 + 0x3c030);" (assignment_expression "pcVar11 = *(code **)(pcVar11 + 0x3c030)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x3c030)" * (cast_expression "(code **)(pcVar11 + 0x3c030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3c030)" ( (binary_expression "pcVar11 + 0x3c030" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(pcVar11 + 0x3bf6c);" (assignment_expression "piVar8 = *(int **)(pcVar11 + 0x3bf6c)" identifier = (pointer_expression "*(int **)(pcVar11 + 0x3bf6c)" * (cast_expression "(int **)(pcVar11 + 0x3bf6c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3bf6c)" ( (binary_expression "pcVar11 + 0x3bf6c" identifier + number_literal) ))))) ;) (expression_statement "iStackY_1d4 = *piVar8;" (assignment_expression "iStackY_1d4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "pSStackY_1d0 = &SStackY_194;" (assignment_expression "pSStackY_1d0 = &SStackY_194" identifier = (pointer_expression "&SStackY_194" & identifier)) ;) (expression_statement "piStackY_1cc = piVar7;" (assignment_expression "piStackY_1cc = piVar7" identifier = identifier) ;) (expression_statement "puStackY_1c8 = output;" (assignment_expression "puStackY_1c8 = output" identifier = identifier) ;) (expression_statement "iStackY_1c4 = len_00;" (assignment_expression "iStackY_1c4 = len_00" identifier = identifier) ;) (expression_statement "sha1_key_internal(&SStackY_2a8,(uchar *)pSVar4,iVar3);" (call_expression "sha1_key_internal(&SStackY_2a8,(uchar *)pSVar4,iVar3)" identifier (argument_list "(&SStackY_2a8,(uchar *)pSVar4,iVar3)" ( (pointer_expression "&SStackY_2a8" & identifier) , (cast_expression "(uchar *)pSVar4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "SHA_Bytes(&SStackY_2a8,pvVar2,seq);" (call_expression "SHA_Bytes(&SStackY_2a8,pvVar2,seq)" identifier (argument_list "(&SStackY_2a8,pvVar2,seq)" ( (pointer_expression "&SStackY_2a8" & identifier) , identifier , identifier ))) ;) (expression_statement "pSVar4 = &SStackY_248;" (assignment_expression "pSVar4 = &SStackY_248" identifier = (pointer_expression "&SStackY_248" & identifier)) ;) (expression_statement "SHA_Final(&SStackY_2a8,auStackY_1e8);" (call_expression "SHA_Final(&SStackY_2a8,auStackY_1e8)" identifier (argument_list "(&SStackY_2a8,auStackY_1e8)" ( (pointer_expression "&SStackY_2a8" & identifier) , identifier ))) ;) (expression_statement "SHA_Bytes(pSVar4,auStackY_1e8,0x14);" (call_expression "SHA_Bytes(pSVar4,auStackY_1e8,0x14)" identifier (argument_list "(pSVar4,auStackY_1e8,0x14)" ( identifier , identifier , number_literal ))) ;) (expression_statement "SHA_Final(pSVar4,(uchar *)pcVar10);" (call_expression "SHA_Final(pSVar4,(uchar *)pcVar10)" identifier (argument_list "(pSVar4,(uchar *)pcVar10)" ( identifier , (cast_expression "(uchar *)pcVar10" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "iVar3 = *piVar8;" (assignment_expression "iVar3 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iStackY_1d4 == iVar3) {\n    return iVar3;\n  }" if (parenthesized_expression "(iStackY_1d4 == iVar3)" ( (binary_expression "iStackY_1d4 == iVar3" identifier == identifier) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "(**(code **)(pcVar11 + 0x3bf40))();" (call_expression "(**(code **)(pcVar11 + 0x3bf40))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x3bf40))" ( (pointer_expression "**(code **)(pcVar11 + 0x3bf40)" * (pointer_expression "*(code **)(pcVar11 + 0x3bf40)" * (cast_expression "(code **)(pcVar11 + 0x3bf40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3bf40)" ( (binary_expression "pcVar11 + 0x3bf40" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (*(uint *)(pcVar10 + 4) <= pSVar4->h[1]) {\n    return (uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1]);\n  }" if (parenthesized_expression "(*(uint *)(pcVar10 + 4) <= pSVar4->h[1])" ( (binary_expression "*(uint *)(pcVar10 + 4) <= pSVar4->h[1]" (pointer_expression "*(uint *)(pcVar10 + 4)" * (cast_expression "(uint *)(pcVar10 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 4)" ( (binary_expression "pcVar10 + 4" identifier + number_literal) )))) <= (subscript_expression "pSVar4->h[1]" (field_expression "pSVar4->h" identifier -> field_identifier) [ number_literal ])) )) (compound_statement "{\n    return (uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1]);\n  }" { (return_statement "return (uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1]);" return (call_expression "(uint)(*(uint *)(pcVar10 + 4) < pSVar4->h[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(pcVar10 + 4) < pSVar4->h[1])" ( (binary_expression "*(uint *)(pcVar10 + 4) < pSVar4->h[1]" (pointer_expression "*(uint *)(pcVar10 + 4)" * (cast_expression "(uint *)(pcVar10 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 4)" ( (binary_expression "pcVar10 + 4" identifier + number_literal) )))) < (subscript_expression "pSVar4->h[1]" (field_expression "pSVar4->h" identifier -> field_identifier) [ number_literal ])) ))) ;) })) (return_statement "return -1;" return number_literal ;) })))
(translation_unit "uint FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}\n\n" (function_definition "uint FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}" type_identifier (function_declarator "FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uchar *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "SHA_CTX *c;" type_identifier (pointer_declarator "*c" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "SHA_CTX *c_00;" type_identifier (pointer_declarator "*c_00" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "uchar auStack_2a8 [96];" type_identifier (array_declarator "auStack_2a8 [96]" identifier [ number_literal ]) ;) (declaration "uchar auStack_248 [116];" type_identifier (array_declarator "auStack_248 [116]" identifier [ number_literal ]) ;) (declaration "uint uStack_1d4;" type_identifier identifier ;) (declaration "uchar *puStack_1d0;" type_identifier (pointer_declarator "*puStack_1d0" * identifier) ;) (declaration "uint *puStack_1cc;" type_identifier (pointer_declarator "*puStack_1cc" * identifier) ;) (declaration "SHA_CTX *pSStack_1c8;" type_identifier (pointer_declarator "*pSStack_1c8" * identifier) ;) (declaration "int iStack_1c4;" primitive_type identifier ;) (declaration "uchar auStack_194 [84];" type_identifier (array_declarator "auStack_194 [84]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_140;" type_identifier identifier ;) (declaration "undefined4 uStack_13c;" type_identifier identifier ;) (declaration "undefined4 uStack_138;" type_identifier identifier ;) (declaration "uint uStack_134;" type_identifier identifier ;) (declaration "undefined4 *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "undefined4 *puStack_12c;" type_identifier (pointer_declarator "*puStack_12c" * identifier) ;) (declaration "uint *puStack_128;" type_identifier (pointer_declarator "*puStack_128" * identifier) ;) (declaration "code *pcStack_124;" type_identifier (pointer_declarator "*pcStack_124" * identifier) ;) (declaration "code *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "undefined4 local_108;" type_identifier identifier ;) (declaration "undefined4 local_104;" type_identifier identifier ;) (declaration "undefined4 local_100;" type_identifier identifier ;) (declaration "uint local_f4;" type_identifier identifier ;) (declaration "undefined1 *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "int *local_ec;" primitive_type (pointer_declarator "*local_ec" * identifier) ;) (declaration "undefined4 *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "undefined4 local_e4;" type_identifier identifier ;) (declaration "code *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "undefined1 auStack_c8 [20];" type_identifier (array_declarator "auStack_c8 [20]" identifier [ number_literal ]) ;) (declaration "int local_b4;" primitive_type identifier ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "undefined4 *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "uint *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "undefined4 local_a4;" type_identifier identifier ;) (declaration "undefined4 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "undefined4 local_80;" type_identifier identifier ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "undefined1 *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined1 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined1 auStack_30 [20];" type_identifier (array_declarator "auStack_30 [20]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000b2f04;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b2f04" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000b2f04" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b2f04" * (cast_expression "(int *)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_40 = auStack_30;" (assignment_expression "local_40 = auStack_30" identifier = identifier) ;) (expression_statement "FUN_00076a1c();" (call_expression "FUN_00076a1c()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = 0xc;" (assignment_expression "iVar7 = 0xc" identifier = number_literal) ;) (expression_statement "iVar4 = param_2 + param_3;" (assignment_expression "iVar4 = param_2 + param_3" identifier = (binary_expression "param_2 + param_3" identifier + identifier)) ;) (expression_statement "uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);" (assignment_expression "uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30)" identifier = (call_expression "(*(code *)PTR_smemeq_000b2ad4)(auStack_30)" (parenthesized_expression "(*(code *)PTR_smemeq_000b2ad4)" ( (pointer_expression "*(code *)PTR_smemeq_000b2ad4" * (cast_expression "(code *)PTR_smemeq_000b2ad4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_30)" ( identifier )))) ;) (if_statement "if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_1c == *(int *)puVar1)" ( (binary_expression "local_1c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) })) (expression_statement "uVar13 = 0x76cb8;" (assignment_expression "uVar13 = 0x76cb8" identifier = number_literal) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000b2ed8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b2ed8)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b2ed8" * (cast_expression "(code *)PTR___stack_chk_fail_000b2ed8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_88 = puVar11 + 0x436b8;" (assignment_expression "local_88 = puVar11 + 0x436b8" identifier = (binary_expression "puVar11 + 0x436b8" identifier + number_literal)) ;) (expression_statement "local_60 = puVar1;" (assignment_expression "local_60 = puVar1" identifier = identifier) ;) (expression_statement "puVar10 = *(uint **)(puVar11 + 0x3c24c);" (assignment_expression "puVar10 = *(uint **)(puVar11 + 0x3c24c)" identifier = (pointer_expression "*(uint **)(puVar11 + 0x3c24c)" * (cast_expression "(uint **)(puVar11 + 0x3c24c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x3c24c)" ( (binary_expression "puVar11 + 0x3c24c" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *puVar10;" (assignment_expression "local_6c = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_90 = &local_80;" (assignment_expression "local_90 = &local_80" identifier = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "local_64 = auStack_30;" (assignment_expression "local_64 = auStack_30" identifier = identifier) ;) (expression_statement "local_5c = param_3;" (assignment_expression "local_5c = param_3" identifier = identifier) ;) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" identifier = identifier) ;) (expression_statement "local_54 = uVar13;" (assignment_expression "local_54 = uVar13" identifier = identifier) ;) (expression_statement "FUN_00076a1c();" (call_expression "FUN_00076a1c()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined4 *)(iVar4 + iVar7);" (assignment_expression "puVar5 = (undefined4 *)(iVar4 + iVar7)" identifier = (cast_expression "(undefined4 *)(iVar4 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar7)" ( (binary_expression "iVar4 + iVar7" identifier + identifier) )))) ;) (expression_statement "*puVar5 = local_80;" (assignment_expression "*puVar5 = local_80" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "puVar5[1] = local_7c;" (assignment_expression "puVar5[1] = local_7c" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = local_78;" (assignment_expression "puVar5[2] = local_78" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_6c == *puVar10) {\n    return *puVar10;\n  }" if (parenthesized_expression "(local_6c == *puVar10)" ( (binary_expression "local_6c == *puVar10" identifier == (pointer_expression "*puVar10" * identifier)) )) (compound_statement "{\n    return *puVar10;\n  }" { (return_statement "return *puVar10;" return (pointer_expression "*puVar10" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(local_88 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_88 + -0x7498)" identifier = (pointer_expression "*(code **)(local_88 + -0x7498)" * (cast_expression "(code **)(local_88 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_88 + -0x7498)" ( (binary_expression "local_88 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0x76d6c;" (assignment_expression "uVar13 = 0x76d6c" identifier = number_literal) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_d0 = pcVar12 + 0x43604;" (assignment_expression "local_d0 = pcVar12 + 0x43604" identifier = (binary_expression "pcVar12 + 0x43604" identifier + number_literal)) ;) (expression_statement "piVar8 = *(int **)(pcVar12 + 0x3c198);" (assignment_expression "piVar8 = *(int **)(pcVar12 + 0x3c198)" identifier = (pointer_expression "*(int **)(pcVar12 + 0x3c198)" * (cast_expression "(int **)(pcVar12 + 0x3c198)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c198)" ( (binary_expression "pcVar12 + 0x3c198" identifier + number_literal) ))))) ;) (expression_statement "local_b4 = *piVar8;" (assignment_expression "local_b4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "local_b0 = iVar4;" (assignment_expression "local_b0 = iVar4" identifier = identifier) ;) (expression_statement "local_ac = &local_80;" (assignment_expression "local_ac = &local_80" identifier = (pointer_expression "&local_80" & identifier)) ;) (expression_statement "local_a8 = puVar10;" (assignment_expression "local_a8 = puVar10" identifier = identifier) ;) (expression_statement "local_a4 = uVar13;" (assignment_expression "local_a4 = uVar13" identifier = identifier) ;) (expression_statement "FUN_00076844();" (call_expression "FUN_00076844()" identifier (argument_list "()" ( ))) ;) (expression_statement "c = (SHA_CTX *)&DAT_0000000c;" (assignment_expression "c = (SHA_CTX *)&DAT_0000000c" identifier = (cast_expression "(SHA_CTX *)&DAT_0000000c" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "puVar6 = puVar5;" (assignment_expression "puVar6 = puVar5" identifier = identifier) ;) (expression_statement "uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);" (assignment_expression "uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8)" identifier = (call_expression "(**(code **)(local_d0 + -0x789c))(auStack_c8)" (parenthesized_expression "(**(code **)(local_d0 + -0x789c))" ( (pointer_expression "**(code **)(local_d0 + -0x789c)" * (pointer_expression "*(code **)(local_d0 + -0x789c)" * (cast_expression "(code **)(local_d0 + -0x789c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + -0x789c)" ( (binary_expression "local_d0 + -0x789c" identifier + number_literal) ))))) )) (argument_list "(auStack_c8)" ( identifier )))) ;) (if_statement "if (local_b4 == *piVar8) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_b4 == *piVar8)" ( (binary_expression "local_b4 == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) })) (expression_statement "pcVar12 = *(code **)(local_d0 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_d0 + -0x7498)" identifier = (pointer_expression "*(code **)(local_d0 + -0x7498)" * (cast_expression "(code **)(local_d0 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_d0 + -0x7498)" ( (binary_expression "local_d0 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0x76e04;" (assignment_expression "uVar13 = 0x76e04" identifier = number_literal) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_110 = pcVar12 + 0x4356c;" (assignment_expression "local_110 = pcVar12 + 0x4356c" identifier = (binary_expression "pcVar12 + 0x4356c" identifier + number_literal)) ;) (expression_statement "puVar10 = *(uint **)(pcVar12 + 0x3c100);" (assignment_expression "puVar10 = *(uint **)(pcVar12 + 0x3c100)" identifier = (pointer_expression "*(uint **)(pcVar12 + 0x3c100)" * (cast_expression "(uint **)(pcVar12 + 0x3c100)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c100)" ( (binary_expression "pcVar12 + 0x3c100" identifier + number_literal) ))))) ;) (expression_statement "local_f4 = *puVar10;" (assignment_expression "local_f4 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_f0 = auStack_c8;" (assignment_expression "local_f0 = auStack_c8" identifier = identifier) ;) (expression_statement "local_ec = piVar8;" (assignment_expression "local_ec = piVar8" identifier = identifier) ;) (expression_statement "local_e8 = puVar5;" (assignment_expression "local_e8 = puVar5" identifier = identifier) ;) (expression_statement "local_e4 = uVar13;" (assignment_expression "local_e4 = uVar13" identifier = identifier) ;) (expression_statement "FUN_00076844();" (call_expression "FUN_00076844()" identifier (argument_list "()" ( ))) ;) (expression_statement "*puVar6 = local_108;" (assignment_expression "*puVar6 = local_108" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6[1] = local_104;" (assignment_expression "puVar6[1] = local_104" (subscript_expression "puVar6[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[2] = local_100;" (assignment_expression "puVar6[2] = local_100" (subscript_expression "puVar6[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_f4 == *puVar10) {\n    return *puVar10;\n  }" if (parenthesized_expression "(local_f4 == *puVar10)" ( (binary_expression "local_f4 == *puVar10" identifier == (pointer_expression "*puVar10" * identifier)) )) (compound_statement "{\n    return *puVar10;\n  }" { (return_statement "return *puVar10;" return (pointer_expression "*puVar10" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(local_110 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_110 + -0x7498)" identifier = (pointer_expression "*(code **)(local_110 + -0x7498)" * (cast_expression "(code **)(local_110 + -0x7498)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_110 + -0x7498)" ( (binary_expression "local_110 + -0x7498" identifier + number_literal) ))))) ;) (expression_statement "pcVar14 = SHA_Simple;" (assignment_expression "pcVar14 = SHA_Simple" identifier = identifier) ;) (expression_statement "uVar2 = local_f4;" (assignment_expression "uVar2 = local_f4" identifier = identifier) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);" (assignment_expression "c_00 = (SHA_CTX *)(pcVar12 + 0x434c8)" identifier = (cast_expression "(SHA_CTX *)(pcVar12 + 0x434c8)" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x434c8)" ( (binary_expression "pcVar12 + 0x434c8" identifier + number_literal) )))) ;) (expression_statement "puVar9 = *(uint **)(pcVar12 + 0x3c05c);" (assignment_expression "puVar9 = *(uint **)(pcVar12 + 0x3c05c)" identifier = (pointer_expression "*(uint **)(pcVar12 + 0x3c05c)" * (cast_expression "(uint **)(pcVar12 + 0x3c05c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c05c)" ( (binary_expression "pcVar12 + 0x3c05c" identifier + number_literal) ))))) ;) (expression_statement "uStack_134 = *puVar9;" (assignment_expression "uStack_134 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uStack_140 = 0;" (assignment_expression "uStack_140 = 0" identifier = number_literal) ;) (expression_statement "uStack_138 = 0;" (assignment_expression "uStack_138 = 0" identifier = number_literal) ;) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" identifier = number_literal) ;) (expression_statement "auStack_194[0] = 'g';" (assignment_expression "auStack_194[0] = 'g'" (subscript_expression "auStack_194[0]" identifier [ number_literal ]) = (char_literal "'g'" ' character ')) ;) (expression_statement "auStack_194[1] = 'E';" (assignment_expression "auStack_194[1] = 'E'" (subscript_expression "auStack_194[1]" identifier [ number_literal ]) = (char_literal "'E'" ' character ')) ;) (expression_statement "auStack_194[2] = '#';" (assignment_expression "auStack_194[2] = '#'" (subscript_expression "auStack_194[2]" identifier [ number_literal ]) = (char_literal "'#'" ' character ')) ;) (expression_statement "auStack_194[3] = '\x01';" (assignment_expression "auStack_194[3] = '\x01'" (subscript_expression "auStack_194[3]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "auStack_194[0xc] = '\x10';" (assignment_expression "auStack_194[0xc] = '\x10'" (subscript_expression "auStack_194[0xc]" identifier [ number_literal ]) = (char_literal "'\x10'" ' escape_sequence ')) ;) (expression_statement "auStack_194[0xd] = '2';" (assignment_expression "auStack_194[0xd] = '2'" (subscript_expression "auStack_194[0xd]" identifier [ number_literal ]) = (char_literal "'2'" ' character ')) ;) (expression_statement "auStack_194[0xe] = 'T';" (assignment_expression "auStack_194[0xe] = 'T'" (subscript_expression "auStack_194[0xe]" identifier [ number_literal ]) = (char_literal "'T'" ' character ')) ;) (expression_statement "auStack_194[0xf] = 'v';" (assignment_expression "auStack_194[0xf] = 'v'" (subscript_expression "auStack_194[0xf]" identifier [ number_literal ]) = (char_literal "'v'" ' character ')) ;) (expression_statement "auStack_194[4] = 0xef;" (assignment_expression "auStack_194[4] = 0xef" (subscript_expression "auStack_194[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[5] = 0xcd;" (assignment_expression "auStack_194[5] = 0xcd" (subscript_expression "auStack_194[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[6] = 0xab;" (assignment_expression "auStack_194[6] = 0xab" (subscript_expression "auStack_194[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[7] = 0x89;" (assignment_expression "auStack_194[7] = 0x89" (subscript_expression "auStack_194[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[8] = 0x98;" (assignment_expression "auStack_194[8] = 0x98" (subscript_expression "auStack_194[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[9] = 0xba;" (assignment_expression "auStack_194[9] = 0xba" (subscript_expression "auStack_194[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[10] = 0xdc;" (assignment_expression "auStack_194[10] = 0xdc" (subscript_expression "auStack_194[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0xb] = 0xfe;" (assignment_expression "auStack_194[0xb] = 0xfe" (subscript_expression "auStack_194[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x10] = 0xc3;" (assignment_expression "auStack_194[0x10] = 0xc3" (subscript_expression "auStack_194[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x11] = 0xd2;" (assignment_expression "auStack_194[0x11] = 0xd2" (subscript_expression "auStack_194[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x12] = 0xe1;" (assignment_expression "auStack_194[0x12] = 0xe1" (subscript_expression "auStack_194[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_194[0x13] = 0xf0;" (assignment_expression "auStack_194[0x13] = 0xf0" (subscript_expression "auStack_194[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_130 = puVar6;" (assignment_expression "puStack_130 = puVar6" identifier = identifier) ;) (expression_statement "puStack_12c = &local_108;" (assignment_expression "puStack_12c = &local_108" identifier = (pointer_expression "&local_108" & identifier)) ;) (expression_statement "puStack_128 = puVar10;" (assignment_expression "puStack_128 = puVar10" identifier = identifier) ;) (expression_statement "pcStack_124 = pcVar14;" (assignment_expression "pcStack_124 = pcVar14" identifier = identifier) ;) (expression_statement "SHA_Bytes(auStack_194,local_108,uVar2);" (call_expression "SHA_Bytes(auStack_194,local_108,uVar2)" identifier (argument_list "(auStack_194,local_108,uVar2)" ( identifier , identifier , identifier ))) ;) (expression_statement "SHA_Final(auStack_194,c);" (call_expression "SHA_Final(auStack_194,c)" identifier (argument_list "(auStack_194,c)" ( identifier , identifier ))) ;) (expression_statement "uVar13 = 0x60;" (assignment_expression "uVar13 = 0x60" identifier = number_literal) ;) (expression_statement "puVar3 = auStack_194;" (assignment_expression "puVar3 = auStack_194" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);" (call_expression "(**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60)" (parenthesized_expression "(**(code **)(pcVar12 + 0x3b5b8))" ( (pointer_expression "**(code **)(pcVar12 + 0x3b5b8)" * (pointer_expression "*(code **)(pcVar12 + 0x3b5b8)" * (cast_expression "(code **)(pcVar12 + 0x3b5b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3b5b8)" ( (binary_expression "pcVar12 + 0x3b5b8" identifier + number_literal) ))))) )) (argument_list "(auStack_194,0x60)" ( identifier , number_literal ))) ;) (if_statement "if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }" if (parenthesized_expression "(uStack_134 == *puVar9)" ( (binary_expression "uStack_134 == *puVar9" identifier == (pointer_expression "*puVar9" * identifier)) )) (compound_statement "{\n    return *puVar9;\n  }" { (return_statement "return *puVar9;" return (pointer_expression "*puVar9" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(pcVar12 + 0x3c030);" (assignment_expression "pcVar12 = *(code **)(pcVar12 + 0x3c030)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x3c030)" * (cast_expression "(code **)(pcVar12 + 0x3c030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3c030)" ( (binary_expression "pcVar12 + 0x3c030" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar10 = *(uint **)(pcVar12 + 0x3bf6c);" (assignment_expression "puVar10 = *(uint **)(pcVar12 + 0x3bf6c)" identifier = (pointer_expression "*(uint **)(pcVar12 + 0x3bf6c)" * (cast_expression "(uint **)(pcVar12 + 0x3bf6c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3bf6c)" ( (binary_expression "pcVar12 + 0x3bf6c" identifier + number_literal) ))))) ;) (expression_statement "uStack_1d4 = *puVar10;" (assignment_expression "uStack_1d4 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "puStack_1d0 = auStack_194;" (assignment_expression "puStack_1d0 = auStack_194" identifier = identifier) ;) (expression_statement "puStack_1cc = puVar9;" (assignment_expression "puStack_1cc = puVar9" identifier = identifier) ;) (expression_statement "pSStack_1c8 = c;" (assignment_expression "pSStack_1c8 = c" identifier = identifier) ;) (expression_statement "iStack_1c4 = iVar7;" (assignment_expression "iStack_1c4 = iVar7" identifier = identifier) ;) (expression_statement "FUN_000763b4(auStack_2a8,puVar3,uVar13);" (call_expression "FUN_000763b4(auStack_2a8,puVar3,uVar13)" identifier (argument_list "(auStack_2a8,puVar3,uVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "SHA_Bytes(auStack_2a8,uVar2,param_4);" (call_expression "SHA_Bytes(auStack_2a8,uVar2,param_4)" identifier (argument_list "(auStack_2a8,uVar2,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = auStack_248;" (assignment_expression "puVar3 = auStack_248" identifier = identifier) ;) (expression_statement "SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));" (call_expression "SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60))" identifier (argument_list "(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60))" ( identifier , (cast_expression "(SHA_CTX *)(auStack_248 + 0x60)" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_248 + 0x60)" ( (binary_expression "auStack_248 + 0x60" identifier + number_literal) ))) ))) ;) (expression_statement "SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);" (call_expression "SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14)" identifier (argument_list "(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14)" ( identifier , (cast_expression "(SHA_CTX *)(auStack_248 + 0x60)" ( (type_descriptor "SHA_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_248 + 0x60)" ( (binary_expression "auStack_248 + 0x60" identifier + number_literal) ))) , number_literal ))) ;) (expression_statement "SHA_Final(puVar3,c_00);" (call_expression "SHA_Final(puVar3,c_00)" identifier (argument_list "(puVar3,c_00)" ( identifier , identifier ))) ;) (expression_statement "uVar2 = *puVar10;" (assignment_expression "uVar2 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (if_statement "if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }" if (parenthesized_expression "(uStack_1d4 == uVar2)" ( (binary_expression "uStack_1d4 == uVar2" identifier == identifier) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar12 + 0x3bf40))();" (call_expression "(**(code **)(pcVar12 + 0x3bf40))()" (parenthesized_expression "(**(code **)(pcVar12 + 0x3bf40))" ( (pointer_expression "**(code **)(pcVar12 + 0x3bf40)" * (pointer_expression "*(code **)(pcVar12 + 0x3bf40)" * (cast_expression "(code **)(pcVar12 + 0x3bf40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x3bf40)" ( (binary_expression "pcVar12 + 0x3bf40" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }" if (parenthesized_expression "(c_00->h1 <= *(uint *)(puVar3 + 4))" ( (binary_expression "c_00->h1 <= *(uint *)(puVar3 + 4)" (field_expression "c_00->h1" identifier -> field_identifier) <= (pointer_expression "*(uint *)(puVar3 + 4)" * (cast_expression "(uint *)(puVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }" { (return_statement "return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));" return (call_expression "(uint)(c_00->h1 < *(uint *)(puVar3 + 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(c_00->h1 < *(uint *)(puVar3 + 4))" ( (binary_expression "c_00->h1 < *(uint *)(puVar3 + 4)" (field_expression "c_00->h1" identifier -> field_identifier) < (pointer_expression "*(uint *)(puVar3 + 4)" * (cast_expression "(uint *)(puVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) ))))) ))) ;) })) (return_statement "return 0xffffffff;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (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 (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 IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 IDENT ;) (declaration TYPE 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return 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 ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 & 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (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 = (pointer_expression & 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression 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 (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return 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 (field_expression IDENT -> field_identifier) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) })) (return_statement return LIT ;) })))
(function_definition "uint FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}" (type_identifier "uint") (function_declarator "FUN_00076c14(undefined4 param_1,int param_2,int param_3,undefined4 param_4)" (identifier "FUN_00076c14") (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  uchar *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  SHA_CTX *c;\n  int *piVar8;\n  uint *puVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  SHA_CTX *c_00;\n  undefined4 uVar13;\n  code *pcVar14;\n  uchar auStack_2a8 [96];\n  uchar auStack_248 [116];\n  uint uStack_1d4;\n  uchar *puStack_1d0;\n  uint *puStack_1cc;\n  SHA_CTX *pSStack_1c8;\n  int iStack_1c4;\n  uchar auStack_194 [84];\n  undefined4 uStack_140;\n  undefined4 uStack_13c;\n  undefined4 uStack_138;\n  uint uStack_134;\n  undefined4 *puStack_130;\n  undefined4 *puStack_12c;\n  uint *puStack_128;\n  code *pcStack_124;\n  code *local_110;\n  undefined4 local_108;\n  undefined4 local_104;\n  undefined4 local_100;\n  uint local_f4;\n  undefined1 *local_f0;\n  int *local_ec;\n  undefined4 *local_e8;\n  undefined4 local_e4;\n  code *local_d0;\n  undefined1 auStack_c8 [20];\n  int local_b4;\n  int local_b0;\n  undefined4 *local_ac;\n  uint *local_a8;\n  undefined4 local_a4;\n  undefined4 *local_90;\n  undefined *local_88;\n  undefined4 local_80;\n  undefined4 local_7c;\n  undefined4 local_78;\n  uint local_6c;\n  undefined1 *local_64;\n  undefined *local_60;\n  int local_5c;\n  int local_58;\n  undefined4 local_54;\n  undefined1 *local_40;\n  undefined1 auStack_30 [20];\n  int local_1c;\n  \n  puVar1 = PTR___stack_chk_guard_000b2f04;\n  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;\n  local_40 = auStack_30;\n  FUN_00076a1c();\n  iVar7 = 0xc;\n  iVar4 = param_2 + param_3;\n  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);\n  if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }\n  uVar13 = 0x76cb8;\n  puVar11 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  local_88 = puVar11 + 0x436b8;\n  local_60 = puVar1;\n  puVar10 = *(uint **)(puVar11 + 0x3c24c);\n  local_6c = *puVar10;\n  local_90 = &local_80;\n  local_64 = auStack_30;\n  local_5c = param_3;\n  local_58 = param_2;\n  local_54 = uVar13;\n  FUN_00076a1c();\n  puVar5 = (undefined4 *)(iVar4 + iVar7);\n  *puVar5 = local_80;\n  puVar5[1] = local_7c;\n  puVar5[2] = local_78;\n  if (local_6c == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_88 + -0x7498);\n  uVar13 = 0x76d6c;\n  (*pcVar12)();\n  local_d0 = pcVar12 + 0x43604;\n  piVar8 = *(int **)(pcVar12 + 0x3c198);\n  local_b4 = *piVar8;\n  local_b0 = iVar4;\n  local_ac = &local_80;\n  local_a8 = puVar10;\n  local_a4 = uVar13;\n  FUN_00076844();\n  c = (SHA_CTX *)&DAT_0000000c;\n  puVar6 = puVar5;\n  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);\n  if (local_b4 == *piVar8) {\n    return uVar2;\n  }\n  pcVar12 = *(code **)(local_d0 + -0x7498);\n  uVar13 = 0x76e04;\n  (*pcVar12)();\n  local_110 = pcVar12 + 0x4356c;\n  puVar10 = *(uint **)(pcVar12 + 0x3c100);\n  local_f4 = *puVar10;\n  local_f0 = auStack_c8;\n  local_ec = piVar8;\n  local_e8 = puVar5;\n  local_e4 = uVar13;\n  FUN_00076844();\n  *puVar6 = local_108;\n  puVar6[1] = local_104;\n  puVar6[2] = local_100;\n  if (local_f4 == *puVar10) {\n    return *puVar10;\n  }\n  pcVar12 = *(code **)(local_110 + -0x7498);\n  pcVar14 = SHA_Simple;\n  uVar2 = local_f4;\n  (*pcVar12)();\n  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);\n  puVar9 = *(uint **)(pcVar12 + 0x3c05c);\n  uStack_134 = *puVar9;\n  uStack_140 = 0;\n  uStack_138 = 0;\n  uStack_13c = 0;\n  auStack_194[0] = 'g';\n  auStack_194[1] = 'E';\n  auStack_194[2] = '#';\n  auStack_194[3] = '\x01';\n  auStack_194[0xc] = '\x10';\n  auStack_194[0xd] = '2';\n  auStack_194[0xe] = 'T';\n  auStack_194[0xf] = 'v';\n  auStack_194[4] = 0xef;\n  auStack_194[5] = 0xcd;\n  auStack_194[6] = 0xab;\n  auStack_194[7] = 0x89;\n  auStack_194[8] = 0x98;\n  auStack_194[9] = 0xba;\n  auStack_194[10] = 0xdc;\n  auStack_194[0xb] = 0xfe;\n  auStack_194[0x10] = 0xc3;\n  auStack_194[0x11] = 0xd2;\n  auStack_194[0x12] = 0xe1;\n  auStack_194[0x13] = 0xf0;\n  puStack_130 = puVar6;\n  puStack_12c = &local_108;\n  puStack_128 = puVar10;\n  pcStack_124 = pcVar14;\n  SHA_Bytes(auStack_194,local_108,uVar2);\n  SHA_Final(auStack_194,c);\n  uVar13 = 0x60;\n  puVar3 = auStack_194;\n  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);\n  if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }\n  pcVar12 = *(code **)(pcVar12 + 0x3c030);\n  (*pcVar12)();\n  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);\n  uStack_1d4 = *puVar10;\n  puStack_1d0 = auStack_194;\n  puStack_1cc = puVar9;\n  pSStack_1c8 = c;\n  iStack_1c4 = iVar7;\n  FUN_000763b4(auStack_2a8,puVar3,uVar13);\n  SHA_Bytes(auStack_2a8,uVar2,param_4);\n  puVar3 = auStack_248;\n  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));\n  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);\n  SHA_Final(puVar3,c_00);\n  uVar2 = *puVar10;\n  if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }\n  (**(code **)(pcVar12 + 0x3bf40))();\n  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }\n  return 0xffffffff;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uchar *puVar3;" (type_identifier "uchar") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "SHA_CTX *c;" (type_identifier "SHA_CTX") (pointer_declarator "*c" (* "*") (identifier "c")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "uint *puVar9;" (type_identifier "uint") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "code *pcVar12;" (type_identifier "code") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "SHA_CTX *c_00;" (type_identifier "SHA_CTX") (pointer_declarator "*c_00" (* "*") (identifier "c_00")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "uchar auStack_2a8 [96];" (type_identifier "uchar") (array_declarator "auStack_2a8 [96]" (identifier "auStack_2a8") ([ "[") (number_literal "96") (] "]")) (; ";")) (declaration "uchar auStack_248 [116];" (type_identifier "uchar") (array_declarator "auStack_248 [116]" (identifier "auStack_248") ([ "[") (number_literal "116") (] "]")) (; ";")) (declaration "uint uStack_1d4;" (type_identifier "uint") (identifier "uStack_1d4") (; ";")) (declaration "uchar *puStack_1d0;" (type_identifier "uchar") (pointer_declarator "*puStack_1d0" (* "*") (identifier "puStack_1d0")) (; ";")) (declaration "uint *puStack_1cc;" (type_identifier "uint") (pointer_declarator "*puStack_1cc" (* "*") (identifier "puStack_1cc")) (; ";")) (declaration "SHA_CTX *pSStack_1c8;" (type_identifier "SHA_CTX") (pointer_declarator "*pSStack_1c8" (* "*") (identifier "pSStack_1c8")) (; ";")) (declaration "int iStack_1c4;" (primitive_type "int") (identifier "iStack_1c4") (; ";")) (declaration "uchar auStack_194 [84];" (type_identifier "uchar") (array_declarator "auStack_194 [84]" (identifier "auStack_194") ([ "[") (number_literal "84") (] "]")) (; ";")) (declaration "undefined4 uStack_140;" (type_identifier "undefined4") (identifier "uStack_140") (; ";")) (declaration "undefined4 uStack_13c;" (type_identifier "undefined4") (identifier "uStack_13c") (; ";")) (declaration "undefined4 uStack_138;" (type_identifier "undefined4") (identifier "uStack_138") (; ";")) (declaration "uint uStack_134;" (type_identifier "uint") (identifier "uStack_134") (; ";")) (declaration "undefined4 *puStack_130;" (type_identifier "undefined4") (pointer_declarator "*puStack_130" (* "*") (identifier "puStack_130")) (; ";")) (declaration "undefined4 *puStack_12c;" (type_identifier "undefined4") (pointer_declarator "*puStack_12c" (* "*") (identifier "puStack_12c")) (; ";")) (declaration "uint *puStack_128;" (type_identifier "uint") (pointer_declarator "*puStack_128" (* "*") (identifier "puStack_128")) (; ";")) (declaration "code *pcStack_124;" (type_identifier "code") (pointer_declarator "*pcStack_124" (* "*") (identifier "pcStack_124")) (; ";")) (declaration "code *local_110;" (type_identifier "code") (pointer_declarator "*local_110" (* "*") (identifier "local_110")) (; ";")) (declaration "undefined4 local_108;" (type_identifier "undefined4") (identifier "local_108") (; ";")) (declaration "undefined4 local_104;" (type_identifier "undefined4") (identifier "local_104") (; ";")) (declaration "undefined4 local_100;" (type_identifier "undefined4") (identifier "local_100") (; ";")) (declaration "uint local_f4;" (type_identifier "uint") (identifier "local_f4") (; ";")) (declaration "undefined1 *local_f0;" (type_identifier "undefined1") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0")) (; ";")) (declaration "int *local_ec;" (primitive_type "int") (pointer_declarator "*local_ec" (* "*") (identifier "local_ec")) (; ";")) (declaration "undefined4 *local_e8;" (type_identifier "undefined4") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8")) (; ";")) (declaration "undefined4 local_e4;" (type_identifier "undefined4") (identifier "local_e4") (; ";")) (declaration "code *local_d0;" (type_identifier "code") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0")) (; ";")) (declaration "undefined1 auStack_c8 [20];" (type_identifier "undefined1") (array_declarator "auStack_c8 [20]" (identifier "auStack_c8") ([ "[") (number_literal "20") (] "]")) (; ";")) (declaration "int local_b4;" (primitive_type "int") (identifier "local_b4") (; ";")) (declaration "int local_b0;" (primitive_type "int") (identifier "local_b0") (; ";")) (declaration "undefined4 *local_ac;" (type_identifier "undefined4") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac")) (; ";")) (declaration "uint *local_a8;" (type_identifier "uint") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "undefined4 local_a4;" (type_identifier "undefined4") (identifier "local_a4") (; ";")) (declaration "undefined4 *local_90;" (type_identifier "undefined4") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "undefined *local_88;" (type_identifier "undefined") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "undefined4 local_80;" (type_identifier "undefined4") (identifier "local_80") (; ";")) (declaration "undefined4 local_7c;" (type_identifier "undefined4") (identifier "local_7c") (; ";")) (declaration "undefined4 local_78;" (type_identifier "undefined4") (identifier "local_78") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "undefined1 *local_64;" (type_identifier "undefined1") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined *local_60;" (type_identifier "undefined") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "undefined1 *local_40;" (type_identifier "undefined1") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined1 auStack_30 [20];" (type_identifier "undefined1") (array_declarator "auStack_30 [20]" (identifier "auStack_30") ([ "[") (number_literal "20") (] "]")) (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000b2f04;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000b2f04" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000b2f04")) (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000b2f04" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000b2f04" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000b2f04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b2f04")))) (; ";")) (expression_statement "local_40 = auStack_30;" (assignment_expression "local_40 = auStack_30" (identifier "local_40") (= "=") (identifier "auStack_30")) (; ";")) (expression_statement "FUN_00076a1c();" (call_expression "FUN_00076a1c()" (identifier "FUN_00076a1c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = 0xc;" (assignment_expression "iVar7 = 0xc" (identifier "iVar7") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "iVar4 = param_2 + param_3;" (assignment_expression "iVar4 = param_2 + param_3" (identifier "iVar4") (= "=") (binary_expression "param_2 + param_3" (identifier "param_2") (+ "+") (identifier "param_3"))) (; ";")) (expression_statement "uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);" (assignment_expression "uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_smemeq_000b2ad4)(auStack_30)" (parenthesized_expression "(*(code *)PTR_smemeq_000b2ad4)" (( "(") (pointer_expression "*(code *)PTR_smemeq_000b2ad4" (* "*") (cast_expression "(code *)PTR_smemeq_000b2ad4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemeq_000b2ad4"))) () ")")) (argument_list "(auStack_30)" (( "(") (identifier "auStack_30") () ")")))) (; ";")) (if_statement "if (local_1c == *(int *)puVar1) {\n    return uVar2;\n  }" (if "if") (parenthesized_expression "(local_1c == *(int *)puVar1)" (( "(") (binary_expression "local_1c == *(int *)puVar1" (identifier "local_1c") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    return uVar2;\n  }" ({ "{") (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}"))) (expression_statement "uVar13 = 0x76cb8;" (assignment_expression "uVar13 = 0x76cb8" (identifier "uVar13") (= "=") (number_literal "0x76cb8")) (; ";")) (expression_statement "puVar11 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000b2ed8" (identifier "puVar11") (= "=") (identifier "PTR___stack_chk_fail_000b2ed8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000b2ed8)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b2ed8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b2ed8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b2ed8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_88 = puVar11 + 0x436b8;" (assignment_expression "local_88 = puVar11 + 0x436b8" (identifier "local_88") (= "=") (binary_expression "puVar11 + 0x436b8" (identifier "puVar11") (+ "+") (number_literal "0x436b8"))) (; ";")) (expression_statement "local_60 = puVar1;" (assignment_expression "local_60 = puVar1" (identifier "local_60") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "puVar10 = *(uint **)(puVar11 + 0x3c24c);" (assignment_expression "puVar10 = *(uint **)(puVar11 + 0x3c24c)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(puVar11 + 0x3c24c)" (* "*") (cast_expression "(uint **)(puVar11 + 0x3c24c)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x3c24c)" (( "(") (binary_expression "puVar11 + 0x3c24c" (identifier "puVar11") (+ "+") (number_literal "0x3c24c")) () ")"))))) (; ";")) (expression_statement "local_6c = *puVar10;" (assignment_expression "local_6c = *puVar10" (identifier "local_6c") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "local_90 = &local_80;" (assignment_expression "local_90 = &local_80" (identifier "local_90") (= "=") (pointer_expression "&local_80" (& "&") (identifier "local_80"))) (; ";")) (expression_statement "local_64 = auStack_30;" (assignment_expression "local_64 = auStack_30" (identifier "local_64") (= "=") (identifier "auStack_30")) (; ";")) (expression_statement "local_5c = param_3;" (assignment_expression "local_5c = param_3" (identifier "local_5c") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_58 = param_2;" (assignment_expression "local_58 = param_2" (identifier "local_58") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_54 = uVar13;" (assignment_expression "local_54 = uVar13" (identifier "local_54") (= "=") (identifier "uVar13")) (; ";")) (expression_statement "FUN_00076a1c();" (call_expression "FUN_00076a1c()" (identifier "FUN_00076a1c") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)(iVar4 + iVar7);" (assignment_expression "puVar5 = (undefined4 *)(iVar4 + iVar7)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(iVar4 + iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar7)" (( "(") (binary_expression "iVar4 + iVar7" (identifier "iVar4") (+ "+") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "*puVar5 = local_80;" (assignment_expression "*puVar5 = local_80" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "local_80")) (; ";")) (expression_statement "puVar5[1] = local_7c;" (assignment_expression "puVar5[1] = local_7c" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_7c")) (; ";")) (expression_statement "puVar5[2] = local_78;" (assignment_expression "puVar5[2] = local_78" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_78")) (; ";")) (if_statement "if (local_6c == *puVar10) {\n    return *puVar10;\n  }" (if "if") (parenthesized_expression "(local_6c == *puVar10)" (( "(") (binary_expression "local_6c == *puVar10" (identifier "local_6c") (== "==") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) () ")")) (compound_statement "{\n    return *puVar10;\n  }" ({ "{") (return_statement "return *puVar10;" (return "return") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (} "}"))) (expression_statement "pcVar12 = *(code **)(local_88 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_88 + -0x7498)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(local_88 + -0x7498)" (* "*") (cast_expression "(code **)(local_88 + -0x7498)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_88 + -0x7498)" (( "(") (binary_expression "local_88 + -0x7498" (identifier "local_88") (+ "+") (number_literal "-0x7498")) () ")"))))) (; ";")) (expression_statement "uVar13 = 0x76d6c;" (assignment_expression "uVar13 = 0x76d6c" (identifier "uVar13") (= "=") (number_literal "0x76d6c")) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_d0 = pcVar12 + 0x43604;" (assignment_expression "local_d0 = pcVar12 + 0x43604" (identifier "local_d0") (= "=") (binary_expression "pcVar12 + 0x43604" (identifier "pcVar12") (+ "+") (number_literal "0x43604"))) (; ";")) (expression_statement "piVar8 = *(int **)(pcVar12 + 0x3c198);" (assignment_expression "piVar8 = *(int **)(pcVar12 + 0x3c198)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(pcVar12 + 0x3c198)" (* "*") (cast_expression "(int **)(pcVar12 + 0x3c198)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x3c198)" (( "(") (binary_expression "pcVar12 + 0x3c198" (identifier "pcVar12") (+ "+") (number_literal "0x3c198")) () ")"))))) (; ";")) (expression_statement "local_b4 = *piVar8;" (assignment_expression "local_b4 = *piVar8" (identifier "local_b4") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "local_b0 = iVar4;" (assignment_expression "local_b0 = iVar4" (identifier "local_b0") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "local_ac = &local_80;" (assignment_expression "local_ac = &local_80" (identifier "local_ac") (= "=") (pointer_expression "&local_80" (& "&") (identifier "local_80"))) (; ";")) (expression_statement "local_a8 = puVar10;" (assignment_expression "local_a8 = puVar10" (identifier "local_a8") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "local_a4 = uVar13;" (assignment_expression "local_a4 = uVar13" (identifier "local_a4") (= "=") (identifier "uVar13")) (; ";")) (expression_statement "FUN_00076844();" (call_expression "FUN_00076844()" (identifier "FUN_00076844") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "c = (SHA_CTX *)&DAT_0000000c;" (assignment_expression "c = (SHA_CTX *)&DAT_0000000c" (identifier "c") (= "=") (cast_expression "(SHA_CTX *)&DAT_0000000c" (( "(") (type_descriptor "SHA_CTX *" (type_identifier "SHA_CTX") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000000c" (& "&") (identifier "DAT_0000000c")))) (; ";")) (expression_statement "puVar6 = puVar5;" (assignment_expression "puVar6 = puVar5" (identifier "puVar6") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);" (assignment_expression "uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(local_d0 + -0x789c))(auStack_c8)" (parenthesized_expression "(**(code **)(local_d0 + -0x789c))" (( "(") (pointer_expression "**(code **)(local_d0 + -0x789c)" (* "*") (pointer_expression "*(code **)(local_d0 + -0x789c)" (* "*") (cast_expression "(code **)(local_d0 + -0x789c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + -0x789c)" (( "(") (binary_expression "local_d0 + -0x789c" (identifier "local_d0") (+ "+") (number_literal "-0x789c")) () ")"))))) () ")")) (argument_list "(auStack_c8)" (( "(") (identifier "auStack_c8") () ")")))) (; ";")) (if_statement "if (local_b4 == *piVar8) {\n    return uVar2;\n  }" (if "if") (parenthesized_expression "(local_b4 == *piVar8)" (( "(") (binary_expression "local_b4 == *piVar8" (identifier "local_b4") (== "==") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (compound_statement "{\n    return uVar2;\n  }" ({ "{") (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}"))) (expression_statement "pcVar12 = *(code **)(local_d0 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_d0 + -0x7498)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(local_d0 + -0x7498)" (* "*") (cast_expression "(code **)(local_d0 + -0x7498)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_d0 + -0x7498)" (( "(") (binary_expression "local_d0 + -0x7498" (identifier "local_d0") (+ "+") (number_literal "-0x7498")) () ")"))))) (; ";")) (expression_statement "uVar13 = 0x76e04;" (assignment_expression "uVar13 = 0x76e04" (identifier "uVar13") (= "=") (number_literal "0x76e04")) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_110 = pcVar12 + 0x4356c;" (assignment_expression "local_110 = pcVar12 + 0x4356c" (identifier "local_110") (= "=") (binary_expression "pcVar12 + 0x4356c" (identifier "pcVar12") (+ "+") (number_literal "0x4356c"))) (; ";")) (expression_statement "puVar10 = *(uint **)(pcVar12 + 0x3c100);" (assignment_expression "puVar10 = *(uint **)(pcVar12 + 0x3c100)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(pcVar12 + 0x3c100)" (* "*") (cast_expression "(uint **)(pcVar12 + 0x3c100)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x3c100)" (( "(") (binary_expression "pcVar12 + 0x3c100" (identifier "pcVar12") (+ "+") (number_literal "0x3c100")) () ")"))))) (; ";")) (expression_statement "local_f4 = *puVar10;" (assignment_expression "local_f4 = *puVar10" (identifier "local_f4") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "local_f0 = auStack_c8;" (assignment_expression "local_f0 = auStack_c8" (identifier "local_f0") (= "=") (identifier "auStack_c8")) (; ";")) (expression_statement "local_ec = piVar8;" (assignment_expression "local_ec = piVar8" (identifier "local_ec") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "local_e8 = puVar5;" (assignment_expression "local_e8 = puVar5" (identifier "local_e8") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "local_e4 = uVar13;" (assignment_expression "local_e4 = uVar13" (identifier "local_e4") (= "=") (identifier "uVar13")) (; ";")) (expression_statement "FUN_00076844();" (call_expression "FUN_00076844()" (identifier "FUN_00076844") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*puVar6 = local_108;" (assignment_expression "*puVar6 = local_108" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "local_108")) (; ";")) (expression_statement "puVar6[1] = local_104;" (assignment_expression "puVar6[1] = local_104" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_104")) (; ";")) (expression_statement "puVar6[2] = local_100;" (assignment_expression "puVar6[2] = local_100" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_100")) (; ";")) (if_statement "if (local_f4 == *puVar10) {\n    return *puVar10;\n  }" (if "if") (parenthesized_expression "(local_f4 == *puVar10)" (( "(") (binary_expression "local_f4 == *puVar10" (identifier "local_f4") (== "==") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) () ")")) (compound_statement "{\n    return *puVar10;\n  }" ({ "{") (return_statement "return *puVar10;" (return "return") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (} "}"))) (expression_statement "pcVar12 = *(code **)(local_110 + -0x7498);" (assignment_expression "pcVar12 = *(code **)(local_110 + -0x7498)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(local_110 + -0x7498)" (* "*") (cast_expression "(code **)(local_110 + -0x7498)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_110 + -0x7498)" (( "(") (binary_expression "local_110 + -0x7498" (identifier "local_110") (+ "+") (number_literal "-0x7498")) () ")"))))) (; ";")) (expression_statement "pcVar14 = SHA_Simple;" (assignment_expression "pcVar14 = SHA_Simple" (identifier "pcVar14") (= "=") (identifier "SHA_Simple")) (; ";")) (expression_statement "uVar2 = local_f4;" (assignment_expression "uVar2 = local_f4" (identifier "uVar2") (= "=") (identifier "local_f4")) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);" (assignment_expression "c_00 = (SHA_CTX *)(pcVar12 + 0x434c8)" (identifier "c_00") (= "=") (cast_expression "(SHA_CTX *)(pcVar12 + 0x434c8)" (( "(") (type_descriptor "SHA_CTX *" (type_identifier "SHA_CTX") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x434c8)" (( "(") (binary_expression "pcVar12 + 0x434c8" (identifier "pcVar12") (+ "+") (number_literal "0x434c8")) () ")")))) (; ";")) (expression_statement "puVar9 = *(uint **)(pcVar12 + 0x3c05c);" (assignment_expression "puVar9 = *(uint **)(pcVar12 + 0x3c05c)" (identifier "puVar9") (= "=") (pointer_expression "*(uint **)(pcVar12 + 0x3c05c)" (* "*") (cast_expression "(uint **)(pcVar12 + 0x3c05c)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x3c05c)" (( "(") (binary_expression "pcVar12 + 0x3c05c" (identifier "pcVar12") (+ "+") (number_literal "0x3c05c")) () ")"))))) (; ";")) (expression_statement "uStack_134 = *puVar9;" (assignment_expression "uStack_134 = *puVar9" (identifier "uStack_134") (= "=") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) (; ";")) (expression_statement "uStack_140 = 0;" (assignment_expression "uStack_140 = 0" (identifier "uStack_140") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_138 = 0;" (assignment_expression "uStack_138 = 0" (identifier "uStack_138") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_13c = 0;" (assignment_expression "uStack_13c = 0" (identifier "uStack_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "auStack_194[0] = 'g';" (assignment_expression "auStack_194[0] = 'g'" (subscript_expression "auStack_194[0]" (identifier "auStack_194") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'g'" (' "'") (character "g") (' "'"))) (; ";")) (expression_statement "auStack_194[1] = 'E';" (assignment_expression "auStack_194[1] = 'E'" (subscript_expression "auStack_194[1]" (identifier "auStack_194") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'E'" (' "'") (character "E") (' "'"))) (; ";")) (expression_statement "auStack_194[2] = '#';" (assignment_expression "auStack_194[2] = '#'" (subscript_expression "auStack_194[2]" (identifier "auStack_194") ([ "[") (number_literal "2") (] "]")) (= "=") (char_literal "'#'" (' "'") (character "#") (' "'"))) (; ";")) (expression_statement "auStack_194[3] = '\x01';" (assignment_expression "auStack_194[3] = '\x01'" (subscript_expression "auStack_194[3]" (identifier "auStack_194") ([ "[") (number_literal "3") (] "]")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "auStack_194[0xc] = '\x10';" (assignment_expression "auStack_194[0xc] = '\x10'" (subscript_expression "auStack_194[0xc]" (identifier "auStack_194") ([ "[") (number_literal "0xc") (] "]")) (= "=") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'"))) (; ";")) (expression_statement "auStack_194[0xd] = '2';" (assignment_expression "auStack_194[0xd] = '2'" (subscript_expression "auStack_194[0xd]" (identifier "auStack_194") ([ "[") (number_literal "0xd") (] "]")) (= "=") (char_literal "'2'" (' "'") (character "2") (' "'"))) (; ";")) (expression_statement "auStack_194[0xe] = 'T';" (assignment_expression "auStack_194[0xe] = 'T'" (subscript_expression "auStack_194[0xe]" (identifier "auStack_194") ([ "[") (number_literal "0xe") (] "]")) (= "=") (char_literal "'T'" (' "'") (character "T") (' "'"))) (; ";")) (expression_statement "auStack_194[0xf] = 'v';" (assignment_expression "auStack_194[0xf] = 'v'" (subscript_expression "auStack_194[0xf]" (identifier "auStack_194") ([ "[") (number_literal "0xf") (] "]")) (= "=") (char_literal "'v'" (' "'") (character "v") (' "'"))) (; ";")) (expression_statement "auStack_194[4] = 0xef;" (assignment_expression "auStack_194[4] = 0xef" (subscript_expression "auStack_194[4]" (identifier "auStack_194") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0xef")) (; ";")) (expression_statement "auStack_194[5] = 0xcd;" (assignment_expression "auStack_194[5] = 0xcd" (subscript_expression "auStack_194[5]" (identifier "auStack_194") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0xcd")) (; ";")) (expression_statement "auStack_194[6] = 0xab;" (assignment_expression "auStack_194[6] = 0xab" (subscript_expression "auStack_194[6]" (identifier "auStack_194") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0xab")) (; ";")) (expression_statement "auStack_194[7] = 0x89;" (assignment_expression "auStack_194[7] = 0x89" (subscript_expression "auStack_194[7]" (identifier "auStack_194") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x89")) (; ";")) (expression_statement "auStack_194[8] = 0x98;" (assignment_expression "auStack_194[8] = 0x98" (subscript_expression "auStack_194[8]" (identifier "auStack_194") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x98")) (; ";")) (expression_statement "auStack_194[9] = 0xba;" (assignment_expression "auStack_194[9] = 0xba" (subscript_expression "auStack_194[9]" (identifier "auStack_194") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0xba")) (; ";")) (expression_statement "auStack_194[10] = 0xdc;" (assignment_expression "auStack_194[10] = 0xdc" (subscript_expression "auStack_194[10]" (identifier "auStack_194") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0xdc")) (; ";")) (expression_statement "auStack_194[0xb] = 0xfe;" (assignment_expression "auStack_194[0xb] = 0xfe" (subscript_expression "auStack_194[0xb]" (identifier "auStack_194") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0xfe")) (; ";")) (expression_statement "auStack_194[0x10] = 0xc3;" (assignment_expression "auStack_194[0x10] = 0xc3" (subscript_expression "auStack_194[0x10]" (identifier "auStack_194") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0xc3")) (; ";")) (expression_statement "auStack_194[0x11] = 0xd2;" (assignment_expression "auStack_194[0x11] = 0xd2" (subscript_expression "auStack_194[0x11]" (identifier "auStack_194") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0xd2")) (; ";")) (expression_statement "auStack_194[0x12] = 0xe1;" (assignment_expression "auStack_194[0x12] = 0xe1" (subscript_expression "auStack_194[0x12]" (identifier "auStack_194") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0xe1")) (; ";")) (expression_statement "auStack_194[0x13] = 0xf0;" (assignment_expression "auStack_194[0x13] = 0xf0" (subscript_expression "auStack_194[0x13]" (identifier "auStack_194") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0xf0")) (; ";")) (expression_statement "puStack_130 = puVar6;" (assignment_expression "puStack_130 = puVar6" (identifier "puStack_130") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "puStack_12c = &local_108;" (assignment_expression "puStack_12c = &local_108" (identifier "puStack_12c") (= "=") (pointer_expression "&local_108" (& "&") (identifier "local_108"))) (; ";")) (expression_statement "puStack_128 = puVar10;" (assignment_expression "puStack_128 = puVar10" (identifier "puStack_128") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "pcStack_124 = pcVar14;" (assignment_expression "pcStack_124 = pcVar14" (identifier "pcStack_124") (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "SHA_Bytes(auStack_194,local_108,uVar2);" (call_expression "SHA_Bytes(auStack_194,local_108,uVar2)" (identifier "SHA_Bytes") (argument_list "(auStack_194,local_108,uVar2)" (( "(") (identifier "auStack_194") (, ",") (identifier "local_108") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "SHA_Final(auStack_194,c);" (call_expression "SHA_Final(auStack_194,c)" (identifier "SHA_Final") (argument_list "(auStack_194,c)" (( "(") (identifier "auStack_194") (, ",") (identifier "c") () ")"))) (; ";")) (expression_statement "uVar13 = 0x60;" (assignment_expression "uVar13 = 0x60" (identifier "uVar13") (= "=") (number_literal "0x60")) (; ";")) (expression_statement "puVar3 = auStack_194;" (assignment_expression "puVar3 = auStack_194" (identifier "puVar3") (= "=") (identifier "auStack_194")) (; ";")) (expression_statement "(**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);" (call_expression "(**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60)" (parenthesized_expression "(**(code **)(pcVar12 + 0x3b5b8))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x3b5b8)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x3b5b8)" (* "*") (cast_expression "(code **)(pcVar12 + 0x3b5b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x3b5b8)" (( "(") (binary_expression "pcVar12 + 0x3b5b8" (identifier "pcVar12") (+ "+") (number_literal "0x3b5b8")) () ")"))))) () ")")) (argument_list "(auStack_194,0x60)" (( "(") (identifier "auStack_194") (, ",") (number_literal "0x60") () ")"))) (; ";")) (if_statement "if (uStack_134 == *puVar9) {\n    return *puVar9;\n  }" (if "if") (parenthesized_expression "(uStack_134 == *puVar9)" (( "(") (binary_expression "uStack_134 == *puVar9" (identifier "uStack_134") (== "==") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) () ")")) (compound_statement "{\n    return *puVar9;\n  }" ({ "{") (return_statement "return *puVar9;" (return "return") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (} "}"))) (expression_statement "pcVar12 = *(code **)(pcVar12 + 0x3c030);" (assignment_expression "pcVar12 = *(code **)(pcVar12 + 0x3c030)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x3c030)" (* "*") (cast_expression "(code **)(pcVar12 + 0x3c030)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x3c030)" (( "(") (binary_expression "pcVar12 + 0x3c030" (identifier "pcVar12") (+ "+") (number_literal "0x3c030")) () ")"))))) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar10 = *(uint **)(pcVar12 + 0x3bf6c);" (assignment_expression "puVar10 = *(uint **)(pcVar12 + 0x3bf6c)" (identifier "puVar10") (= "=") (pointer_expression "*(uint **)(pcVar12 + 0x3bf6c)" (* "*") (cast_expression "(uint **)(pcVar12 + 0x3bf6c)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x3bf6c)" (( "(") (binary_expression "pcVar12 + 0x3bf6c" (identifier "pcVar12") (+ "+") (number_literal "0x3bf6c")) () ")"))))) (; ";")) (expression_statement "uStack_1d4 = *puVar10;" (assignment_expression "uStack_1d4 = *puVar10" (identifier "uStack_1d4") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "puStack_1d0 = auStack_194;" (assignment_expression "puStack_1d0 = auStack_194" (identifier "puStack_1d0") (= "=") (identifier "auStack_194")) (; ";")) (expression_statement "puStack_1cc = puVar9;" (assignment_expression "puStack_1cc = puVar9" (identifier "puStack_1cc") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "pSStack_1c8 = c;" (assignment_expression "pSStack_1c8 = c" (identifier "pSStack_1c8") (= "=") (identifier "c")) (; ";")) (expression_statement "iStack_1c4 = iVar7;" (assignment_expression "iStack_1c4 = iVar7" (identifier "iStack_1c4") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "FUN_000763b4(auStack_2a8,puVar3,uVar13);" (call_expression "FUN_000763b4(auStack_2a8,puVar3,uVar13)" (identifier "FUN_000763b4") (argument_list "(auStack_2a8,puVar3,uVar13)" (( "(") (identifier "auStack_2a8") (, ",") (identifier "puVar3") (, ",") (identifier "uVar13") () ")"))) (; ";")) (expression_statement "SHA_Bytes(auStack_2a8,uVar2,param_4);" (call_expression "SHA_Bytes(auStack_2a8,uVar2,param_4)" (identifier "SHA_Bytes") (argument_list "(auStack_2a8,uVar2,param_4)" (( "(") (identifier "auStack_2a8") (, ",") (identifier "uVar2") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "puVar3 = auStack_248;" (assignment_expression "puVar3 = auStack_248" (identifier "puVar3") (= "=") (identifier "auStack_248")) (; ";")) (expression_statement "SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));" (call_expression "SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60))" (identifier "SHA_Final") (argument_list "(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60))" (( "(") (identifier "auStack_2a8") (, ",") (cast_expression "(SHA_CTX *)(auStack_248 + 0x60)" (( "(") (type_descriptor "SHA_CTX *" (type_identifier "SHA_CTX") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_248 + 0x60)" (( "(") (binary_expression "auStack_248 + 0x60" (identifier "auStack_248") (+ "+") (number_literal "0x60")) () ")"))) () ")"))) (; ";")) (expression_statement "SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);" (call_expression "SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14)" (identifier "SHA_Bytes") (argument_list "(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14)" (( "(") (identifier "puVar3") (, ",") (cast_expression "(SHA_CTX *)(auStack_248 + 0x60)" (( "(") (type_descriptor "SHA_CTX *" (type_identifier "SHA_CTX") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_248 + 0x60)" (( "(") (binary_expression "auStack_248 + 0x60" (identifier "auStack_248") (+ "+") (number_literal "0x60")) () ")"))) (, ",") (number_literal "0x14") () ")"))) (; ";")) (expression_statement "SHA_Final(puVar3,c_00);" (call_expression "SHA_Final(puVar3,c_00)" (identifier "SHA_Final") (argument_list "(puVar3,c_00)" (( "(") (identifier "puVar3") (, ",") (identifier "c_00") () ")"))) (; ";")) (expression_statement "uVar2 = *puVar10;" (assignment_expression "uVar2 = *puVar10" (identifier "uVar2") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (if_statement "if (uStack_1d4 == uVar2) {\n    return uVar2;\n  }" (if "if") (parenthesized_expression "(uStack_1d4 == uVar2)" (( "(") (binary_expression "uStack_1d4 == uVar2" (identifier "uStack_1d4") (== "==") (identifier "uVar2")) () ")")) (compound_statement "{\n    return uVar2;\n  }" ({ "{") (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar12 + 0x3bf40))();" (call_expression "(**(code **)(pcVar12 + 0x3bf40))()" (parenthesized_expression "(**(code **)(pcVar12 + 0x3bf40))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x3bf40)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x3bf40)" (* "*") (cast_expression "(code **)(pcVar12 + 0x3bf40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x3bf40)" (( "(") (binary_expression "pcVar12 + 0x3bf40" (identifier "pcVar12") (+ "+") (number_literal "0x3bf40")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (c_00->h1 <= *(uint *)(puVar3 + 4)) {\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }" (if "if") (parenthesized_expression "(c_00->h1 <= *(uint *)(puVar3 + 4))" (( "(") (binary_expression "c_00->h1 <= *(uint *)(puVar3 + 4)" (field_expression "c_00->h1" (identifier "c_00") (-> "->") (field_identifier "h1")) (<= "<=") (pointer_expression "*(uint *)(puVar3 + 4)" (* "*") (cast_expression "(uint *)(puVar3 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 4)" (( "(") (binary_expression "puVar3 + 4" (identifier "puVar3") (+ "+") (number_literal "4")) () ")"))))) () ")")) (compound_statement "{\n    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));\n  }" ({ "{") (return_statement "return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));" (return "return") (call_expression "(uint)(c_00->h1 < *(uint *)(puVar3 + 4))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(c_00->h1 < *(uint *)(puVar3 + 4))" (( "(") (binary_expression "c_00->h1 < *(uint *)(puVar3 + 4)" (field_expression "c_00->h1" (identifier "c_00") (-> "->") (field_identifier "h1")) (< "<") (pointer_expression "*(uint *)(puVar3 + 4)" (* "*") (cast_expression "(uint *)(puVar3 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 4)" (( "(") (binary_expression "puVar3 + 4" (identifier "puVar3") (+ "+") (number_literal "4")) () ")"))))) () ")"))) (; ";")) (} "}"))) (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) 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: (identifier)) (declaration type: (type_identifier) 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: (primitive_type) 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: (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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (primitive_type) 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: (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: (identifier)) (declaration type: (type_identifier) 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: (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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) 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: (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: (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (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: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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 (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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 (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (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: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (return_statement (number_literal)))))

uint MASKED(undefined4 param_1,int param_2,int param_3,undefined4 param_4)

{
  undefined *puVar1;
  uint uVar2;
  uchar *puVar3;
  int iVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  int iVar7;
  SHA_CTX *c;
  int *piVar8;
  uint *puVar9;
  uint *puVar10;
  undefined *puVar11;
  code *pcVar12;
  SHA_CTX *c_00;
  undefined4 uVar13;
  code *pcVar14;
  uchar auStack_2a8 [96];
  uchar auStack_248 [116];
  uint uStack_1d4;
  uchar *puStack_1d0;
  uint *puStack_1cc;
  SHA_CTX *pSStack_1c8;
  int iStack_1c4;
  uchar auStack_194 [84];
  undefined4 uStack_140;
  undefined4 uStack_13c;
  undefined4 uStack_138;
  uint uStack_134;
  undefined4 *puStack_130;
  undefined4 *puStack_12c;
  uint *puStack_128;
  code *pcStack_124;
  code *local_110;
  undefined4 local_108;
  undefined4 local_104;
  undefined4 local_100;
  uint local_f4;
  undefined1 *local_f0;
  int *local_ec;
  undefined4 *local_e8;
  undefined4 local_e4;
  code *local_d0;
  undefined1 auStack_c8 [20];
  int local_b4;
  int local_b0;
  undefined4 *local_ac;
  uint *local_a8;
  undefined4 local_a4;
  undefined4 *local_90;
  undefined *local_88;
  undefined4 local_80;
  undefined4 local_7c;
  undefined4 local_78;
  uint local_6c;
  undefined1 *local_64;
  undefined *local_60;
  int local_5c;
  int local_58;
  undefined4 local_54;
  undefined1 *local_40;
  undefined1 auStack_30 [20];
  int local_1c;
  
  puVar1 = PTR___stack_chk_guard_000b2f04;
  local_1c = *(int *)PTR___stack_chk_guard_000b2f04;
  local_40 = auStack_30;
  FUN_00076a1c();
  iVar7 = 0xc;
  iVar4 = param_2 + param_3;
  uVar2 = (*(code *)PTR_smemeq_000b2ad4)(auStack_30);
  if (local_1c == *(int *)puVar1) {
    return uVar2;
  }
  uVar13 = 0x76cb8;
  puVar11 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  local_88 = puVar11 + 0x436b8;
  local_60 = puVar1;
  puVar10 = *(uint **)(puVar11 + 0x3c24c);
  local_6c = *puVar10;
  local_90 = &local_80;
  local_64 = auStack_30;
  local_5c = param_3;
  local_58 = param_2;
  local_54 = uVar13;
  FUN_00076a1c();
  puVar5 = (undefined4 *)(iVar4 + iVar7);
  *puVar5 = local_80;
  puVar5[1] = local_7c;
  puVar5[2] = local_78;
  if (local_6c == *puVar10) {
    return *puVar10;
  }
  pcVar12 = *(code **)(local_88 + -0x7498);
  uVar13 = 0x76d6c;
  (*pcVar12)();
  local_d0 = pcVar12 + 0x43604;
  piVar8 = *(int **)(pcVar12 + 0x3c198);
  local_b4 = *piVar8;
  local_b0 = iVar4;
  local_ac = &local_80;
  local_a8 = puVar10;
  local_a4 = uVar13;
  FUN_00076844();
  c = (SHA_CTX *)&DAT_0000000c;
  puVar6 = puVar5;
  uVar2 = (**(code **)(local_d0 + -0x789c))(auStack_c8);
  if (local_b4 == *piVar8) {
    return uVar2;
  }
  pcVar12 = *(code **)(local_d0 + -0x7498);
  uVar13 = 0x76e04;
  (*pcVar12)();
  local_110 = pcVar12 + 0x4356c;
  puVar10 = *(uint **)(pcVar12 + 0x3c100);
  local_f4 = *puVar10;
  local_f0 = auStack_c8;
  local_ec = piVar8;
  local_e8 = puVar5;
  local_e4 = uVar13;
  FUN_00076844();
  *puVar6 = local_108;
  puVar6[1] = local_104;
  puVar6[2] = local_100;
  if (local_f4 == *puVar10) {
    return *puVar10;
  }
  pcVar12 = *(code **)(local_110 + -0x7498);
  pcVar14 = SHA_Simple;
  uVar2 = local_f4;
  (*pcVar12)();
  c_00 = (SHA_CTX *)(pcVar12 + 0x434c8);
  puVar9 = *(uint **)(pcVar12 + 0x3c05c);
  uStack_134 = *puVar9;
  uStack_140 = 0;
  uStack_138 = 0;
  uStack_13c = 0;
  auStack_194[0] = 'g';
  auStack_194[1] = 'E';
  auStack_194[2] = '#';
  auStack_194[3] = '\x01';
  auStack_194[0xc] = '\x10';
  auStack_194[0xd] = '2';
  auStack_194[0xe] = 'T';
  auStack_194[0xf] = 'v';
  auStack_194[4] = 0xef;
  auStack_194[5] = 0xcd;
  auStack_194[6] = 0xab;
  auStack_194[7] = 0x89;
  auStack_194[8] = 0x98;
  auStack_194[9] = 0xba;
  auStack_194[10] = 0xdc;
  auStack_194[0xb] = 0xfe;
  auStack_194[0x10] = 0xc3;
  auStack_194[0x11] = 0xd2;
  auStack_194[0x12] = 0xe1;
  auStack_194[0x13] = 0xf0;
  puStack_130 = puVar6;
  puStack_12c = &local_108;
  puStack_128 = puVar10;
  pcStack_124 = pcVar14;
  SHA_Bytes(auStack_194,local_108,uVar2);
  SHA_Final(auStack_194,c);
  uVar13 = 0x60;
  puVar3 = auStack_194;
  (**(code **)(pcVar12 + 0x3b5b8))(auStack_194,0x60);
  if (uStack_134 == *puVar9) {
    return *puVar9;
  }
  pcVar12 = *(code **)(pcVar12 + 0x3c030);
  (*pcVar12)();
  puVar10 = *(uint **)(pcVar12 + 0x3bf6c);
  uStack_1d4 = *puVar10;
  puStack_1d0 = auStack_194;
  puStack_1cc = puVar9;
  pSStack_1c8 = c;
  iStack_1c4 = iVar7;
  FUN_000763b4(auStack_2a8,puVar3,uVar13);
  SHA_Bytes(auStack_2a8,uVar2,param_4);
  puVar3 = auStack_248;
  SHA_Final(auStack_2a8,(SHA_CTX *)(auStack_248 + 0x60));
  SHA_Bytes(puVar3,(SHA_CTX *)(auStack_248 + 0x60),0x14);
  SHA_Final(puVar3,c_00);
  uVar2 = *puVar10;
  if (uStack_1d4 == uVar2) {
    return uVar2;
  }
  (**(code **)(pcVar12 + 0x3bf40))();
  if (c_00->h1 <= *(uint *)(puVar3 + 4)) {
    return (uint)(c_00->h1 < *(uint *)(puVar3 + 4));
  }
  return 0xffffffff;
}

