
/* WARNING: Unknown calling convention */

int poly1305_test(void)

{
  long lVar1;
  int iVar2;
  long in_FS_OFFSET;
  ulong len;
  poly1305_state st;
  uchar tag [16];
  uchar k [32];
  char m [35];
  uchar out [1000];
  
  lVar1 = *(long *)(in_FS_OFFSET + 0x28);
  k[0x18] = 'J';
  k[0x19] = 0xbf;
  k[0x1a] = 0xf6;
  k[0x1b] = 0xaf;
  k[0x1c] = 'A';
  k[0x1d] = 'I';
  k[0x1e] = 0xf5;
  k[0x1f] = '\x1b';
  m[0x20] = 'u';
  m[0x21] = 'p';
  k[8] = '\x7f';
  k[9] = 'D';
  k[10] = 'R';
  k[0xb] = 0xfe;
  k[0xc] = 'B';
  k[0xd] = 0xd5;
  k[0xe] = '\x06';
  k[0xf] = 0xa8;
  tag[0] = 0xa8;
  tag[1] = '\x06';
  tag[2] = '\x1d';
  tag[3] = 0xc1;
  tag[4] = '0';
  tag[5] = 'Q';
  tag[6] = '6';
  tag[7] = 0xc6;
  tag[8] = 0xc2;
  tag[9] = '+';
  tag[10] = 0x8b;
  tag[0xb] = 0xaf;
  tag[0xc] = '\f';
  tag[0xd] = '\x01';
  tag[0xe] = '\'';
  tag[0xf] = 0xa9;
  k[0] = 0x85;
  k[1] = 0xd6;
  k[2] = 0xbe;
  k[3] = 'x';
  k[4] = 'W';
  k[5] = 'U';
  k[6] = 'm';
  k[7] = '3';
  k[0x10] = '\x01';
  k[0x11] = '\x03';
  k[0x12] = 0x80;
  k[0x13] = 0x8a;
  k[0x14] = 0xfb;
  k[0x15] = '\r';
  k[0x16] = 0xb2;
  k[0x17] = 0xfd;
  m._0_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;
  m._8_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;
  m._16_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;
  m._24_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;
  m[0x22] = '\0';
  len = 0x10;
  iVar2 = poly1305_init(&st,k,0x20);
  if (iVar2 == 0) {
    iVar2 = poly1305_process(&st,(uchar *)m,5);
    if (iVar2 == 0) {
      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);
      if (iVar2 == 0) {
        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);
        if (iVar2 == 0) {
          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);
          if (iVar2 == 0) {
            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);
            if (iVar2 == 0) {
              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);
              if (iVar2 == 0) {
                iVar2 = poly1305_done(&st,out,&len);
                if (iVar2 == 0) {
                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);
                  if (iVar2 == 0) {
                    iVar2 = poly1305_init(&st,k,0x20);
                    if (iVar2 != 0) goto LAB_0015e7b9;
                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);
                    if (iVar2 != 0) goto LAB_0015e7b9;
                    iVar2 = poly1305_done(&st,out,&len);
                    if (iVar2 != 0) goto LAB_0015e7b9;
                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);
                    if (iVar2 == 0) goto LAB_0015e7b9;
                  }
                  iVar2 = 5;
                }
              }
            }
          }
        }
      }
    }
  }
LAB_0015e7b9:
  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



undefined8 poly1305_test(void)

{
  int iVar1;
  undefined8 uVar2;
  long in_FS_OFFSET;
  undefined8 local_4f0;
  undefined1 local_4e8 [96];
  undefined8 local_488;
  undefined8 local_480;
  undefined8 local_478;
  undefined8 local_470;
  undefined8 local_468;
  undefined8 local_460;
  char local_458 [5];
  char acStack_453 [3];
  char cStack_450;
  char acStack_44f [3];
  char acStack_44c [2];
  char cStack_44a;
  char cStack_449;
  char local_448 [8];
  char acStack_440 [8];
  undefined2 local_438;
  undefined1 local_436;
  undefined1 local_428 [1000];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_460 = 0x1bf54941aff6bf4a;
  local_438 = 0x7075;
  local_470 = 0xa806d542fe52447f;
  local_488 = 0xc6365130c11d06a8;
  local_480 = 0xa927010caf8b2bc2;
  local_478 = 0x336d555778bed685;
  local_468 = 0xfdb20dfb8a800301;
  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;
  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;
  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;
  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;
  local_436 = 0;
  local_4f0 = 0x10;
  uVar2 = poly1305_init(local_4e8,&local_478,0x20);
  if ((int)uVar2 == 0) {
    uVar2 = poly1305_process(local_4e8,local_458,5);
    if ((int)uVar2 == 0) {
      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);
      if ((int)uVar2 == 0) {
        uVar2 = poly1305_process(local_4e8,acStack_44f,3);
        if ((int)uVar2 == 0) {
          uVar2 = poly1305_process(local_4e8,acStack_44c,2);
          if ((int)uVar2 == 0) {
            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);
            if ((int)uVar2 == 0) {
              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);
              if ((int)uVar2 == 0) {
                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);
                if ((int)uVar2 == 0) {
                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);
                  if (iVar1 == 0) {
                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);
                    if ((int)uVar2 != 0) goto LAB_0015e7b9;
                    uVar2 = poly1305_process(local_4e8,local_458,0x22);
                    if ((int)uVar2 != 0) goto LAB_0015e7b9;
                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);
                    if ((int)uVar2 != 0) goto LAB_0015e7b9;
                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)
                    ;
                    if ((int)uVar2 == 0) goto LAB_0015e7b9;
                  }
                  uVar2 = 5;
                }
              }
            }
          }
        }
      }
    }
  }
LAB_0015e7b9:
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


MOV RDX,-0x57f92abd01adbb81
PUSH R15
MOV RSI,-0x39c9aecf3ee2f958
MOV RDI,-0x56d8fef35074d43e
MOV RCX,-0x24df204757ffcff
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
MOV EBP,0x7075
PUSH RBX
MOV RBX,0x1bf54941aff6bf4a
SUB RSP,0x4c8
MOVDQA XMM0,xmmword ptr [0x001bd900]
MOVDQA XMM1,xmmword ptr [0x001bd910]
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x4b8],RAX
XOR EAX,EAX
MOV qword ptr [RSP + 0x98],RBX
LEA RBX,[RSP + 0x10]
MOV RAX,0x336d555778bed685
MOV word ptr [RSP + 0xc0],BP
LEA RBP,[RSP + 0x80]
MOV qword ptr [RSP + 0x88],RDX
MOV EDX,0x20
MOV qword ptr [RSP + 0x70],RSI
MOV RSI,RBP
MOV qword ptr [RSP + 0x78],RDI
MOV RDI,RBX
MOV qword ptr [RSP + 0x80],RAX
MOV qword ptr [RSP + 0x90],RCX
MOVAPS xmmword ptr [RSP + 0xa0],XMM0
MOVAPS xmmword ptr [RSP + 0xb0],XMM1
MOV byte ptr [RSP + 0xc2],0x0
MOV qword ptr [RSP + 0x8],0x10
CALL 0x00113360
TEST EAX,EAX
JZ 0x0015e7e8
MOV RCX,qword ptr [RSP + 0x4b8]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x0015e946
ADD RSP,0x4c8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA R12,[RSP + 0xa0]
MOV EDX,0x5
MOV RDI,RBX
MOV RSI,R12
CALL 0x00114c30
TEST EAX,EAX
JNZ 0x0015e7b9
LEA RSI,[R12 + 0x5]
MOV EDX,0x4
MOV RDI,RBX
CALL 0x00114c30
TEST EAX,EAX
JNZ 0x0015e7b9
LEA RSI,[R12 + 0x9]
MOV EDX,0x3
MOV RDI,RBX
CALL 0x00114c30
TEST EAX,EAX
JNZ 0x0015e7b9
LEA RSI,[R12 + 0xc]
MOV EDX,0x2
MOV RDI,RBX
CALL 0x00114c30
TEST EAX,EAX
JNZ 0x0015e7b9
LEA RSI,[R12 + 0xe]
MOV EDX,0x1
MOV RDI,RBX
CALL 0x00114c30
TEST EAX,EAX
JNZ 0x0015e7b9
LEA RSI,[R12 + 0xf]
MOV EDX,0x13
MOV RDI,RBX
CALL 0x00114c30
TEST EAX,EAX
JNZ 0x0015e7b9
LEA R14,[RSP + 0x8]
LEA R13,[RSP + 0xd0]
MOV RDI,RBX
MOV RDX,R14
MOV RSI,R13
CALL 0x00113c10
TEST EAX,EAX
JNZ 0x0015e7b9
LEA R15,[RSP + 0x70]
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,R13
MOV R9D,0x1
LEA R8,[0x1bd8e1]
MOV ECX,0x10
MOV RDX,R15
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x0015e93c
MOV EDX,0x20
MOV RSI,RBP
MOV RDI,RBX
CALL 0x00113360
TEST EAX,EAX
JNZ 0x0015e7b9
MOV EDX,0x22
MOV RSI,R12
MOV RDI,RBX
CALL 0x00114c30
TEST EAX,EAX
JNZ 0x0015e7b9
MOV RDX,R14
MOV RSI,R13
MOV RDI,RBX
CALL 0x00113c10
TEST EAX,EAX
JNZ 0x0015e7b9
MOV RSI,qword ptr [RSP + 0x8]
MOV ECX,0x10
MOV RDX,R15
MOV RDI,R13
MOV R9D,0x1
LEA R8,[0x1bd8ee]
CALL 0x001143c0
TEST EAX,EAX
JZ 0x0015e7b9
MOV EAX,0x5
JMP 0x0015e7b9
CALL 0x00113880
(translation_unit "undefined8 poly1305_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 poly1305_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" type_identifier (function_declarator "poly1305_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_4f0;" type_identifier identifier ;) (declaration "undefined1 local_4e8 [96];" type_identifier (array_declarator "local_4e8 [96]" identifier [ number_literal ]) ;) (declaration "undefined8 local_488;" type_identifier identifier ;) (declaration "undefined8 local_480;" type_identifier identifier ;) (declaration "undefined8 local_478;" type_identifier identifier ;) (declaration "undefined8 local_470;" type_identifier identifier ;) (declaration "undefined8 local_468;" type_identifier identifier ;) (declaration "undefined8 local_460;" type_identifier identifier ;) (declaration "char local_458 [5];" primitive_type (array_declarator "local_458 [5]" identifier [ number_literal ]) ;) (declaration "char acStack_453 [3];" primitive_type (array_declarator "acStack_453 [3]" identifier [ number_literal ]) ;) (declaration "char cStack_450;" primitive_type identifier ;) (declaration "char acStack_44f [3];" primitive_type (array_declarator "acStack_44f [3]" identifier [ number_literal ]) ;) (declaration "char acStack_44c [2];" primitive_type (array_declarator "acStack_44c [2]" identifier [ number_literal ]) ;) (declaration "char cStack_44a;" primitive_type identifier ;) (declaration "char cStack_449;" primitive_type identifier ;) (declaration "char local_448 [8];" primitive_type (array_declarator "local_448 [8]" identifier [ number_literal ]) ;) (declaration "char acStack_440 [8];" primitive_type (array_declarator "acStack_440 [8]" identifier [ number_literal ]) ;) (declaration "undefined2 local_438;" type_identifier identifier ;) (declaration "undefined1 local_436;" type_identifier identifier ;) (declaration "undefined1 local_428 [1000];" type_identifier (array_declarator "local_428 [1000]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_460 = 0x1bf54941aff6bf4a;" (assignment_expression "local_460 = 0x1bf54941aff6bf4a" identifier = number_literal) ;) (expression_statement "local_438 = 0x7075;" (assignment_expression "local_438 = 0x7075" identifier = number_literal) ;) (expression_statement "local_470 = 0xa806d542fe52447f;" (assignment_expression "local_470 = 0xa806d542fe52447f" identifier = number_literal) ;) (expression_statement "local_488 = 0xc6365130c11d06a8;" (assignment_expression "local_488 = 0xc6365130c11d06a8" identifier = number_literal) ;) (expression_statement "local_480 = 0xa927010caf8b2bc2;" (assignment_expression "local_480 = 0xa927010caf8b2bc2" identifier = number_literal) ;) (expression_statement "local_478 = 0x336d555778bed685;" (assignment_expression "local_478 = 0x336d555778bed685" identifier = number_literal) ;) (expression_statement "local_468 = 0xfdb20dfb8a800301;" (assignment_expression "local_468 = 0xfdb20dfb8a800301" identifier = number_literal) ;) (expression_statement "_local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;" (assignment_expression "_local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" identifier = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" identifier . field_identifier)) ;) (expression_statement "_cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;" (assignment_expression "_cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" identifier = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" identifier . field_identifier)) ;) (expression_statement "local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;" (assignment_expression "local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" identifier = (cast_expression "(char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" ( (type_descriptor "char  [8]" primitive_type (abstract_array_declarator "[8]" [ number_literal ])) ) (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" identifier . field_identifier))) ;) (expression_statement "acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;" (assignment_expression "acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" identifier = (cast_expression "(char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" ( (type_descriptor "char  [8]" primitive_type (abstract_array_declarator "[8]" [ number_literal ])) ) (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" identifier . field_identifier))) ;) (expression_statement "local_436 = 0;" (assignment_expression "local_436 = 0" identifier = number_literal) ;) (expression_statement "local_4f0 = 0x10;" (assignment_expression "local_4f0 = 0x10" identifier = number_literal) ;) (expression_statement "uVar2 = poly1305_init(local_4e8,&local_478,0x20);" (assignment_expression "uVar2 = poly1305_init(local_4e8,&local_478,0x20)" identifier = (call_expression "poly1305_init(local_4e8,&local_478,0x20)" identifier (argument_list "(local_4e8,&local_478,0x20)" ( identifier , (pointer_expression "&local_478" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "uVar2 = poly1305_process(local_4e8,local_458,5);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458,5)" identifier = (call_expression "poly1305_process(local_4e8,local_458,5)" identifier (argument_list "(local_4e8,local_458,5)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "uVar2 = poly1305_process(local_4e8,local_458 + 5,4);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458 + 5,4)" identifier = (call_expression "poly1305_process(local_4e8,local_458 + 5,4)" identifier (argument_list "(local_4e8,local_458 + 5,4)" ( identifier , (binary_expression "local_458 + 5" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar2 = poly1305_process(local_4e8,acStack_44f,3);" (assignment_expression "uVar2 = poly1305_process(local_4e8,acStack_44f,3)" identifier = (call_expression "poly1305_process(local_4e8,acStack_44f,3)" identifier (argument_list "(local_4e8,acStack_44f,3)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }" { (expression_statement "uVar2 = poly1305_process(local_4e8,acStack_44c,2);" (assignment_expression "uVar2 = poly1305_process(local_4e8,acStack_44c,2)" identifier = (call_expression "poly1305_process(local_4e8,acStack_44c,2)" identifier (argument_list "(local_4e8,acStack_44c,2)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }" { (expression_statement "uVar2 = poly1305_process(local_4e8,&cStack_44a,1);" (assignment_expression "uVar2 = poly1305_process(local_4e8,&cStack_44a,1)" identifier = (call_expression "poly1305_process(local_4e8,&cStack_44a,1)" identifier (argument_list "(local_4e8,&cStack_44a,1)" ( identifier , (pointer_expression "&cStack_44a" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }" { (expression_statement "uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);" (assignment_expression "uVar2 = poly1305_process(local_4e8,&cStack_449,0x13)" identifier = (call_expression "poly1305_process(local_4e8,&cStack_449,0x13)" identifier (argument_list "(local_4e8,&cStack_449,0x13)" ( identifier , (pointer_expression "&cStack_449" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }" { (expression_statement "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);" (assignment_expression "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0)" identifier = (call_expression "poly1305_done(local_4e8,local_428,&local_4f0)" identifier (argument_list "(local_4e8,local_428,&local_4f0)" ( identifier , identifier , (pointer_expression "&local_4f0" & identifier) )))) ;) (if_statement "if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }" { (expression_statement "iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);" (assignment_expression "iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" identifier = (call_expression "compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" identifier (argument_list "(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" ( identifier , identifier , (pointer_expression "&local_488" & identifier) , number_literal , (string_literal ""POLY1305-TV1"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }" { (expression_statement "uVar2 = poly1305_init(local_4e8,&local_478,0x20);" (assignment_expression "uVar2 = poly1305_init(local_4e8,&local_478,0x20)" identifier = (call_expression "poly1305_init(local_4e8,&local_478,0x20)" identifier (argument_list "(local_4e8,&local_478,0x20)" ( identifier , (pointer_expression "&local_478" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 != 0)" ( (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "uVar2 = poly1305_process(local_4e8,local_458,0x22);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458,0x22)" identifier = (call_expression "poly1305_process(local_4e8,local_458,0x22)" identifier (argument_list "(local_4e8,local_458,0x22)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 != 0)" ( (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);" (assignment_expression "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0)" identifier = (call_expression "poly1305_done(local_4e8,local_428,&local_4f0)" identifier (argument_list "(local_4e8,local_428,&local_4f0)" ( identifier , identifier , (pointer_expression "&local_4f0" & identifier) )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 != 0)" ( (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;" (assignment_expression "uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" identifier = (call_expression "compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" identifier (argument_list "(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" ( identifier , identifier , (pointer_expression "&local_488" & identifier) , number_literal , (string_literal ""POLY1305-TV2"" " string_content ") , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) })) (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;) })) })) })) })) })) })) })) })) (labeled_statement "LAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint poly1305_test(void)\n\n{\n  long lVar1;\n  int iVar2;\n  long in_FS_OFFSET;\n  ulong len;\n  poly1305_state st;\n  uchar tag [16];\n  uchar k [32];\n  char m [35];\n  uchar out [1000];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  k[0x18] = 'J';\n  k[0x19] = 0xbf;\n  k[0x1a] = 0xf6;\n  k[0x1b] = 0xaf;\n  k[0x1c] = 'A';\n  k[0x1d] = 'I';\n  k[0x1e] = 0xf5;\n  k[0x1f] = '\x1b';\n  m[0x20] = 'u';\n  m[0x21] = 'p';\n  k[8] = '\x7f';\n  k[9] = 'D';\n  k[10] = 'R';\n  k[0xb] = 0xfe;\n  k[0xc] = 'B';\n  k[0xd] = 0xd5;\n  k[0xe] = '\x06';\n  k[0xf] = 0xa8;\n  tag[0] = 0xa8;\n  tag[1] = '\x06';\n  tag[2] = '\x1d';\n  tag[3] = 0xc1;\n  tag[4] = '0';\n  tag[5] = 'Q';\n  tag[6] = '6';\n  tag[7] = 0xc6;\n  tag[8] = 0xc2;\n  tag[9] = '+';\n  tag[10] = 0x8b;\n  tag[0xb] = 0xaf;\n  tag[0xc] = '\f';\n  tag[0xd] = '\x01';\n  tag[0xe] = '\'';\n  tag[0xf] = 0xa9;\n  k[0] = 0x85;\n  k[1] = 0xd6;\n  k[2] = 0xbe;\n  k[3] = 'x';\n  k[4] = 'W';\n  k[5] = 'U';\n  k[6] = 'm';\n  k[7] = '3';\n  k[0x10] = '\x01';\n  k[0x11] = '\x03';\n  k[0x12] = 0x80;\n  k[0x13] = 0x8a;\n  k[0x14] = 0xfb;\n  k[0x15] = '\r';\n  k[0x16] = 0xb2;\n  k[0x17] = 0xfd;\n  m._0_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  m._8_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  m._16_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  m._24_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  m[0x22] = '\0';\n  len = 0x10;\n  iVar2 = poly1305_init(&st,k,0x20);\n  if (iVar2 == 0) {\n    iVar2 = poly1305_process(&st,(uchar *)m,5);\n    if (iVar2 == 0) {\n      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);\n      if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment (function_definition "int poly1305_test(void)\n\n{\n  long lVar1;\n  int iVar2;\n  long in_FS_OFFSET;\n  ulong len;\n  poly1305_state st;\n  uchar tag [16];\n  uchar k [32];\n  char m [35];\n  uchar out [1000];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  k[0x18] = 'J';\n  k[0x19] = 0xbf;\n  k[0x1a] = 0xf6;\n  k[0x1b] = 0xaf;\n  k[0x1c] = 'A';\n  k[0x1d] = 'I';\n  k[0x1e] = 0xf5;\n  k[0x1f] = '\x1b';\n  m[0x20] = 'u';\n  m[0x21] = 'p';\n  k[8] = '\x7f';\n  k[9] = 'D';\n  k[10] = 'R';\n  k[0xb] = 0xfe;\n  k[0xc] = 'B';\n  k[0xd] = 0xd5;\n  k[0xe] = '\x06';\n  k[0xf] = 0xa8;\n  tag[0] = 0xa8;\n  tag[1] = '\x06';\n  tag[2] = '\x1d';\n  tag[3] = 0xc1;\n  tag[4] = '0';\n  tag[5] = 'Q';\n  tag[6] = '6';\n  tag[7] = 0xc6;\n  tag[8] = 0xc2;\n  tag[9] = '+';\n  tag[10] = 0x8b;\n  tag[0xb] = 0xaf;\n  tag[0xc] = '\f';\n  tag[0xd] = '\x01';\n  tag[0xe] = '\'';\n  tag[0xf] = 0xa9;\n  k[0] = 0x85;\n  k[1] = 0xd6;\n  k[2] = 0xbe;\n  k[3] = 'x';\n  k[4] = 'W';\n  k[5] = 'U';\n  k[6] = 'm';\n  k[7] = '3';\n  k[0x10] = '\x01';\n  k[0x11] = '\x03';\n  k[0x12] = 0x80;\n  k[0x13] = 0x8a;\n  k[0x14] = 0xfb;\n  k[0x15] = '\r';\n  k[0x16] = 0xb2;\n  k[0x17] = 0xfd;\n  m._0_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  m._8_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  m._16_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  m._24_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  m[0x22] = '\0';\n  len = 0x10;\n  iVar2 = poly1305_init(&st,k,0x20);\n  if (iVar2 == 0) {\n    iVar2 = poly1305_process(&st,(uchar *)m,5);\n    if (iVar2 == 0) {\n      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);\n      if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "poly1305_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  int iVar2;\n  long in_FS_OFFSET;\n  ulong len;\n  poly1305_state st;\n  uchar tag [16];\n  uchar k [32];\n  char m [35];\n  uchar out [1000];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  k[0x18] = 'J';\n  k[0x19] = 0xbf;\n  k[0x1a] = 0xf6;\n  k[0x1b] = 0xaf;\n  k[0x1c] = 'A';\n  k[0x1d] = 'I';\n  k[0x1e] = 0xf5;\n  k[0x1f] = '\x1b';\n  m[0x20] = 'u';\n  m[0x21] = 'p';\n  k[8] = '\x7f';\n  k[9] = 'D';\n  k[10] = 'R';\n  k[0xb] = 0xfe;\n  k[0xc] = 'B';\n  k[0xd] = 0xd5;\n  k[0xe] = '\x06';\n  k[0xf] = 0xa8;\n  tag[0] = 0xa8;\n  tag[1] = '\x06';\n  tag[2] = '\x1d';\n  tag[3] = 0xc1;\n  tag[4] = '0';\n  tag[5] = 'Q';\n  tag[6] = '6';\n  tag[7] = 0xc6;\n  tag[8] = 0xc2;\n  tag[9] = '+';\n  tag[10] = 0x8b;\n  tag[0xb] = 0xaf;\n  tag[0xc] = '\f';\n  tag[0xd] = '\x01';\n  tag[0xe] = '\'';\n  tag[0xf] = 0xa9;\n  k[0] = 0x85;\n  k[1] = 0xd6;\n  k[2] = 0xbe;\n  k[3] = 'x';\n  k[4] = 'W';\n  k[5] = 'U';\n  k[6] = 'm';\n  k[7] = '3';\n  k[0x10] = '\x01';\n  k[0x11] = '\x03';\n  k[0x12] = 0x80;\n  k[0x13] = 0x8a;\n  k[0x14] = 0xfb;\n  k[0x15] = '\r';\n  k[0x16] = 0xb2;\n  k[0x17] = 0xfd;\n  m._0_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  m._8_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  m._16_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  m._24_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  m[0x22] = '\0';\n  len = 0x10;\n  iVar2 = poly1305_init(&st,k,0x20);\n  if (iVar2 == 0) {\n    iVar2 = poly1305_process(&st,(uchar *)m,5);\n    if (iVar2 == 0) {\n      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);\n      if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong len;" type_identifier identifier ;) (declaration "poly1305_state st;" type_identifier identifier ;) (declaration "uchar tag [16];" type_identifier (array_declarator "tag [16]" identifier [ number_literal ]) ;) (declaration "uchar k [32];" type_identifier (array_declarator "k [32]" identifier [ number_literal ]) ;) (declaration "char m [35];" primitive_type (array_declarator "m [35]" identifier [ number_literal ]) ;) (declaration "uchar out [1000];" type_identifier (array_declarator "out [1000]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar1 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "k[0x18] = 'J';" (assignment_expression "k[0x18] = 'J'" (subscript_expression "k[0x18]" identifier [ number_literal ]) = (char_literal "'J'" ' character ')) ;) (expression_statement "k[0x19] = 0xbf;" (assignment_expression "k[0x19] = 0xbf" (subscript_expression "k[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x1a] = 0xf6;" (assignment_expression "k[0x1a] = 0xf6" (subscript_expression "k[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x1b] = 0xaf;" (assignment_expression "k[0x1b] = 0xaf" (subscript_expression "k[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x1c] = 'A';" (assignment_expression "k[0x1c] = 'A'" (subscript_expression "k[0x1c]" identifier [ number_literal ]) = (char_literal "'A'" ' character ')) ;) (expression_statement "k[0x1d] = 'I';" (assignment_expression "k[0x1d] = 'I'" (subscript_expression "k[0x1d]" identifier [ number_literal ]) = (char_literal "'I'" ' character ')) ;) (expression_statement "k[0x1e] = 0xf5;" (assignment_expression "k[0x1e] = 0xf5" (subscript_expression "k[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x1f] = '\x1b';" (assignment_expression "k[0x1f] = '\x1b'" (subscript_expression "k[0x1f]" identifier [ number_literal ]) = (char_literal "'\x1b'" ' escape_sequence ')) ;) (expression_statement "m[0x20] = 'u';" (assignment_expression "m[0x20] = 'u'" (subscript_expression "m[0x20]" identifier [ number_literal ]) = (char_literal "'u'" ' character ')) ;) (expression_statement "m[0x21] = 'p';" (assignment_expression "m[0x21] = 'p'" (subscript_expression "m[0x21]" identifier [ number_literal ]) = (char_literal "'p'" ' character ')) ;) (expression_statement "k[8] = '\x7f';" (assignment_expression "k[8] = '\x7f'" (subscript_expression "k[8]" identifier [ number_literal ]) = (char_literal "'\x7f'" ' escape_sequence ')) ;) (expression_statement "k[9] = 'D';" (assignment_expression "k[9] = 'D'" (subscript_expression "k[9]" identifier [ number_literal ]) = (char_literal "'D'" ' character ')) ;) (expression_statement "k[10] = 'R';" (assignment_expression "k[10] = 'R'" (subscript_expression "k[10]" identifier [ number_literal ]) = (char_literal "'R'" ' character ')) ;) (expression_statement "k[0xb] = 0xfe;" (assignment_expression "k[0xb] = 0xfe" (subscript_expression "k[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0xc] = 'B';" (assignment_expression "k[0xc] = 'B'" (subscript_expression "k[0xc]" identifier [ number_literal ]) = (char_literal "'B'" ' character ')) ;) (expression_statement "k[0xd] = 0xd5;" (assignment_expression "k[0xd] = 0xd5" (subscript_expression "k[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0xe] = '\x06';" (assignment_expression "k[0xe] = '\x06'" (subscript_expression "k[0xe]" identifier [ number_literal ]) = (char_literal "'\x06'" ' escape_sequence ')) ;) (expression_statement "k[0xf] = 0xa8;" (assignment_expression "k[0xf] = 0xa8" (subscript_expression "k[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "tag[0] = 0xa8;" (assignment_expression "tag[0] = 0xa8" (subscript_expression "tag[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "tag[1] = '\x06';" (assignment_expression "tag[1] = '\x06'" (subscript_expression "tag[1]" identifier [ number_literal ]) = (char_literal "'\x06'" ' escape_sequence ')) ;) (expression_statement "tag[2] = '\x1d';" (assignment_expression "tag[2] = '\x1d'" (subscript_expression "tag[2]" identifier [ number_literal ]) = (char_literal "'\x1d'" ' escape_sequence ')) ;) (expression_statement "tag[3] = 0xc1;" (assignment_expression "tag[3] = 0xc1" (subscript_expression "tag[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "tag[4] = '0';" (assignment_expression "tag[4] = '0'" (subscript_expression "tag[4]" identifier [ number_literal ]) = (char_literal "'0'" ' character ')) ;) (expression_statement "tag[5] = 'Q';" (assignment_expression "tag[5] = 'Q'" (subscript_expression "tag[5]" identifier [ number_literal ]) = (char_literal "'Q'" ' character ')) ;) (expression_statement "tag[6] = '6';" (assignment_expression "tag[6] = '6'" (subscript_expression "tag[6]" identifier [ number_literal ]) = (char_literal "'6'" ' character ')) ;) (expression_statement "tag[7] = 0xc6;" (assignment_expression "tag[7] = 0xc6" (subscript_expression "tag[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "tag[8] = 0xc2;" (assignment_expression "tag[8] = 0xc2" (subscript_expression "tag[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "tag[9] = '+';" (assignment_expression "tag[9] = '+'" (subscript_expression "tag[9]" identifier [ number_literal ]) = (char_literal "'+'" ' character ')) ;) (expression_statement "tag[10] = 0x8b;" (assignment_expression "tag[10] = 0x8b" (subscript_expression "tag[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "tag[0xb] = 0xaf;" (assignment_expression "tag[0xb] = 0xaf" (subscript_expression "tag[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "tag[0xc] = '\f';" (assignment_expression "tag[0xc] = '\f'" (subscript_expression "tag[0xc]" identifier [ number_literal ]) = (char_literal "'\f'" ' escape_sequence ')) ;) (expression_statement "tag[0xd] = '\x01';" (assignment_expression "tag[0xd] = '\x01'" (subscript_expression "tag[0xd]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "tag[0xe] = '\'';" (assignment_expression "tag[0xe] = '\''" (subscript_expression "tag[0xe]" identifier [ number_literal ]) = (char_literal "'\''" ' escape_sequence ')) ;) (expression_statement "tag[0xf] = 0xa9;" (assignment_expression "tag[0xf] = 0xa9" (subscript_expression "tag[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0] = 0x85;" (assignment_expression "k[0] = 0x85" (subscript_expression "k[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[1] = 0xd6;" (assignment_expression "k[1] = 0xd6" (subscript_expression "k[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[2] = 0xbe;" (assignment_expression "k[2] = 0xbe" (subscript_expression "k[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[3] = 'x';" (assignment_expression "k[3] = 'x'" (subscript_expression "k[3]" identifier [ number_literal ]) = (char_literal "'x'" ' character ')) ;) (expression_statement "k[4] = 'W';" (assignment_expression "k[4] = 'W'" (subscript_expression "k[4]" identifier [ number_literal ]) = (char_literal "'W'" ' character ')) ;) (expression_statement "k[5] = 'U';" (assignment_expression "k[5] = 'U'" (subscript_expression "k[5]" identifier [ number_literal ]) = (char_literal "'U'" ' character ')) ;) (expression_statement "k[6] = 'm';" (assignment_expression "k[6] = 'm'" (subscript_expression "k[6]" identifier [ number_literal ]) = (char_literal "'m'" ' character ')) ;) (expression_statement "k[7] = '3';" (assignment_expression "k[7] = '3'" (subscript_expression "k[7]" identifier [ number_literal ]) = (char_literal "'3'" ' character ')) ;) (expression_statement "k[0x10] = '\x01';" (assignment_expression "k[0x10] = '\x01'" (subscript_expression "k[0x10]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "k[0x11] = '\x03';" (assignment_expression "k[0x11] = '\x03'" (subscript_expression "k[0x11]" identifier [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "k[0x12] = 0x80;" (assignment_expression "k[0x12] = 0x80" (subscript_expression "k[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x13] = 0x8a;" (assignment_expression "k[0x13] = 0x8a" (subscript_expression "k[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x14] = 0xfb;" (assignment_expression "k[0x14] = 0xfb" (subscript_expression "k[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x15] = '\r';" (assignment_expression "k[0x15] = '\r'" (subscript_expression "k[0x15]" identifier [ number_literal ]) = (char_literal "'\r'" ' escape_sequence ')) ;) (expression_statement "k[0x16] = 0xb2;" (assignment_expression "k[0x16] = 0xb2" (subscript_expression "k[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "k[0x17] = 0xfd;" (assignment_expression "k[0x17] = 0xfd" (subscript_expression "k[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "m._0_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;" (assignment_expression "m._0_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" (field_expression "m._0_8_" identifier . field_identifier) = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" identifier . field_identifier)) ;) (expression_statement "m._8_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;" (assignment_expression "m._8_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" (field_expression "m._8_8_" identifier . field_identifier) = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" identifier . field_identifier)) ;) (expression_statement "m._16_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;" (assignment_expression "m._16_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" (field_expression "m._16_8_" identifier . field_identifier) = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" identifier . field_identifier)) ;) (expression_statement "m._24_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;" (assignment_expression "m._24_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" (field_expression "m._24_8_" identifier . field_identifier) = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" identifier . field_identifier)) ;) (expression_statement "m[0x22] = '\0';" (assignment_expression "m[0x22] = '\0'" (subscript_expression "m[0x22]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "len = 0x10;" (assignment_expression "len = 0x10" identifier = number_literal) ;) (expression_statement "iVar2 = poly1305_init(&st,k,0x20);" (assignment_expression "iVar2 = poly1305_init(&st,k,0x20)" identifier = (call_expression "poly1305_init(&st,k,0x20)" identifier (argument_list "(&st,k,0x20)" ( (pointer_expression "&st" & identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = poly1305_process(&st,(uchar *)m,5);\n    if (iVar2 == 0) {\n      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);\n      if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = poly1305_process(&st,(uchar *)m,5);\n    if (iVar2 == 0) {\n      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);\n      if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "iVar2 = poly1305_process(&st,(uchar *)m,5);" (assignment_expression "iVar2 = poly1305_process(&st,(uchar *)m,5)" identifier = (call_expression "poly1305_process(&st,(uchar *)m,5)" identifier (argument_list "(&st,(uchar *)m,5)" ( (pointer_expression "&st" & identifier) , (cast_expression "(uchar *)m" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);\n      if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);\n      if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar2 = poly1305_process(&st,(uchar *)(m + 5),4);" (assignment_expression "iVar2 = poly1305_process(&st,(uchar *)(m + 5),4)" identifier = (call_expression "poly1305_process(&st,(uchar *)(m + 5),4)" identifier (argument_list "(&st,(uchar *)(m + 5),4)" ( (pointer_expression "&st" & identifier) , (cast_expression "(uchar *)(m + 5)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(m + 5)" ( (binary_expression "m + 5" identifier + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);\n        if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = poly1305_process(&st,(uchar *)(m + 9),3);" (assignment_expression "iVar2 = poly1305_process(&st,(uchar *)(m + 9),3)" identifier = (call_expression "poly1305_process(&st,(uchar *)(m + 9),3)" identifier (argument_list "(&st,(uchar *)(m + 9),3)" ( (pointer_expression "&st" & identifier) , (cast_expression "(uchar *)(m + 9)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(m + 9)" ( (binary_expression "m + 9" identifier + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);\n          if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2);" (assignment_expression "iVar2 = poly1305_process(&st,(uchar *)(m + 0xc),2)" identifier = (call_expression "poly1305_process(&st,(uchar *)(m + 0xc),2)" identifier (argument_list "(&st,(uchar *)(m + 0xc),2)" ( (pointer_expression "&st" & identifier) , (cast_expression "(uchar *)(m + 0xc)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(m + 0xc)" ( (binary_expression "m + 0xc" identifier + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);\n            if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }\n          }" { (expression_statement "iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1);" (assignment_expression "iVar2 = poly1305_process(&st,(uchar *)(m + 0xe),1)" identifier = (call_expression "poly1305_process(&st,(uchar *)(m + 0xe),1)" identifier (argument_list "(&st,(uchar *)(m + 0xe),1)" ( (pointer_expression "&st" & identifier) , (cast_expression "(uchar *)(m + 0xe)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(m + 0xe)" ( (binary_expression "m + 0xe" identifier + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);\n              if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }\n            }" { (expression_statement "iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13);" (assignment_expression "iVar2 = poly1305_process(&st,(uchar *)(m + 0xf),0x13)" identifier = (call_expression "poly1305_process(&st,(uchar *)(m + 0xf),0x13)" identifier (argument_list "(&st,(uchar *)(m + 0xf),0x13)" ( (pointer_expression "&st" & identifier) , (cast_expression "(uchar *)(m + 0xf)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(m + 0xf)" ( (binary_expression "m + 0xf" identifier + number_literal) ))) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar2 = poly1305_done(&st,out,&len);\n                if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }\n              }" { (expression_statement "iVar2 = poly1305_done(&st,out,&len);" (assignment_expression "iVar2 = poly1305_done(&st,out,&len)" identifier = (call_expression "poly1305_done(&st,out,&len)" identifier (argument_list "(&st,out,&len)" ( (pointer_expression "&st" & identifier) , identifier , (pointer_expression "&len" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);\n                  if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  iVar2 = 5;\n                }" { (expression_statement "iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1);" (assignment_expression "iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1)" identifier = (call_expression "compare_testvector(out,len,tag,0x10,"POLY1305-TV1",1)" identifier (argument_list "(out,len,tag,0x10,"POLY1305-TV1",1)" ( identifier , identifier , identifier , number_literal , (string_literal ""POLY1305-TV1"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    iVar2 = poly1305_init(&st,k,0x20);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_process(&st,(uchar *)m,0x22);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = poly1305_done(&st,out,&len);\n                    if (iVar2 != 0) goto LAB_0015e7b9;\n                    iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);\n                    if (iVar2 == 0) goto LAB_0015e7b9;\n                  }" { (expression_statement "iVar2 = poly1305_init(&st,k,0x20);" (assignment_expression "iVar2 = poly1305_init(&st,k,0x20)" identifier = (call_expression "poly1305_init(&st,k,0x20)" identifier (argument_list "(&st,k,0x20)" ( (pointer_expression "&st" & identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "iVar2 = poly1305_process(&st,(uchar *)m,0x22);" (assignment_expression "iVar2 = poly1305_process(&st,(uchar *)m,0x22)" identifier = (call_expression "poly1305_process(&st,(uchar *)m,0x22)" identifier (argument_list "(&st,(uchar *)m,0x22)" ( (pointer_expression "&st" & identifier) , (cast_expression "(uchar *)m" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "iVar2 = poly1305_done(&st,out,&len);" (assignment_expression "iVar2 = poly1305_done(&st,out,&len)" identifier = (call_expression "poly1305_done(&st,out,&len)" identifier (argument_list "(&st,out,&len)" ( (pointer_expression "&st" & identifier) , identifier , (pointer_expression "&len" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1);" (assignment_expression "iVar2 = compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1)" identifier = (call_expression "compare_testvector(out,len,tag,0x10,"POLY1305-TV2",1)" identifier (argument_list "(out,len,tag,0x10,"POLY1305-TV2",1)" ( identifier , identifier , identifier , number_literal , (string_literal ""POLY1305-TV2"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 == 0) goto LAB_0015e7b9;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) })) (expression_statement "iVar2 = 5;" (assignment_expression "iVar2 = 5" identifier = number_literal) ;) })) })) })) })) })) })) })) })) (labeled_statement "LAB_0015e7b9:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar2;\n  }" if (parenthesized_expression "(lVar1 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar1 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined8 poly1305_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 poly1305_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" type_identifier (function_declarator "poly1305_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_4f0;" type_identifier identifier ;) (declaration "undefined1 local_4e8 [96];" type_identifier (array_declarator "local_4e8 [96]" identifier [ number_literal ]) ;) (declaration "undefined8 local_488;" type_identifier identifier ;) (declaration "undefined8 local_480;" type_identifier identifier ;) (declaration "undefined8 local_478;" type_identifier identifier ;) (declaration "undefined8 local_470;" type_identifier identifier ;) (declaration "undefined8 local_468;" type_identifier identifier ;) (declaration "undefined8 local_460;" type_identifier identifier ;) (declaration "char local_458 [5];" primitive_type (array_declarator "local_458 [5]" identifier [ number_literal ]) ;) (declaration "char acStack_453 [3];" primitive_type (array_declarator "acStack_453 [3]" identifier [ number_literal ]) ;) (declaration "char cStack_450;" primitive_type identifier ;) (declaration "char acStack_44f [3];" primitive_type (array_declarator "acStack_44f [3]" identifier [ number_literal ]) ;) (declaration "char acStack_44c [2];" primitive_type (array_declarator "acStack_44c [2]" identifier [ number_literal ]) ;) (declaration "char cStack_44a;" primitive_type identifier ;) (declaration "char cStack_449;" primitive_type identifier ;) (declaration "char local_448 [8];" primitive_type (array_declarator "local_448 [8]" identifier [ number_literal ]) ;) (declaration "char acStack_440 [8];" primitive_type (array_declarator "acStack_440 [8]" identifier [ number_literal ]) ;) (declaration "undefined2 local_438;" type_identifier identifier ;) (declaration "undefined1 local_436;" type_identifier identifier ;) (declaration "undefined1 local_428 [1000];" type_identifier (array_declarator "local_428 [1000]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_460 = 0x1bf54941aff6bf4a;" (assignment_expression "local_460 = 0x1bf54941aff6bf4a" identifier = number_literal) ;) (expression_statement "local_438 = 0x7075;" (assignment_expression "local_438 = 0x7075" identifier = number_literal) ;) (expression_statement "local_470 = 0xa806d542fe52447f;" (assignment_expression "local_470 = 0xa806d542fe52447f" identifier = number_literal) ;) (expression_statement "local_488 = 0xc6365130c11d06a8;" (assignment_expression "local_488 = 0xc6365130c11d06a8" identifier = number_literal) ;) (expression_statement "local_480 = 0xa927010caf8b2bc2;" (assignment_expression "local_480 = 0xa927010caf8b2bc2" identifier = number_literal) ;) (expression_statement "local_478 = 0x336d555778bed685;" (assignment_expression "local_478 = 0x336d555778bed685" identifier = number_literal) ;) (expression_statement "local_468 = 0xfdb20dfb8a800301;" (assignment_expression "local_468 = 0xfdb20dfb8a800301" identifier = number_literal) ;) (expression_statement "_local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;" (assignment_expression "_local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" identifier = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" identifier . field_identifier)) ;) (expression_statement "_cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;" (assignment_expression "_cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" identifier = (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" identifier . field_identifier)) ;) (expression_statement "local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;" (assignment_expression "local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" identifier = (cast_expression "(char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" ( (type_descriptor "char  [8]" primitive_type (abstract_array_declarator "[8]" [ number_literal ])) ) (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" identifier . field_identifier))) ;) (expression_statement "acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;" (assignment_expression "acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" identifier = (cast_expression "(char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" ( (type_descriptor "char  [8]" primitive_type (abstract_array_declarator "[8]" [ number_literal ])) ) (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" identifier . field_identifier))) ;) (expression_statement "local_436 = 0;" (assignment_expression "local_436 = 0" identifier = number_literal) ;) (expression_statement "local_4f0 = 0x10;" (assignment_expression "local_4f0 = 0x10" identifier = number_literal) ;) (expression_statement "uVar2 = poly1305_init(local_4e8,&local_478,0x20);" (assignment_expression "uVar2 = poly1305_init(local_4e8,&local_478,0x20)" identifier = (call_expression "poly1305_init(local_4e8,&local_478,0x20)" identifier (argument_list "(local_4e8,&local_478,0x20)" ( identifier , (pointer_expression "&local_478" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "uVar2 = poly1305_process(local_4e8,local_458,5);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458,5)" identifier = (call_expression "poly1305_process(local_4e8,local_458,5)" identifier (argument_list "(local_4e8,local_458,5)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "uVar2 = poly1305_process(local_4e8,local_458 + 5,4);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458 + 5,4)" identifier = (call_expression "poly1305_process(local_4e8,local_458 + 5,4)" identifier (argument_list "(local_4e8,local_458 + 5,4)" ( identifier , (binary_expression "local_458 + 5" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar2 = poly1305_process(local_4e8,acStack_44f,3);" (assignment_expression "uVar2 = poly1305_process(local_4e8,acStack_44f,3)" identifier = (call_expression "poly1305_process(local_4e8,acStack_44f,3)" identifier (argument_list "(local_4e8,acStack_44f,3)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }" { (expression_statement "uVar2 = poly1305_process(local_4e8,acStack_44c,2);" (assignment_expression "uVar2 = poly1305_process(local_4e8,acStack_44c,2)" identifier = (call_expression "poly1305_process(local_4e8,acStack_44c,2)" identifier (argument_list "(local_4e8,acStack_44c,2)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }" { (expression_statement "uVar2 = poly1305_process(local_4e8,&cStack_44a,1);" (assignment_expression "uVar2 = poly1305_process(local_4e8,&cStack_44a,1)" identifier = (call_expression "poly1305_process(local_4e8,&cStack_44a,1)" identifier (argument_list "(local_4e8,&cStack_44a,1)" ( identifier , (pointer_expression "&cStack_44a" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }" { (expression_statement "uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);" (assignment_expression "uVar2 = poly1305_process(local_4e8,&cStack_449,0x13)" identifier = (call_expression "poly1305_process(local_4e8,&cStack_449,0x13)" identifier (argument_list "(local_4e8,&cStack_449,0x13)" ( identifier , (pointer_expression "&cStack_449" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }" { (expression_statement "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);" (assignment_expression "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0)" identifier = (call_expression "poly1305_done(local_4e8,local_428,&local_4f0)" identifier (argument_list "(local_4e8,local_428,&local_4f0)" ( identifier , identifier , (pointer_expression "&local_4f0" & identifier) )))) ;) (if_statement "if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }" { (expression_statement "iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);" (assignment_expression "iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" identifier = (call_expression "compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" identifier (argument_list "(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" ( identifier , identifier , (pointer_expression "&local_488" & identifier) , number_literal , (string_literal ""POLY1305-TV1"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }" { (expression_statement "uVar2 = poly1305_init(local_4e8,&local_478,0x20);" (assignment_expression "uVar2 = poly1305_init(local_4e8,&local_478,0x20)" identifier = (call_expression "poly1305_init(local_4e8,&local_478,0x20)" identifier (argument_list "(local_4e8,&local_478,0x20)" ( identifier , (pointer_expression "&local_478" & identifier) , number_literal )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 != 0)" ( (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "uVar2 = poly1305_process(local_4e8,local_458,0x22);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458,0x22)" identifier = (call_expression "poly1305_process(local_4e8,local_458,0x22)" identifier (argument_list "(local_4e8,local_458,0x22)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 != 0)" ( (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);" (assignment_expression "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0)" identifier = (call_expression "poly1305_done(local_4e8,local_428,&local_4f0)" identifier (argument_list "(local_4e8,local_428,&local_4f0)" ( identifier , identifier , (pointer_expression "&local_4f0" & identifier) )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 != 0)" ( (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) (expression_statement "uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;" (assignment_expression "uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" identifier = (call_expression "compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" identifier (argument_list "(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" ( identifier , identifier , (pointer_expression "&local_488" & identifier) , number_literal , (string_literal ""POLY1305-TV2"" " string_content ") , number_literal )))) ;) (if_statement "if ((int)uVar2 == 0) goto LAB_0015e7b9;" if (parenthesized_expression "((int)uVar2 == 0)" ( (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (goto_statement "goto LAB_0015e7b9;" goto statement_identifier ;)) })) (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;) })) })) })) })) })) })) })) })) (labeled_statement "LAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar2;\n  }" { (return_statement "return uVar2;" return identifier ;) }))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , LIT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , LIT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) })) })) })) })) })) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined8 poly1305_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" (type_identifier "undefined8") (function_declarator "poly1305_test(void)" (identifier "poly1305_test") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  undefined8 local_4f0;\n  undefined1 local_4e8 [96];\n  undefined8 local_488;\n  undefined8 local_480;\n  undefined8 local_478;\n  undefined8 local_470;\n  undefined8 local_468;\n  undefined8 local_460;\n  char local_458 [5];\n  char acStack_453 [3];\n  char cStack_450;\n  char acStack_44f [3];\n  char acStack_44c [2];\n  char cStack_44a;\n  char cStack_449;\n  char local_448 [8];\n  char acStack_440 [8];\n  undefined2 local_438;\n  undefined1 local_436;\n  undefined1 local_428 [1000];\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  local_460 = 0x1bf54941aff6bf4a;\n  local_438 = 0x7075;\n  local_470 = 0xa806d542fe52447f;\n  local_488 = 0xc6365130c11d06a8;\n  local_480 = 0xa927010caf8b2bc2;\n  local_478 = 0x336d555778bed685;\n  local_468 = 0xfdb20dfb8a800301;\n  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;\n  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;\n  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;\n  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;\n  local_436 = 0;\n  local_4f0 = 0x10;\n  uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n  if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nLAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "undefined8 local_4f0;" (type_identifier "undefined8") (identifier "local_4f0") (; ";")) (declaration "undefined1 local_4e8 [96];" (type_identifier "undefined1") (array_declarator "local_4e8 [96]" (identifier "local_4e8") ([ "[") (number_literal "96") (] "]")) (; ";")) (declaration "undefined8 local_488;" (type_identifier "undefined8") (identifier "local_488") (; ";")) (declaration "undefined8 local_480;" (type_identifier "undefined8") (identifier "local_480") (; ";")) (declaration "undefined8 local_478;" (type_identifier "undefined8") (identifier "local_478") (; ";")) (declaration "undefined8 local_470;" (type_identifier "undefined8") (identifier "local_470") (; ";")) (declaration "undefined8 local_468;" (type_identifier "undefined8") (identifier "local_468") (; ";")) (declaration "undefined8 local_460;" (type_identifier "undefined8") (identifier "local_460") (; ";")) (declaration "char local_458 [5];" (primitive_type "char") (array_declarator "local_458 [5]" (identifier "local_458") ([ "[") (number_literal "5") (] "]")) (; ";")) (declaration "char acStack_453 [3];" (primitive_type "char") (array_declarator "acStack_453 [3]" (identifier "acStack_453") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "char cStack_450;" (primitive_type "char") (identifier "cStack_450") (; ";")) (declaration "char acStack_44f [3];" (primitive_type "char") (array_declarator "acStack_44f [3]" (identifier "acStack_44f") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "char acStack_44c [2];" (primitive_type "char") (array_declarator "acStack_44c [2]" (identifier "acStack_44c") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "char cStack_44a;" (primitive_type "char") (identifier "cStack_44a") (; ";")) (declaration "char cStack_449;" (primitive_type "char") (identifier "cStack_449") (; ";")) (declaration "char local_448 [8];" (primitive_type "char") (array_declarator "local_448 [8]" (identifier "local_448") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "char acStack_440 [8];" (primitive_type "char") (array_declarator "acStack_440 [8]" (identifier "acStack_440") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined2 local_438;" (type_identifier "undefined2") (identifier "local_438") (; ";")) (declaration "undefined1 local_436;" (type_identifier "undefined1") (identifier "local_436") (; ";")) (declaration "undefined1 local_428 [1000];" (type_identifier "undefined1") (array_declarator "local_428 [1000]" (identifier "local_428") ([ "[") (number_literal "1000") (] "]")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "local_460 = 0x1bf54941aff6bf4a;" (assignment_expression "local_460 = 0x1bf54941aff6bf4a" (identifier "local_460") (= "=") (number_literal "0x1bf54941aff6bf4a")) (; ";")) (expression_statement "local_438 = 0x7075;" (assignment_expression "local_438 = 0x7075" (identifier "local_438") (= "=") (number_literal "0x7075")) (; ";")) (expression_statement "local_470 = 0xa806d542fe52447f;" (assignment_expression "local_470 = 0xa806d542fe52447f" (identifier "local_470") (= "=") (number_literal "0xa806d542fe52447f")) (; ";")) (expression_statement "local_488 = 0xc6365130c11d06a8;" (assignment_expression "local_488 = 0xc6365130c11d06a8" (identifier "local_488") (= "=") (number_literal "0xc6365130c11d06a8")) (; ";")) (expression_statement "local_480 = 0xa927010caf8b2bc2;" (assignment_expression "local_480 = 0xa927010caf8b2bc2" (identifier "local_480") (= "=") (number_literal "0xa927010caf8b2bc2")) (; ";")) (expression_statement "local_478 = 0x336d555778bed685;" (assignment_expression "local_478 = 0x336d555778bed685" (identifier "local_478") (= "=") (number_literal "0x336d555778bed685")) (; ";")) (expression_statement "local_468 = 0xfdb20dfb8a800301;" (assignment_expression "local_468 = 0xfdb20dfb8a800301" (identifier "local_468") (= "=") (number_literal "0xfdb20dfb8a800301")) (; ";")) (expression_statement "_local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;" (assignment_expression "_local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" (identifier "_local_458") (= "=") (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._0_8_" (identifier "s_Cryptographic_Forum_Research_Gro_001bd900") (. ".") (field_identifier "_0_8_"))) (; ";")) (expression_statement "_cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;" (assignment_expression "_cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" (identifier "_cStack_450") (= "=") (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._8_8_" (identifier "s_Cryptographic_Forum_Research_Gro_001bd900") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;" (assignment_expression "local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" (identifier "local_448") (= "=") (cast_expression "(char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" (( "(") (type_descriptor "char  [8]" (primitive_type "char") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._16_8_" (identifier "s_Cryptographic_Forum_Research_Gro_001bd900") (. ".") (field_identifier "_16_8_")))) (; ";")) (expression_statement "acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;" (assignment_expression "acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" (identifier "acStack_440") (= "=") (cast_expression "(char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" (( "(") (type_descriptor "char  [8]" (primitive_type "char") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (field_expression "s_Cryptographic_Forum_Research_Gro_001bd900._24_8_" (identifier "s_Cryptographic_Forum_Research_Gro_001bd900") (. ".") (field_identifier "_24_8_")))) (; ";")) (expression_statement "local_436 = 0;" (assignment_expression "local_436 = 0" (identifier "local_436") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4f0 = 0x10;" (assignment_expression "local_4f0 = 0x10" (identifier "local_4f0") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "uVar2 = poly1305_init(local_4e8,&local_478,0x20);" (assignment_expression "uVar2 = poly1305_init(local_4e8,&local_478,0x20)" (identifier "uVar2") (= "=") (call_expression "poly1305_init(local_4e8,&local_478,0x20)" (identifier "poly1305_init") (argument_list "(local_4e8,&local_478,0x20)" (( "(") (identifier "local_4e8") (, ",") (pointer_expression "&local_478" (& "&") (identifier "local_478")) (, ",") (number_literal "0x20") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar2 = poly1305_process(local_4e8,local_458,5);\n    if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "uVar2 = poly1305_process(local_4e8,local_458,5);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458,5)" (identifier "uVar2") (= "=") (call_expression "poly1305_process(local_4e8,local_458,5)" (identifier "poly1305_process") (argument_list "(local_4e8,local_458,5)" (( "(") (identifier "local_4e8") (, ",") (identifier "local_458") (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);\n      if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "uVar2 = poly1305_process(local_4e8,local_458 + 5,4);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458 + 5,4)" (identifier "uVar2") (= "=") (call_expression "poly1305_process(local_4e8,local_458 + 5,4)" (identifier "poly1305_process") (argument_list "(local_4e8,local_458 + 5,4)" (( "(") (identifier "local_4e8") (, ",") (binary_expression "local_458 + 5" (identifier "local_458") (+ "+") (number_literal "5")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar2 = poly1305_process(local_4e8,acStack_44f,3);\n        if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "uVar2 = poly1305_process(local_4e8,acStack_44f,3);" (assignment_expression "uVar2 = poly1305_process(local_4e8,acStack_44f,3)" (identifier "uVar2") (= "=") (call_expression "poly1305_process(local_4e8,acStack_44f,3)" (identifier "poly1305_process") (argument_list "(local_4e8,acStack_44f,3)" (( "(") (identifier "local_4e8") (, ",") (identifier "acStack_44f") (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar2 = poly1305_process(local_4e8,acStack_44c,2);\n          if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "uVar2 = poly1305_process(local_4e8,acStack_44c,2);" (assignment_expression "uVar2 = poly1305_process(local_4e8,acStack_44c,2)" (identifier "uVar2") (= "=") (call_expression "poly1305_process(local_4e8,acStack_44c,2)" (identifier "poly1305_process") (argument_list "(local_4e8,acStack_44c,2)" (( "(") (identifier "local_4e8") (, ",") (identifier "acStack_44c") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);\n            if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "uVar2 = poly1305_process(local_4e8,&cStack_44a,1);" (assignment_expression "uVar2 = poly1305_process(local_4e8,&cStack_44a,1)" (identifier "uVar2") (= "=") (call_expression "poly1305_process(local_4e8,&cStack_44a,1)" (identifier "poly1305_process") (argument_list "(local_4e8,&cStack_44a,1)" (( "(") (identifier "local_4e8") (, ",") (pointer_expression "&cStack_44a" (& "&") (identifier "cStack_44a")) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);\n              if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }\n            }" ({ "{") (expression_statement "uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);" (assignment_expression "uVar2 = poly1305_process(local_4e8,&cStack_449,0x13)" (identifier "uVar2") (= "=") (call_expression "poly1305_process(local_4e8,&cStack_449,0x13)" (identifier "poly1305_process") (argument_list "(local_4e8,&cStack_449,0x13)" (( "(") (identifier "local_4e8") (, ",") (pointer_expression "&cStack_449" (& "&") (identifier "cStack_449")) (, ",") (number_literal "0x13") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }\n              }" ({ "{") (expression_statement "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);" (assignment_expression "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0)" (identifier "uVar2") (= "=") (call_expression "poly1305_done(local_4e8,local_428,&local_4f0)" (identifier "poly1305_done") (argument_list "(local_4e8,local_428,&local_4f0)" (( "(") (identifier "local_4e8") (, ",") (identifier "local_428") (, ",") (pointer_expression "&local_4f0" (& "&") (identifier "local_4f0")) () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) {\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);\n                  if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }\n                  uVar2 = 5;\n                }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);" (assignment_expression "iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" (identifier "compare_testvector") (argument_list "(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1)" (( "(") (identifier "local_428") (, ",") (identifier "local_4f0") (, ",") (pointer_expression "&local_488" (& "&") (identifier "local_488")) (, ",") (number_literal "0x10") (, ",") (string_literal ""POLY1305-TV1"" (" """) (string_content "POLY1305-TV1") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_process(local_4e8,local_458,0x22);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);\n                    if ((int)uVar2 != 0) goto LAB_0015e7b9;\n                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;\n                    if ((int)uVar2 == 0) goto LAB_0015e7b9;\n                  }" ({ "{") (expression_statement "uVar2 = poly1305_init(local_4e8,&local_478,0x20);" (assignment_expression "uVar2 = poly1305_init(local_4e8,&local_478,0x20)" (identifier "uVar2") (= "=") (call_expression "poly1305_init(local_4e8,&local_478,0x20)" (identifier "poly1305_init") (argument_list "(local_4e8,&local_478,0x20)" (( "(") (identifier "local_4e8") (, ",") (pointer_expression "&local_478" (& "&") (identifier "local_478")) (, ",") (number_literal "0x20") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" (if "if") (parenthesized_expression "((int)uVar2 != 0)" (( "(") (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0015e7b9;" (goto "goto") (statement_identifier "LAB_0015e7b9") (; ";"))) (expression_statement "uVar2 = poly1305_process(local_4e8,local_458,0x22);" (assignment_expression "uVar2 = poly1305_process(local_4e8,local_458,0x22)" (identifier "uVar2") (= "=") (call_expression "poly1305_process(local_4e8,local_458,0x22)" (identifier "poly1305_process") (argument_list "(local_4e8,local_458,0x22)" (( "(") (identifier "local_4e8") (, ",") (identifier "local_458") (, ",") (number_literal "0x22") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" (if "if") (parenthesized_expression "((int)uVar2 != 0)" (( "(") (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0015e7b9;" (goto "goto") (statement_identifier "LAB_0015e7b9") (; ";"))) (expression_statement "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);" (assignment_expression "uVar2 = poly1305_done(local_4e8,local_428,&local_4f0)" (identifier "uVar2") (= "=") (call_expression "poly1305_done(local_4e8,local_428,&local_4f0)" (identifier "poly1305_done") (argument_list "(local_4e8,local_428,&local_4f0)" (( "(") (identifier "local_4e8") (, ",") (identifier "local_428") (, ",") (pointer_expression "&local_4f0" (& "&") (identifier "local_4f0")) () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_0015e7b9;" (if "if") (parenthesized_expression "((int)uVar2 != 0)" (( "(") (binary_expression "(int)uVar2 != 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0015e7b9;" (goto "goto") (statement_identifier "LAB_0015e7b9") (; ";"))) (expression_statement "uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)\n                    ;" (assignment_expression "uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" (identifier "uVar2") (= "=") (call_expression "compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" (identifier "compare_testvector") (argument_list "(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)" (( "(") (identifier "local_428") (, ",") (identifier "local_4f0") (, ",") (pointer_expression "&local_488" (& "&") (identifier "local_488")) (, ",") (number_literal "0x10") (, ",") (string_literal ""POLY1305-TV2"" (" """) (string_content "POLY1305-TV2") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if ((int)uVar2 == 0) goto LAB_0015e7b9;" (if "if") (parenthesized_expression "((int)uVar2 == 0)" (( "(") (binary_expression "(int)uVar2 == 0" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0015e7b9;" (goto "goto") (statement_identifier "LAB_0015e7b9") (; ";"))) (} "}"))) (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" (identifier "uVar2") (= "=") (number_literal "5")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0015e7b9:\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" (statement_identifier "LAB_0015e7b9") (: ":") (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" (if "if") (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return uVar2;\n  }" ({ "{") (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}")))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

int function_1(void)

{
  long var_8;
  int var_3;
  long var_1;
  type_1 len;
  type_2 st;
  type_3 tag [16];
  type_3 k [32];
  char var_5 [35];
  type_3 out [1000];
  
  var_8 = *(long *)(var_1 + 0x28);
  k[0x18] = 'J';
  k[0x19] = 0xbf;
  k[0x1a] = 0xf6;
  k[0x1b] = 0xaf;
  k[0x1c] = 'A';
  k[0x1d] = 'I';
  k[0x1e] = 0xf5;
  k[0x1f] = '\x1b';
  var_5[0x20] = 'u';
  var_5[0x21] = 'p';
  k[8] = '\x7f';
  k[9] = 'D';
  k[10] = 'R';
  k[0xb] = 0xfe;
  k[0xc] = 'B';
  k[0xd] = 0xd5;
  k[0xe] = '\x06';
  k[0xf] = 0xa8;
  tag[0] = 0xa8;
  tag[1] = '\x06';
  tag[2] = '\x1d';
  tag[3] = 0xc1;
  tag[4] = '0';
  tag[5] = 'Q';
  tag[6] = '6';
  tag[7] = 0xc6;
  tag[8] = 0xc2;
  tag[9] = '+';
  tag[10] = 0x8b;
  tag[0xb] = 0xaf;
  tag[0xc] = '\f';
  tag[0xd] = '\x01';
  tag[0xe] = '\'';
  tag[0xf] = 0xa9;
  k[0] = 0x85;
  k[1] = 0xd6;
  k[2] = 0xbe;
  k[3] = 'x';
  k[4] = 'W';
  k[5] = 'U';
  k[6] = 'm';
  k[7] = '3';
  k[0x10] = '\x01';
  k[0x11] = '\x03';
  k[0x12] = 0x80;
  k[0x13] = 0x8a;
  k[0x14] = 0xfb;
  k[0x15] = '\r';
  k[0x16] = 0xb2;
  k[0x17] = 0xfd;
  var_5._0_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;
  var_5._8_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;
  var_5._16_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;
  var_5._24_8_ = s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;
  var_5[0x22] = '\0';
  len = 0x10;
  var_3 = var_2(&st,k,0x20);
  if (var_3 == 0) {
    var_3 = var_4(&st,(type_3 *)var_5,5);
    if (var_3 == 0) {
      var_3 = var_4(&st,(type_3 *)(var_5 + 5),4);
      if (var_3 == 0) {
        var_3 = var_4(&st,(type_3 *)(var_5 + 9),3);
        if (var_3 == 0) {
          var_3 = var_4(&st,(type_3 *)(var_5 + 0xc),2);
          if (var_3 == 0) {
            var_3 = var_4(&st,(type_3 *)(var_5 + 0xe),1);
            if (var_3 == 0) {
              var_3 = var_4(&st,(type_3 *)(var_5 + 0xf),0x13);
              if (var_3 == 0) {
                var_3 = var_6(&st,out,&len);
                if (var_3 == 0) {
                  var_3 = var_7(out,len,tag,0x10,"POLY1305-TV1",1);
                  if (var_3 == 0) {
                    var_3 = var_2(&st,k,0x20);
                    if (var_3 != 0) goto LAB_0015e7b9;
                    var_3 = var_4(&st,(type_3 *)var_5,0x22);
                    if (var_3 != 0) goto LAB_0015e7b9;
                    var_3 = var_6(&st,out,&len);
                    if (var_3 != 0) goto LAB_0015e7b9;
                    var_3 = var_7(out,len,tag,0x10,"POLY1305-TV2",1);
                    if (var_3 == 0) goto LAB_0015e7b9;
                  }
                  var_3 = 5;
                }
              }
            }
          }
        }
      }
    }
  }
LAB_0015e7b9:
  if (var_8 == *(long *)(var_1 + 0x28)) {
    return var_3;
  }
                    /* WARNING: Subroutine does not return */
  var_9();
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (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: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_array_declarator size: (number_literal))) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_array_declarator size: (number_literal))) value: (field_expression argument: (identifier) field: (field_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: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal) (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

undefined8 MASKED(void)

{
  int iVar1;
  undefined8 uVar2;
  long in_FS_OFFSET;
  undefined8 local_4f0;
  undefined1 local_4e8 [96];
  undefined8 local_488;
  undefined8 local_480;
  undefined8 local_478;
  undefined8 local_470;
  undefined8 local_468;
  undefined8 local_460;
  char local_458 [5];
  char acStack_453 [3];
  char cStack_450;
  char acStack_44f [3];
  char acStack_44c [2];
  char cStack_44a;
  char cStack_449;
  char local_448 [8];
  char acStack_440 [8];
  undefined2 local_438;
  undefined1 local_436;
  undefined1 local_428 [1000];
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  local_460 = 0x1bf54941aff6bf4a;
  local_438 = 0x7075;
  local_470 = 0xa806d542fe52447f;
  local_488 = 0xc6365130c11d06a8;
  local_480 = 0xa927010caf8b2bc2;
  local_478 = 0x336d555778bed685;
  local_468 = 0xfdb20dfb8a800301;
  _local_458 = s_Cryptographic_Forum_Research_Gro_001bd900._0_8_;
  _cStack_450 = s_Cryptographic_Forum_Research_Gro_001bd900._8_8_;
  local_448 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._16_8_;
  acStack_440 = (char  [8])s_Cryptographic_Forum_Research_Gro_001bd900._24_8_;
  local_436 = 0;
  local_4f0 = 0x10;
  uVar2 = poly1305_init(local_4e8,&local_478,0x20);
  if ((int)uVar2 == 0) {
    uVar2 = poly1305_process(local_4e8,local_458,5);
    if ((int)uVar2 == 0) {
      uVar2 = poly1305_process(local_4e8,local_458 + 5,4);
      if ((int)uVar2 == 0) {
        uVar2 = poly1305_process(local_4e8,acStack_44f,3);
        if ((int)uVar2 == 0) {
          uVar2 = poly1305_process(local_4e8,acStack_44c,2);
          if ((int)uVar2 == 0) {
            uVar2 = poly1305_process(local_4e8,&cStack_44a,1);
            if ((int)uVar2 == 0) {
              uVar2 = poly1305_process(local_4e8,&cStack_449,0x13);
              if ((int)uVar2 == 0) {
                uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);
                if ((int)uVar2 == 0) {
                  iVar1 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV1",1);
                  if (iVar1 == 0) {
                    uVar2 = poly1305_init(local_4e8,&local_478,0x20);
                    if ((int)uVar2 != 0) goto LAB_0015e7b9;
                    uVar2 = poly1305_process(local_4e8,local_458,0x22);
                    if ((int)uVar2 != 0) goto LAB_0015e7b9;
                    uVar2 = poly1305_done(local_4e8,local_428,&local_4f0);
                    if ((int)uVar2 != 0) goto LAB_0015e7b9;
                    uVar2 = compare_testvector(local_428,local_4f0,&local_488,0x10,"POLY1305-TV2",1)
                    ;
                    if ((int)uVar2 == 0) goto LAB_0015e7b9;
                  }
                  uVar2 = 5;
                }
              }
            }
          }
        }
      }
    }
  }
LAB_0015e7b9:
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

