
/* WARNING: Unknown calling convention */

int chacha20_prng_test(void)

{
  long lVar1;
  int iVar2;
  ulong uVar3;
  long in_FS_OFFSET;
  ulong dmplen;
  prng_state st;
  uchar t1 [10];
  uchar t2 [10];
  uchar t3 [10];
  uchar en [50];
  uchar dmp [300];
  uchar out [500];
  
  lVar1 = *(long *)(in_FS_OFFSET + 0x28);
  builtin_memcpy(en,
                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"
                 ,0x32);
  dmplen = 300;
  t1[0] = 'Y';
  t1[1] = 0xb2;
  t1[2] = '&';
  t1[3] = 0x95;
  t1[4] = '+';
  t1[5] = '\x01';
  t1[6] = 0x8f;
  t1[7] = '\x05';
  t1[8] = 0xbe;
  t1[9] = 0xd8;
  t2[0] = 'G';
  t2[1] = 0xc9;
  t2[2] = '\r';
  t2[3] = '\x03';
  t2[4] = 0xe4;
  t2[5] = 'u';
  t2[6] = '4';
  t2[7] = '\'';
  t2[8] = 0xbd;
  t2[9] = 0xde;
  t3[0] = 0xbc;
  t3[1] = 0xfa;
  t3[2] = 0xef;
  t3[3] = 'Y';
  t3[4] = '7';
  t3[5] = '\x7f';
  t3[6] = '\x1a';
  t3[7] = 0x91;
  t3[8] = '\x1a';
  t3[9] = 0xa6;
  iVar2 = chacha20_prng_start(&st);
  if (iVar2 != 0) goto LAB_001861f2;
  iVar2 = chacha20_prng_add_entropy(en,0x32,&st);
  if (iVar2 != 0) goto LAB_001861f2;
  iVar2 = chacha20_prng_ready(&st);
  if (iVar2 != 0) goto LAB_001861f2;
  uVar3 = chacha20_prng_read(out,10,&st);
  if (uVar3 == 10) {
    iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1);
    if (iVar2 != 0) goto LAB_00186418;
    uVar3 = chacha20_prng_read(out,500,&st);
    if (uVar3 == 500) {
      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);
      if (iVar2 != 0) goto LAB_001861f2;
      uVar3 = chacha20_prng_read(out,500,&st);
      if (uVar3 == 500) {
        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);
        if (iVar2 != 0) goto LAB_001861f2;
        uVar3 = chacha20_prng_read(out,500,&st);
        if (uVar3 == 500) {
          uVar3 = chacha20_prng_read(out,10,&st);
          if (uVar3 == 10) {
            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);
            if (iVar2 != 0) {
LAB_00186418:
              iVar2 = 5;
              goto LAB_001861f2;
            }
            iVar2 = chacha20_prng_done(&st);
            if (iVar2 != 0) goto LAB_001861f2;
            iVar2 = chacha20_prng_import(dmp,dmplen,&st);
            if (iVar2 != 0) goto LAB_001861f2;
            iVar2 = chacha20_prng_ready(&st);
            if (iVar2 != 0) goto LAB_001861f2;
            uVar3 = chacha20_prng_read(out,500,&st);
            if (uVar3 == 500) {
              uVar3 = chacha20_prng_read(out,10,&st);
              if (uVar3 == 10) {
                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);
                if (iVar2 == 0) {
                  iVar2 = chacha20_prng_done(&st);
                  goto LAB_001861f2;
                }
                goto LAB_00186418;
              }
            }
          }
        }
      }
    }
  }
  iVar2 = 9;
LAB_001861f2:
  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



undefined8 chacha20_prng_test(void)

{
  int iVar1;
  undefined8 uVar2;
  long lVar3;
  long in_FS_OFFSET;
  undefined8 local_48b0;
  undefined1 local_48a8 [17666];
  undefined8 local_3a6;
  undefined2 local_39e;
  undefined8 local_39c;
  undefined2 local_394;
  undefined8 local_392;
  undefined2 local_38a;
  undefined8 local_388;
  undefined8 local_380;
  undefined8 local_378;
  undefined8 local_370;
  undefined8 local_368;
  undefined8 local_360;
  undefined2 local_358;
  undefined1 local_348 [304];
  undefined1 local_218 [504];
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  local_370 = 0x201f1e1d1c1b1a19;
  local_388 = 0x807060504030201;
  local_360 = 0x302f2e2d2c2b2a29;
  local_380 = 0x100f0e0d0c0b0a09;
  local_378 = 0x1817161514131211;
  local_368 = 0x2827262524232221;
  local_358 = 0x3231;
  local_48b0 = 300;
  local_3a6 = 0x58f012b9526b259;
  local_39e = 0xd8be;
  local_39c = 0x273475e4030dc947;
  local_394 = 0xdebd;
  local_392 = 0x911a7f3759effabc;
  local_38a = 0xa61a;
  uVar2 = chacha20_prng_start(local_48a8);
  if ((int)uVar2 != 0) goto LAB_001861f2;
  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);
  if ((int)uVar2 != 0) goto LAB_001861f2;
  uVar2 = chacha20_prng_ready(local_48a8);
  if ((int)uVar2 != 0) goto LAB_001861f2;
  lVar3 = chacha20_prng_read(local_218,10,local_48a8);
  if (lVar3 == 10) {
    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);
    if (iVar1 != 0) goto LAB_00186418;
    lVar3 = chacha20_prng_read(local_218,500,local_48a8);
    if (lVar3 == 500) {
      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);
      if ((int)uVar2 != 0) goto LAB_001861f2;
      lVar3 = chacha20_prng_read(local_218,500,local_48a8);
      if (lVar3 == 500) {
        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);
        if ((int)uVar2 != 0) goto LAB_001861f2;
        lVar3 = chacha20_prng_read(local_218,500,local_48a8);
        if (lVar3 == 500) {
          lVar3 = chacha20_prng_read(local_218,10,local_48a8);
          if (lVar3 == 10) {
            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);
            if (iVar1 != 0) {
LAB_00186418:
              uVar2 = 5;
              goto LAB_001861f2;
            }
            uVar2 = chacha20_prng_done(local_48a8);
            if ((int)uVar2 != 0) goto LAB_001861f2;
            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);
            if ((int)uVar2 != 0) goto LAB_001861f2;
            uVar2 = chacha20_prng_ready(local_48a8);
            if ((int)uVar2 != 0) goto LAB_001861f2;
            lVar3 = chacha20_prng_read(local_218,500,local_48a8);
            if (lVar3 == 500) {
              lVar3 = chacha20_prng_read(local_218,10,local_48a8);
              if (lVar3 == 10) {
                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);
                if (iVar1 == 0) {
                  uVar2 = chacha20_prng_done(local_48a8);
                  goto LAB_001861f2;
                }
                goto LAB_00186418;
              }
            }
          }
        }
      }
    }
  }
  uVar2 = 9;
LAB_001861f2:
  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH R12
MOV R9D,0xffffd8be
MOV RDI,0x302f2e2d2c2b2a29
MOV RDX,0x100f0e0d0c0b0a09
PUSH RBP
MOV R11D,0xffffdebd
MOV RCX,0x1817161514131211
MOV RSI,0x2827262524232221
MOV R8,0x58f012b9526b259
PUSH RBX
MOV EBP,0x3231
MOV RBX,0x201f1e1d1c1b1a19
MOV R10,0x273475e4030dc947
MOV R12,-0x6ee580c8a6100544
SUB RSP,0x48a0
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x4898],RAX
XOR EAX,EAX
MOV qword ptr [RSP + 0x4548],RBX
LEA RBX,[RSP + 0x10]
MOV RAX,0x807060504030201
MOV qword ptr [RSP + 0x4530],RAX
MOV EAX,0xffffa61a
MOV qword ptr [RSP + 0x4558],RDI
MOV RDI,RBX
MOV qword ptr [RSP + 0x4538],RDX
MOV qword ptr [RSP + 0x4540],RCX
MOV qword ptr [RSP + 0x4550],RSI
MOV word ptr [RSP + 0x4560],BP
MOV qword ptr [RSP + 0x8],0x12c
MOV qword ptr [RSP + 0x4512],R8
MOV word ptr [RSP + 0x451a],R9W
MOV qword ptr [RSP + 0x451c],R10
MOV word ptr [RSP + 0x4524],R11W
MOV qword ptr [RSP + 0x4526],R12
MOV word ptr [RSP + 0x452e],AX
CALL 0x00114c40
TEST EAX,EAX
JZ 0x00186218
MOV RCX,qword ptr [RSP + 0x4898]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x00186422
ADD RSP,0x48a0
POP RBX
POP RBP
POP R12
RET
LEA RBP,[RSP + 0x4530]
MOV RDX,RBX
MOV ESI,0x32
MOV RDI,RBP
CALL 0x00113b20
TEST EAX,EAX
JNZ 0x001861f2
MOV RDI,RBX
CALL 0x00113ff0
TEST EAX,EAX
JNZ 0x001861f2
LEA R12,[RSP + 0x46a0]
MOV RDX,RBX
MOV ESI,0xa
MOV RDI,R12
CALL 0x001132b0
CMP RAX,0xa
JNZ 0x00186408
LEA RDX,[RSP + 0x4512]
MOV R9D,0x1
MOV ECX,0xa
MOV RDI,R12
LEA R8,[0x1c708e]
MOV ESI,0xa
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x00186418
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001132b0
CMP RAX,0x1f4
JNZ 0x00186408
MOV RDX,RBX
MOV ESI,0x32
MOV RDI,RBP
CALL 0x00113b20
TEST EAX,EAX
JNZ 0x001861f2
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001132b0
CMP RAX,0x1f4
JNZ 0x00186408
LEA RBP,[RSP + 0x4570]
LEA RSI,[RSP + 0x8]
MOV RDX,RBX
MOV RDI,RBP
CALL 0x00114e80
TEST EAX,EAX
JNZ 0x001861f2
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001132b0
CMP RAX,0x1f4
JNZ 0x00186408
MOV RDX,RBX
MOV ESI,0xa
MOV RDI,R12
CALL 0x001132b0
CMP RAX,0xa
JNZ 0x00186408
LEA RDX,[RSP + 0x451c]
MOV R9D,0x2
MOV ECX,0xa
MOV RDI,R12
LEA R8,[0x1c708e]
MOV ESI,0xa
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x00186418
MOV RDI,RBX
CALL 0x00114280
TEST EAX,EAX
JNZ 0x001861f2
MOV RSI,qword ptr [RSP + 0x8]
MOV RDX,RBX
MOV RDI,RBP
CALL 0x00114ab0
TEST EAX,EAX
JNZ 0x001861f2
MOV RDI,RBX
CALL 0x00113ff0
TEST EAX,EAX
JNZ 0x001861f2
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001132b0
CMP RAX,0x1f4
JNZ 0x00186408
MOV RDX,RBX
MOV ESI,0xa
MOV RDI,R12
CALL 0x001132b0
CMP RAX,0xa
JNZ 0x00186408
LEA RDX,[RSP + 0x4526]
MOV R9D,0x3
MOV ECX,0xa
MOV RDI,R12
LEA R8,[0x1c708e]
MOV ESI,0xa
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x00186418
MOV RDI,RBX
CALL 0x00114280
JMP 0x001861f2
MOV EAX,0x9
JMP 0x001861f2
MOV EAX,0x5
JMP 0x001861f2
CALL 0x00113880
(translation_unit "undefined8 chacha20_prng_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(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 chacha20_prng_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" type_identifier (function_declarator "chacha20_prng_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(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 lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_48b0;" type_identifier identifier ;) (declaration "undefined1 local_48a8 [17666];" type_identifier (array_declarator "local_48a8 [17666]" identifier [ number_literal ]) ;) (declaration "undefined8 local_3a6;" type_identifier identifier ;) (declaration "undefined2 local_39e;" type_identifier identifier ;) (declaration "undefined8 local_39c;" type_identifier identifier ;) (declaration "undefined2 local_394;" type_identifier identifier ;) (declaration "undefined8 local_392;" type_identifier identifier ;) (declaration "undefined2 local_38a;" type_identifier identifier ;) (declaration "undefined8 local_388;" type_identifier identifier ;) (declaration "undefined8 local_380;" type_identifier identifier ;) (declaration "undefined8 local_378;" type_identifier identifier ;) (declaration "undefined8 local_370;" type_identifier identifier ;) (declaration "undefined8 local_368;" type_identifier identifier ;) (declaration "undefined8 local_360;" type_identifier identifier ;) (declaration "undefined2 local_358;" type_identifier identifier ;) (declaration "undefined1 local_348 [304];" type_identifier (array_declarator "local_348 [304]" identifier [ number_literal ]) ;) (declaration "undefined1 local_218 [504];" type_identifier (array_declarator "local_218 [504]" identifier [ number_literal ]) ;) (declaration "long local_20;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(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_370 = 0x201f1e1d1c1b1a19;" (assignment_expression "local_370 = 0x201f1e1d1c1b1a19" identifier = number_literal) ;) (expression_statement "local_388 = 0x807060504030201;" (assignment_expression "local_388 = 0x807060504030201" identifier = number_literal) ;) (expression_statement "local_360 = 0x302f2e2d2c2b2a29;" (assignment_expression "local_360 = 0x302f2e2d2c2b2a29" identifier = number_literal) ;) (expression_statement "local_380 = 0x100f0e0d0c0b0a09;" (assignment_expression "local_380 = 0x100f0e0d0c0b0a09" identifier = number_literal) ;) (expression_statement "local_378 = 0x1817161514131211;" (assignment_expression "local_378 = 0x1817161514131211" identifier = number_literal) ;) (expression_statement "local_368 = 0x2827262524232221;" (assignment_expression "local_368 = 0x2827262524232221" identifier = number_literal) ;) (expression_statement "local_358 = 0x3231;" (assignment_expression "local_358 = 0x3231" identifier = number_literal) ;) (expression_statement "local_48b0 = 300;" (assignment_expression "local_48b0 = 300" identifier = number_literal) ;) (expression_statement "local_3a6 = 0x58f012b9526b259;" (assignment_expression "local_3a6 = 0x58f012b9526b259" identifier = number_literal) ;) (expression_statement "local_39e = 0xd8be;" (assignment_expression "local_39e = 0xd8be" identifier = number_literal) ;) (expression_statement "local_39c = 0x273475e4030dc947;" (assignment_expression "local_39c = 0x273475e4030dc947" identifier = number_literal) ;) (expression_statement "local_394 = 0xdebd;" (assignment_expression "local_394 = 0xdebd" identifier = number_literal) ;) (expression_statement "local_392 = 0x911a7f3759effabc;" (assignment_expression "local_392 = 0x911a7f3759effabc" identifier = number_literal) ;) (expression_statement "local_38a = 0xa61a;" (assignment_expression "local_38a = 0xa61a" identifier = number_literal) ;) (expression_statement "uVar2 = chacha20_prng_start(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_start(local_48a8)" identifier = (call_expression "chacha20_prng_start(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier = (call_expression "chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier (argument_list "(&local_388,0x32,local_48a8)" ( (pointer_expression "&local_388" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_ready(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_ready(local_48a8)" identifier = (call_expression "chacha20_prng_ready(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,10,local_48a8)" identifier (argument_list "(local_218,10,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" identifier = (call_expression "compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" identifier (argument_list "(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" ( identifier , number_literal , (pointer_expression "&local_3a6" & identifier) , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) goto LAB_00186418;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00186418;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier = (call_expression "chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier (argument_list "(&local_388,0x32,local_48a8)" ( (pointer_expression "&local_388" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8)" identifier = (call_expression "chacha20_prng_export(local_348,&local_48b0,local_48a8)" identifier (argument_list "(local_348,&local_48b0,local_48a8)" ( identifier , (pointer_expression "&local_48b0" & identifier) , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" { (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,10,local_48a8)" identifier (argument_list "(local_218,10,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" { (expression_statement "iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" identifier = (call_expression "compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" identifier (argument_list "(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" ( identifier , number_literal , (pointer_expression "&local_39c" & identifier) , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }" { (labeled_statement "LAB_00186418:\n              uVar2 = 5;" statement_identifier : (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;)) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;) })) (expression_statement "uVar2 = chacha20_prng_done(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_done(local_48a8)" identifier = (call_expression "chacha20_prng_done(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8)" identifier = (call_expression "chacha20_prng_import(local_348,local_48b0,local_48a8)" identifier (argument_list "(local_348,local_48b0,local_48a8)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_ready(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_ready(local_48a8)" identifier = (call_expression "chacha20_prng_ready(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" { (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,10,local_48a8)" identifier (argument_list "(local_218,10,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" { (expression_statement "iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3)" identifier = (call_expression "compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3)" identifier (argument_list "(local_218,10,&local_392,10,"CHACHA-PRNG",3)" ( identifier , number_literal , (pointer_expression "&local_392" & identifier) , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }" { (expression_statement "uVar2 = chacha20_prng_done(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_done(local_48a8)" identifier = (call_expression "chacha20_prng_done(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;) })) (goto_statement "goto LAB_00186418;" goto statement_identifier ;) })) })) })) })) })) })) })) (expression_statement "uVar2 = 9;" (assignment_expression "uVar2 = 9" identifier = number_literal) ;) (labeled_statement "LAB_001861f2:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" statement_identifier : (if_statement "if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_20 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_20 == *(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 chacha20_prng_test(void)\n\n{\n  long lVar1;\n  int iVar2;\n  ulong uVar3;\n  long in_FS_OFFSET;\n  ulong dmplen;\n  prng_state st;\n  uchar t1 [10];\n  uchar t2 [10];\n  uchar t3 [10];\n  uchar en [50];\n  uchar dmp [300];\n  uchar out [500];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  builtin_memcpy(en,\n                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"\n                 ,0x32);\n  dmplen = 300;\n  t1[0] = 'Y';\n  t1[1] = 0xb2;\n  t1[2] = '&';\n  t1[3] = 0x95;\n  t1[4] = '+';\n  t1[5] = '\x01';\n  t1[6] = 0x8f;\n  t1[7] = '\x05';\n  t1[8] = 0xbe;\n  t1[9] = 0xd8;\n  t2[0] = 'G';\n  t2[1] = 0xc9;\n  t2[2] = '\r';\n  t2[3] = '\x03';\n  t2[4] = 0xe4;\n  t2[5] = 'u';\n  t2[6] = '4';\n  t2[7] = '\'';\n  t2[8] = 0xbd;\n  t2[9] = 0xde;\n  t3[0] = 0xbc;\n  t3[1] = 0xfa;\n  t3[2] = 0xef;\n  t3[3] = 'Y';\n  t3[4] = '7';\n  t3[5] = '\x7f';\n  t3[6] = '\x1a';\n  t3[7] = 0x91;\n  t3[8] = '\x1a';\n  t3[9] = 0xa6;\n  iVar2 = chacha20_prng_start(&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  iVar2 = chacha20_prng_ready(&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  uVar3 = chacha20_prng_read(out,10,&st);\n  if (uVar3 == 10) {\n    iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1);\n    if (iVar2 != 0) goto LAB_00186418;\n    uVar3 = chacha20_prng_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_001861f2;\n      uVar3 = chacha20_prng_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  iVar2 = 9;\nLAB_001861f2:\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 chacha20_prng_test(void)\n\n{\n  long lVar1;\n  int iVar2;\n  ulong uVar3;\n  long in_FS_OFFSET;\n  ulong dmplen;\n  prng_state st;\n  uchar t1 [10];\n  uchar t2 [10];\n  uchar t3 [10];\n  uchar en [50];\n  uchar dmp [300];\n  uchar out [500];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  builtin_memcpy(en,\n                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"\n                 ,0x32);\n  dmplen = 300;\n  t1[0] = 'Y';\n  t1[1] = 0xb2;\n  t1[2] = '&';\n  t1[3] = 0x95;\n  t1[4] = '+';\n  t1[5] = '\x01';\n  t1[6] = 0x8f;\n  t1[7] = '\x05';\n  t1[8] = 0xbe;\n  t1[9] = 0xd8;\n  t2[0] = 'G';\n  t2[1] = 0xc9;\n  t2[2] = '\r';\n  t2[3] = '\x03';\n  t2[4] = 0xe4;\n  t2[5] = 'u';\n  t2[6] = '4';\n  t2[7] = '\'';\n  t2[8] = 0xbd;\n  t2[9] = 0xde;\n  t3[0] = 0xbc;\n  t3[1] = 0xfa;\n  t3[2] = 0xef;\n  t3[3] = 'Y';\n  t3[4] = '7';\n  t3[5] = '\x7f';\n  t3[6] = '\x1a';\n  t3[7] = 0x91;\n  t3[8] = '\x1a';\n  t3[9] = 0xa6;\n  iVar2 = chacha20_prng_start(&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  iVar2 = chacha20_prng_ready(&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  uVar3 = chacha20_prng_read(out,10,&st);\n  if (uVar3 == 10) {\n    iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1);\n    if (iVar2 != 0) goto LAB_00186418;\n    uVar3 = chacha20_prng_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_001861f2;\n      uVar3 = chacha20_prng_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  iVar2 = 9;\nLAB_001861f2:\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 "chacha20_prng_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  int iVar2;\n  ulong uVar3;\n  long in_FS_OFFSET;\n  ulong dmplen;\n  prng_state st;\n  uchar t1 [10];\n  uchar t2 [10];\n  uchar t3 [10];\n  uchar en [50];\n  uchar dmp [300];\n  uchar out [500];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  builtin_memcpy(en,\n                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"\n                 ,0x32);\n  dmplen = 300;\n  t1[0] = 'Y';\n  t1[1] = 0xb2;\n  t1[2] = '&';\n  t1[3] = 0x95;\n  t1[4] = '+';\n  t1[5] = '\x01';\n  t1[6] = 0x8f;\n  t1[7] = '\x05';\n  t1[8] = 0xbe;\n  t1[9] = 0xd8;\n  t2[0] = 'G';\n  t2[1] = 0xc9;\n  t2[2] = '\r';\n  t2[3] = '\x03';\n  t2[4] = 0xe4;\n  t2[5] = 'u';\n  t2[6] = '4';\n  t2[7] = '\'';\n  t2[8] = 0xbd;\n  t2[9] = 0xde;\n  t3[0] = 0xbc;\n  t3[1] = 0xfa;\n  t3[2] = 0xef;\n  t3[3] = 'Y';\n  t3[4] = '7';\n  t3[5] = '\x7f';\n  t3[6] = '\x1a';\n  t3[7] = 0x91;\n  t3[8] = '\x1a';\n  t3[9] = 0xa6;\n  iVar2 = chacha20_prng_start(&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  iVar2 = chacha20_prng_ready(&st);\n  if (iVar2 != 0) goto LAB_001861f2;\n  uVar3 = chacha20_prng_read(out,10,&st);\n  if (uVar3 == 10) {\n    iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1);\n    if (iVar2 != 0) goto LAB_00186418;\n    uVar3 = chacha20_prng_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_001861f2;\n      uVar3 = chacha20_prng_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  iVar2 = 9;\nLAB_001861f2:\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 "ulong uVar3;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong dmplen;" type_identifier identifier ;) (declaration "prng_state st;" type_identifier identifier ;) (declaration "uchar t1 [10];" type_identifier (array_declarator "t1 [10]" identifier [ number_literal ]) ;) (declaration "uchar t2 [10];" type_identifier (array_declarator "t2 [10]" identifier [ number_literal ]) ;) (declaration "uchar t3 [10];" type_identifier (array_declarator "t3 [10]" identifier [ number_literal ]) ;) (declaration "uchar en [50];" type_identifier (array_declarator "en [50]" identifier [ number_literal ]) ;) (declaration "uchar dmp [300];" type_identifier (array_declarator "dmp [300]" identifier [ number_literal ]) ;) (declaration "uchar out [500];" type_identifier (array_declarator "out [500]" 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 "builtin_memcpy(en,\n                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"\n                 ,0x32);" (call_expression "builtin_memcpy(en,\n                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"\n                 ,0x32)" identifier (argument_list "(en,\n                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"\n                 ,0x32)" ( identifier , (string_literal ""\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"" " escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))) ;) (expression_statement "dmplen = 300;" (assignment_expression "dmplen = 300" identifier = number_literal) ;) (expression_statement "t1[0] = 'Y';" (assignment_expression "t1[0] = 'Y'" (subscript_expression "t1[0]" identifier [ number_literal ]) = (char_literal "'Y'" ' character ')) ;) (expression_statement "t1[1] = 0xb2;" (assignment_expression "t1[1] = 0xb2" (subscript_expression "t1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[2] = '&';" (assignment_expression "t1[2] = '&'" (subscript_expression "t1[2]" identifier [ number_literal ]) = (char_literal "'&'" ' character ')) ;) (expression_statement "t1[3] = 0x95;" (assignment_expression "t1[3] = 0x95" (subscript_expression "t1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[4] = '+';" (assignment_expression "t1[4] = '+'" (subscript_expression "t1[4]" identifier [ number_literal ]) = (char_literal "'+'" ' character ')) ;) (expression_statement "t1[5] = '\x01';" (assignment_expression "t1[5] = '\x01'" (subscript_expression "t1[5]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "t1[6] = 0x8f;" (assignment_expression "t1[6] = 0x8f" (subscript_expression "t1[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[7] = '\x05';" (assignment_expression "t1[7] = '\x05'" (subscript_expression "t1[7]" identifier [ number_literal ]) = (char_literal "'\x05'" ' escape_sequence ')) ;) (expression_statement "t1[8] = 0xbe;" (assignment_expression "t1[8] = 0xbe" (subscript_expression "t1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[9] = 0xd8;" (assignment_expression "t1[9] = 0xd8" (subscript_expression "t1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[0] = 'G';" (assignment_expression "t2[0] = 'G'" (subscript_expression "t2[0]" identifier [ number_literal ]) = (char_literal "'G'" ' character ')) ;) (expression_statement "t2[1] = 0xc9;" (assignment_expression "t2[1] = 0xc9" (subscript_expression "t2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[2] = '\r';" (assignment_expression "t2[2] = '\r'" (subscript_expression "t2[2]" identifier [ number_literal ]) = (char_literal "'\r'" ' escape_sequence ')) ;) (expression_statement "t2[3] = '\x03';" (assignment_expression "t2[3] = '\x03'" (subscript_expression "t2[3]" identifier [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "t2[4] = 0xe4;" (assignment_expression "t2[4] = 0xe4" (subscript_expression "t2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[5] = 'u';" (assignment_expression "t2[5] = 'u'" (subscript_expression "t2[5]" identifier [ number_literal ]) = (char_literal "'u'" ' character ')) ;) (expression_statement "t2[6] = '4';" (assignment_expression "t2[6] = '4'" (subscript_expression "t2[6]" identifier [ number_literal ]) = (char_literal "'4'" ' character ')) ;) (expression_statement "t2[7] = '\'';" (assignment_expression "t2[7] = '\''" (subscript_expression "t2[7]" identifier [ number_literal ]) = (char_literal "'\''" ' escape_sequence ')) ;) (expression_statement "t2[8] = 0xbd;" (assignment_expression "t2[8] = 0xbd" (subscript_expression "t2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[9] = 0xde;" (assignment_expression "t2[9] = 0xde" (subscript_expression "t2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[0] = 0xbc;" (assignment_expression "t3[0] = 0xbc" (subscript_expression "t3[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[1] = 0xfa;" (assignment_expression "t3[1] = 0xfa" (subscript_expression "t3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[2] = 0xef;" (assignment_expression "t3[2] = 0xef" (subscript_expression "t3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[3] = 'Y';" (assignment_expression "t3[3] = 'Y'" (subscript_expression "t3[3]" identifier [ number_literal ]) = (char_literal "'Y'" ' character ')) ;) (expression_statement "t3[4] = '7';" (assignment_expression "t3[4] = '7'" (subscript_expression "t3[4]" identifier [ number_literal ]) = (char_literal "'7'" ' character ')) ;) (expression_statement "t3[5] = '\x7f';" (assignment_expression "t3[5] = '\x7f'" (subscript_expression "t3[5]" identifier [ number_literal ]) = (char_literal "'\x7f'" ' escape_sequence ')) ;) (expression_statement "t3[6] = '\x1a';" (assignment_expression "t3[6] = '\x1a'" (subscript_expression "t3[6]" identifier [ number_literal ]) = (char_literal "'\x1a'" ' escape_sequence ')) ;) (expression_statement "t3[7] = 0x91;" (assignment_expression "t3[7] = 0x91" (subscript_expression "t3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[8] = '\x1a';" (assignment_expression "t3[8] = '\x1a'" (subscript_expression "t3[8]" identifier [ number_literal ]) = (char_literal "'\x1a'" ' escape_sequence ')) ;) (expression_statement "t3[9] = 0xa6;" (assignment_expression "t3[9] = 0xa6" (subscript_expression "t3[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar2 = chacha20_prng_start(&st);" (assignment_expression "iVar2 = chacha20_prng_start(&st)" identifier = (call_expression "chacha20_prng_start(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "iVar2 = chacha20_prng_add_entropy(en,0x32,&st);" (assignment_expression "iVar2 = chacha20_prng_add_entropy(en,0x32,&st)" identifier = (call_expression "chacha20_prng_add_entropy(en,0x32,&st)" identifier (argument_list "(en,0x32,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "iVar2 = chacha20_prng_ready(&st);" (assignment_expression "iVar2 = chacha20_prng_ready(&st)" identifier = (call_expression "chacha20_prng_ready(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "uVar3 = chacha20_prng_read(out,10,&st);" (assignment_expression "uVar3 = chacha20_prng_read(out,10,&st)" identifier = (call_expression "chacha20_prng_read(out,10,&st)" identifier (argument_list "(out,10,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 10) {\n    iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1);\n    if (iVar2 != 0) goto LAB_00186418;\n    uVar3 = chacha20_prng_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_001861f2;\n      uVar3 = chacha20_prng_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(uVar3 == 10)" ( (binary_expression "uVar3 == 10" identifier == number_literal) )) (compound_statement "{\n    iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1);\n    if (iVar2 != 0) goto LAB_00186418;\n    uVar3 = chacha20_prng_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_001861f2;\n      uVar3 = chacha20_prng_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1);" (assignment_expression "iVar2 = compare_testvector(out,10,t1,10,"CHACHA-PRNG",1)" identifier = (call_expression "compare_testvector(out,10,t1,10,"CHACHA-PRNG",1)" identifier (argument_list "(out,10,t1,10,"CHACHA-PRNG",1)" ( identifier , number_literal , identifier , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00186418;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00186418;" goto statement_identifier ;)) (expression_statement "uVar3 = chacha20_prng_read(out,500,&st);" (assignment_expression "uVar3 = chacha20_prng_read(out,500,&st)" identifier = (call_expression "chacha20_prng_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_001861f2;\n      uVar3 = chacha20_prng_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n      iVar2 = chacha20_prng_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_001861f2;\n      uVar3 = chacha20_prng_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar2 = chacha20_prng_add_entropy(en,0x32,&st);" (assignment_expression "iVar2 = chacha20_prng_add_entropy(en,0x32,&st)" identifier = (call_expression "chacha20_prng_add_entropy(en,0x32,&st)" identifier (argument_list "(en,0x32,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "uVar3 = chacha20_prng_read(out,500,&st);" (assignment_expression "uVar3 = chacha20_prng_read(out,500,&st)" identifier = (call_expression "chacha20_prng_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n        iVar2 = chacha20_prng_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_001861f2;\n        uVar3 = chacha20_prng_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = chacha20_prng_export(dmp,&dmplen,&st);" (assignment_expression "iVar2 = chacha20_prng_export(dmp,&dmplen,&st)" identifier = (call_expression "chacha20_prng_export(dmp,&dmplen,&st)" identifier (argument_list "(dmp,&dmplen,&st)" ( identifier , (pointer_expression "&dmplen" & identifier) , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "uVar3 = chacha20_prng_read(out,500,&st);" (assignment_expression "uVar3 = chacha20_prng_read(out,500,&st)" identifier = (call_expression "chacha20_prng_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n          uVar3 = chacha20_prng_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" { (expression_statement "uVar3 = chacha20_prng_read(out,10,&st);" (assignment_expression "uVar3 = chacha20_prng_read(out,10,&st)" identifier = (call_expression "chacha20_prng_read(out,10,&st)" identifier (argument_list "(out,10,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" if (parenthesized_expression "(uVar3 == 10)" ( (binary_expression "uVar3 == 10" identifier == number_literal) )) (compound_statement "{\n            iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }\n            iVar2 = chacha20_prng_done(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            iVar2 = chacha20_prng_ready(&st);\n            if (iVar2 != 0) goto LAB_001861f2;\n            uVar3 = chacha20_prng_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" { (expression_statement "iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2);" (assignment_expression "iVar2 = compare_testvector(out,10,t2,10,"CHACHA-PRNG",2)" identifier = (call_expression "compare_testvector(out,10,t2,10,"CHACHA-PRNG",2)" identifier (argument_list "(out,10,t2,10,"CHACHA-PRNG",2)" ( identifier , number_literal , identifier , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00186418:\n              iVar2 = 5;\n              goto LAB_001861f2;\n            }" { (labeled_statement "LAB_00186418:\n              iVar2 = 5;" statement_identifier : (expression_statement "iVar2 = 5;" (assignment_expression "iVar2 = 5" identifier = number_literal) ;)) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;) })) (expression_statement "iVar2 = chacha20_prng_done(&st);" (assignment_expression "iVar2 = chacha20_prng_done(&st)" identifier = (call_expression "chacha20_prng_done(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "iVar2 = chacha20_prng_import(dmp,dmplen,&st);" (assignment_expression "iVar2 = chacha20_prng_import(dmp,dmplen,&st)" identifier = (call_expression "chacha20_prng_import(dmp,dmplen,&st)" identifier (argument_list "(dmp,dmplen,&st)" ( identifier , identifier , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "iVar2 = chacha20_prng_ready(&st);" (assignment_expression "iVar2 = chacha20_prng_ready(&st)" identifier = (call_expression "chacha20_prng_ready(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001861f2;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;)) (expression_statement "uVar3 = chacha20_prng_read(out,500,&st);" (assignment_expression "uVar3 = chacha20_prng_read(out,500,&st)" identifier = (call_expression "chacha20_prng_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n              uVar3 = chacha20_prng_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" { (expression_statement "uVar3 = chacha20_prng_read(out,10,&st);" (assignment_expression "uVar3 = chacha20_prng_read(out,10,&st)" identifier = (call_expression "chacha20_prng_read(out,10,&st)" identifier (argument_list "(out,10,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" if (parenthesized_expression "(uVar3 == 10)" ( (binary_expression "uVar3 == 10" identifier == number_literal) )) (compound_statement "{\n                iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" { (expression_statement "iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3);" (assignment_expression "iVar2 = compare_testvector(out,10,t3,10,"CHACHA-PRNG",3)" identifier = (call_expression "compare_testvector(out,10,t3,10,"CHACHA-PRNG",3)" identifier (argument_list "(out,10,t3,10,"CHACHA-PRNG",3)" ( identifier , number_literal , identifier , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar2 = chacha20_prng_done(&st);\n                  goto LAB_001861f2;\n                }" { (expression_statement "iVar2 = chacha20_prng_done(&st);" (assignment_expression "iVar2 = chacha20_prng_done(&st)" identifier = (call_expression "chacha20_prng_done(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;) })) (goto_statement "goto LAB_00186418;" goto statement_identifier ;) })) })) })) })) })) })) })) (expression_statement "iVar2 = 9;" (assignment_expression "iVar2 = 9" identifier = number_literal) ;) (labeled_statement "LAB_001861f2:\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 chacha20_prng_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 chacha20_prng_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" type_identifier (function_declarator "chacha20_prng_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(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 lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_48b0;" type_identifier identifier ;) (declaration "undefined1 local_48a8 [17666];" type_identifier (array_declarator "local_48a8 [17666]" identifier [ number_literal ]) ;) (declaration "undefined8 local_3a6;" type_identifier identifier ;) (declaration "undefined2 local_39e;" type_identifier identifier ;) (declaration "undefined8 local_39c;" type_identifier identifier ;) (declaration "undefined2 local_394;" type_identifier identifier ;) (declaration "undefined8 local_392;" type_identifier identifier ;) (declaration "undefined2 local_38a;" type_identifier identifier ;) (declaration "undefined8 local_388;" type_identifier identifier ;) (declaration "undefined8 local_380;" type_identifier identifier ;) (declaration "undefined8 local_378;" type_identifier identifier ;) (declaration "undefined8 local_370;" type_identifier identifier ;) (declaration "undefined8 local_368;" type_identifier identifier ;) (declaration "undefined8 local_360;" type_identifier identifier ;) (declaration "undefined2 local_358;" type_identifier identifier ;) (declaration "undefined1 local_348 [304];" type_identifier (array_declarator "local_348 [304]" identifier [ number_literal ]) ;) (declaration "undefined1 local_218 [504];" type_identifier (array_declarator "local_218 [504]" identifier [ number_literal ]) ;) (declaration "long local_20;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(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_370 = 0x201f1e1d1c1b1a19;" (assignment_expression "local_370 = 0x201f1e1d1c1b1a19" identifier = number_literal) ;) (expression_statement "local_388 = 0x807060504030201;" (assignment_expression "local_388 = 0x807060504030201" identifier = number_literal) ;) (expression_statement "local_360 = 0x302f2e2d2c2b2a29;" (assignment_expression "local_360 = 0x302f2e2d2c2b2a29" identifier = number_literal) ;) (expression_statement "local_380 = 0x100f0e0d0c0b0a09;" (assignment_expression "local_380 = 0x100f0e0d0c0b0a09" identifier = number_literal) ;) (expression_statement "local_378 = 0x1817161514131211;" (assignment_expression "local_378 = 0x1817161514131211" identifier = number_literal) ;) (expression_statement "local_368 = 0x2827262524232221;" (assignment_expression "local_368 = 0x2827262524232221" identifier = number_literal) ;) (expression_statement "local_358 = 0x3231;" (assignment_expression "local_358 = 0x3231" identifier = number_literal) ;) (expression_statement "local_48b0 = 300;" (assignment_expression "local_48b0 = 300" identifier = number_literal) ;) (expression_statement "local_3a6 = 0x58f012b9526b259;" (assignment_expression "local_3a6 = 0x58f012b9526b259" identifier = number_literal) ;) (expression_statement "local_39e = 0xd8be;" (assignment_expression "local_39e = 0xd8be" identifier = number_literal) ;) (expression_statement "local_39c = 0x273475e4030dc947;" (assignment_expression "local_39c = 0x273475e4030dc947" identifier = number_literal) ;) (expression_statement "local_394 = 0xdebd;" (assignment_expression "local_394 = 0xdebd" identifier = number_literal) ;) (expression_statement "local_392 = 0x911a7f3759effabc;" (assignment_expression "local_392 = 0x911a7f3759effabc" identifier = number_literal) ;) (expression_statement "local_38a = 0xa61a;" (assignment_expression "local_38a = 0xa61a" identifier = number_literal) ;) (expression_statement "uVar2 = chacha20_prng_start(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_start(local_48a8)" identifier = (call_expression "chacha20_prng_start(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier = (call_expression "chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier (argument_list "(&local_388,0x32,local_48a8)" ( (pointer_expression "&local_388" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_ready(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_ready(local_48a8)" identifier = (call_expression "chacha20_prng_ready(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,10,local_48a8)" identifier (argument_list "(local_218,10,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" identifier = (call_expression "compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" identifier (argument_list "(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" ( identifier , number_literal , (pointer_expression "&local_3a6" & identifier) , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) goto LAB_00186418;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00186418;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier = (call_expression "chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" identifier (argument_list "(&local_388,0x32,local_48a8)" ( (pointer_expression "&local_388" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8)" identifier = (call_expression "chacha20_prng_export(local_348,&local_48b0,local_48a8)" identifier (argument_list "(local_348,&local_48b0,local_48a8)" ( identifier , (pointer_expression "&local_48b0" & identifier) , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" { (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,10,local_48a8)" identifier (argument_list "(local_218,10,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" { (expression_statement "iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" identifier = (call_expression "compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" identifier (argument_list "(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" ( identifier , number_literal , (pointer_expression "&local_39c" & identifier) , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }" { (labeled_statement "LAB_00186418:\n              uVar2 = 5;" statement_identifier : (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;)) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;) })) (expression_statement "uVar2 = chacha20_prng_done(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_done(local_48a8)" identifier = (call_expression "chacha20_prng_done(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8)" identifier = (call_expression "chacha20_prng_import(local_348,local_48b0,local_48a8)" identifier (argument_list "(local_348,local_48b0,local_48a8)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "uVar2 = chacha20_prng_ready(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_ready(local_48a8)" identifier = (call_expression "chacha20_prng_ready(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" 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_001861f2;" goto statement_identifier ;)) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,500,local_48a8)" identifier (argument_list "(local_218,500,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" { (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" identifier = (call_expression "chacha20_prng_read(local_218,10,local_48a8)" identifier (argument_list "(local_218,10,local_48a8)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" { (expression_statement "iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3)" identifier = (call_expression "compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3)" identifier (argument_list "(local_218,10,&local_392,10,"CHACHA-PRNG",3)" ( identifier , number_literal , (pointer_expression "&local_392" & identifier) , number_literal , (string_literal ""CHACHA-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }" { (expression_statement "uVar2 = chacha20_prng_done(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_done(local_48a8)" identifier = (call_expression "chacha20_prng_done(local_48a8)" identifier (argument_list "(local_48a8)" ( identifier )))) ;) (goto_statement "goto LAB_001861f2;" goto statement_identifier ;) })) (goto_statement "goto LAB_00186418;" goto statement_identifier ;) })) })) })) })) })) })) })) (expression_statement "uVar2 = 9;" (assignment_expression "uVar2 = 9" identifier = number_literal) ;) (labeled_statement "LAB_001861f2:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" statement_identifier : (if_statement "if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" if (parenthesized_expression "(local_20 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_20 == *(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 (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 IDENT ;) (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 (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 = 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 = (call_expression IDENT (argument_list ( 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 ( (pointer_expression & IDENT) , LIT , 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 )))) ;) (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 , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , LIT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , 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 , LIT , IDENT )))) ;) (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) , 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 , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , LIT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 , 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 )))) ;) (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 , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (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 )))) ;) (goto_statement goto statement_identifier ;) })) (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 chacha20_prng_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" (type_identifier "undefined8") (function_declarator "chacha20_prng_test(void)" (identifier "chacha20_prng_test") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_48b0;\n  undefined1 local_48a8 [17666];\n  undefined8 local_3a6;\n  undefined2 local_39e;\n  undefined8 local_39c;\n  undefined2 local_394;\n  undefined8 local_392;\n  undefined2 local_38a;\n  undefined8 local_388;\n  undefined8 local_380;\n  undefined8 local_378;\n  undefined8 local_370;\n  undefined8 local_368;\n  undefined8 local_360;\n  undefined2 local_358;\n  undefined1 local_348 [304];\n  undefined1 local_218 [504];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_370 = 0x201f1e1d1c1b1a19;\n  local_388 = 0x807060504030201;\n  local_360 = 0x302f2e2d2c2b2a29;\n  local_380 = 0x100f0e0d0c0b0a09;\n  local_378 = 0x1817161514131211;\n  local_368 = 0x2827262524232221;\n  local_358 = 0x3231;\n  local_48b0 = 300;\n  local_3a6 = 0x58f012b9526b259;\n  local_39e = 0xd8be;\n  local_39c = 0x273475e4030dc947;\n  local_394 = 0xdebd;\n  local_392 = 0x911a7f3759effabc;\n  local_38a = 0xa61a;\n  uVar2 = chacha20_prng_start(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  uVar2 = chacha20_prng_ready(local_48a8);\n  if ((int)uVar2 != 0) goto LAB_001861f2;\n  lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_001861f2:\n  if (local_20 == *(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 lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "undefined8 local_48b0;" (type_identifier "undefined8") (identifier "local_48b0") (; ";")) (declaration "undefined1 local_48a8 [17666];" (type_identifier "undefined1") (array_declarator "local_48a8 [17666]" (identifier "local_48a8") ([ "[") (number_literal "17666") (] "]")) (; ";")) (declaration "undefined8 local_3a6;" (type_identifier "undefined8") (identifier "local_3a6") (; ";")) (declaration "undefined2 local_39e;" (type_identifier "undefined2") (identifier "local_39e") (; ";")) (declaration "undefined8 local_39c;" (type_identifier "undefined8") (identifier "local_39c") (; ";")) (declaration "undefined2 local_394;" (type_identifier "undefined2") (identifier "local_394") (; ";")) (declaration "undefined8 local_392;" (type_identifier "undefined8") (identifier "local_392") (; ";")) (declaration "undefined2 local_38a;" (type_identifier "undefined2") (identifier "local_38a") (; ";")) (declaration "undefined8 local_388;" (type_identifier "undefined8") (identifier "local_388") (; ";")) (declaration "undefined8 local_380;" (type_identifier "undefined8") (identifier "local_380") (; ";")) (declaration "undefined8 local_378;" (type_identifier "undefined8") (identifier "local_378") (; ";")) (declaration "undefined8 local_370;" (type_identifier "undefined8") (identifier "local_370") (; ";")) (declaration "undefined8 local_368;" (type_identifier "undefined8") (identifier "local_368") (; ";")) (declaration "undefined8 local_360;" (type_identifier "undefined8") (identifier "local_360") (; ";")) (declaration "undefined2 local_358;" (type_identifier "undefined2") (identifier "local_358") (; ";")) (declaration "undefined1 local_348 [304];" (type_identifier "undefined1") (array_declarator "local_348 [304]" (identifier "local_348") ([ "[") (number_literal "304") (] "]")) (; ";")) (declaration "undefined1 local_218 [504];" (type_identifier "undefined1") (array_declarator "local_218 [504]" (identifier "local_218") ([ "[") (number_literal "504") (] "]")) (; ";")) (declaration "long local_20;" (sized_type_specifier "long" (long "long")) (identifier "local_20") (; ";")) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_20") (= "=") (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_370 = 0x201f1e1d1c1b1a19;" (assignment_expression "local_370 = 0x201f1e1d1c1b1a19" (identifier "local_370") (= "=") (number_literal "0x201f1e1d1c1b1a19")) (; ";")) (expression_statement "local_388 = 0x807060504030201;" (assignment_expression "local_388 = 0x807060504030201" (identifier "local_388") (= "=") (number_literal "0x807060504030201")) (; ";")) (expression_statement "local_360 = 0x302f2e2d2c2b2a29;" (assignment_expression "local_360 = 0x302f2e2d2c2b2a29" (identifier "local_360") (= "=") (number_literal "0x302f2e2d2c2b2a29")) (; ";")) (expression_statement "local_380 = 0x100f0e0d0c0b0a09;" (assignment_expression "local_380 = 0x100f0e0d0c0b0a09" (identifier "local_380") (= "=") (number_literal "0x100f0e0d0c0b0a09")) (; ";")) (expression_statement "local_378 = 0x1817161514131211;" (assignment_expression "local_378 = 0x1817161514131211" (identifier "local_378") (= "=") (number_literal "0x1817161514131211")) (; ";")) (expression_statement "local_368 = 0x2827262524232221;" (assignment_expression "local_368 = 0x2827262524232221" (identifier "local_368") (= "=") (number_literal "0x2827262524232221")) (; ";")) (expression_statement "local_358 = 0x3231;" (assignment_expression "local_358 = 0x3231" (identifier "local_358") (= "=") (number_literal "0x3231")) (; ";")) (expression_statement "local_48b0 = 300;" (assignment_expression "local_48b0 = 300" (identifier "local_48b0") (= "=") (number_literal "300")) (; ";")) (expression_statement "local_3a6 = 0x58f012b9526b259;" (assignment_expression "local_3a6 = 0x58f012b9526b259" (identifier "local_3a6") (= "=") (number_literal "0x58f012b9526b259")) (; ";")) (expression_statement "local_39e = 0xd8be;" (assignment_expression "local_39e = 0xd8be" (identifier "local_39e") (= "=") (number_literal "0xd8be")) (; ";")) (expression_statement "local_39c = 0x273475e4030dc947;" (assignment_expression "local_39c = 0x273475e4030dc947" (identifier "local_39c") (= "=") (number_literal "0x273475e4030dc947")) (; ";")) (expression_statement "local_394 = 0xdebd;" (assignment_expression "local_394 = 0xdebd" (identifier "local_394") (= "=") (number_literal "0xdebd")) (; ";")) (expression_statement "local_392 = 0x911a7f3759effabc;" (assignment_expression "local_392 = 0x911a7f3759effabc" (identifier "local_392") (= "=") (number_literal "0x911a7f3759effabc")) (; ";")) (expression_statement "local_38a = 0xa61a;" (assignment_expression "local_38a = 0xa61a" (identifier "local_38a") (= "=") (number_literal "0xa61a")) (; ";")) (expression_statement "uVar2 = chacha20_prng_start(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_start(local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_start(local_48a8)" (identifier "chacha20_prng_start") (argument_list "(local_48a8)" (( "(") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" (identifier "chacha20_prng_add_entropy") (argument_list "(&local_388,0x32,local_48a8)" (( "(") (pointer_expression "&local_388" (& "&") (identifier "local_388")) (, ",") (number_literal "0x32") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "uVar2 = chacha20_prng_ready(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_ready(local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_ready(local_48a8)" (identifier "chacha20_prng_ready") (argument_list "(local_48a8)" (( "(") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" (identifier "lVar3") (= "=") (call_expression "chacha20_prng_read(local_218,10,local_48a8)" (identifier "chacha20_prng_read") (argument_list "(local_218,10,local_48a8)" (( "(") (identifier "local_218") (, ",") (number_literal "10") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(lVar3 == 10)" (( "(") (binary_expression "lVar3 == 10" (identifier "lVar3") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);\n    if (iVar1 != 0) goto LAB_00186418;\n    lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n    if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" (identifier "compare_testvector") (argument_list "(local_218,10,&local_3a6,10,"CHACHA-PRNG",1)" (( "(") (identifier "local_218") (, ",") (number_literal "10") (, ",") (pointer_expression "&local_3a6" (& "&") (identifier "local_3a6")) (, ",") (number_literal "10") (, ",") (string_literal ""CHACHA-PRNG"" (" """) (string_content "CHACHA-PRNG") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) goto LAB_00186418;" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00186418;" (goto "goto") (statement_identifier "LAB_00186418") (; ";"))) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" (identifier "lVar3") (= "=") (call_expression "chacha20_prng_read(local_218,500,local_48a8)" (identifier "chacha20_prng_read") (argument_list "(local_218,500,local_48a8)" (( "(") (identifier "local_218") (, ",") (number_literal "500") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "(lVar3 == 500)" (( "(") (binary_expression "lVar3 == 500" (identifier "lVar3") (== "==") (number_literal "500")) () ")")) (compound_statement "{\n      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);\n      if ((int)uVar2 != 0) goto LAB_001861f2;\n      lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n      if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_add_entropy(&local_388,0x32,local_48a8)" (identifier "chacha20_prng_add_entropy") (argument_list "(&local_388,0x32,local_48a8)" (( "(") (pointer_expression "&local_388" (& "&") (identifier "local_388")) (, ",") (number_literal "0x32") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" (identifier "lVar3") (= "=") (call_expression "chacha20_prng_read(local_218,500,local_48a8)" (identifier "chacha20_prng_read") (argument_list "(local_218,500,local_48a8)" (( "(") (identifier "local_218") (, ",") (number_literal "500") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(lVar3 == 500)" (( "(") (binary_expression "lVar3 == 500" (identifier "lVar3") (== "==") (number_literal "500")) () ")")) (compound_statement "{\n        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);\n        if ((int)uVar2 != 0) goto LAB_001861f2;\n        lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n        if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_export(local_348,&local_48b0,local_48a8)" (identifier "chacha20_prng_export") (argument_list "(local_348,&local_48b0,local_48a8)" (( "(") (identifier "local_348") (, ",") (pointer_expression "&local_48b0" (& "&") (identifier "local_48b0")) (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" (identifier "lVar3") (= "=") (call_expression "chacha20_prng_read(local_218,500,local_48a8)" (identifier "chacha20_prng_read") (argument_list "(local_218,500,local_48a8)" (( "(") (identifier "local_218") (, ",") (number_literal "500") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(lVar3 == 500)" (( "(") (binary_expression "lVar3 == 500" (identifier "lVar3") (== "==") (number_literal "500")) () ")")) (compound_statement "{\n          lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" (identifier "lVar3") (= "=") (call_expression "chacha20_prng_read(local_218,10,local_48a8)" (identifier "chacha20_prng_read") (argument_list "(local_218,10,local_48a8)" (( "(") (identifier "local_218") (, ",") (number_literal "10") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(lVar3 == 10)" (( "(") (binary_expression "lVar3 == 10" (identifier "lVar3") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }\n            uVar2 = chacha20_prng_done(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            uVar2 = chacha20_prng_ready(local_48a8);\n            if ((int)uVar2 != 0) goto LAB_001861f2;\n            lVar3 = chacha20_prng_read(local_218,500,local_48a8);\n            if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" (identifier "compare_testvector") (argument_list "(local_218,10,&local_39c,10,"CHACHA-PRNG",2)" (( "(") (identifier "local_218") (, ",") (number_literal "10") (, ",") (pointer_expression "&local_39c" (& "&") (identifier "local_39c")) (, ",") (number_literal "10") (, ",") (string_literal ""CHACHA-PRNG"" (" """) (string_content "CHACHA-PRNG") (" """)) (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00186418:\n              uVar2 = 5;\n              goto LAB_001861f2;\n            }" ({ "{") (labeled_statement "LAB_00186418:\n              uVar2 = 5;" (statement_identifier "LAB_00186418") (: ":") (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" (identifier "uVar2") (= "=") (number_literal "5")) (; ";"))) (goto_statement "goto LAB_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";")) (} "}"))) (expression_statement "uVar2 = chacha20_prng_done(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_done(local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_done(local_48a8)" (identifier "chacha20_prng_done") (argument_list "(local_48a8)" (( "(") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);" (assignment_expression "uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_import(local_348,local_48b0,local_48a8)" (identifier "chacha20_prng_import") (argument_list "(local_348,local_48b0,local_48a8)" (( "(") (identifier "local_348") (, ",") (identifier "local_48b0") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "uVar2 = chacha20_prng_ready(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_ready(local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_ready(local_48a8)" (identifier "chacha20_prng_ready") (argument_list "(local_48a8)" (( "(") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_001861f2;" (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_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";"))) (expression_statement "lVar3 = chacha20_prng_read(local_218,500,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,500,local_48a8)" (identifier "lVar3") (= "=") (call_expression "chacha20_prng_read(local_218,500,local_48a8)" (identifier "chacha20_prng_read") (argument_list "(local_218,500,local_48a8)" (( "(") (identifier "local_218") (, ",") (number_literal "500") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" (if "if") (parenthesized_expression "(lVar3 == 500)" (( "(") (binary_expression "lVar3 == 500" (identifier "lVar3") (== "==") (number_literal "500")) () ")")) (compound_statement "{\n              lVar3 = chacha20_prng_read(local_218,10,local_48a8);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }\n            }" ({ "{") (expression_statement "lVar3 = chacha20_prng_read(local_218,10,local_48a8);" (assignment_expression "lVar3 = chacha20_prng_read(local_218,10,local_48a8)" (identifier "lVar3") (= "=") (call_expression "chacha20_prng_read(local_218,10,local_48a8)" (identifier "chacha20_prng_read") (argument_list "(local_218,10,local_48a8)" (( "(") (identifier "local_218") (, ",") (number_literal "10") (, ",") (identifier "local_48a8") () ")")))) (; ";")) (if_statement "if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" (if "if") (parenthesized_expression "(lVar3 == 10)" (( "(") (binary_expression "lVar3 == 10" (identifier "lVar3") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }\n                goto LAB_00186418;\n              }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);" (assignment_expression "iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3)" (identifier "compare_testvector") (argument_list "(local_218,10,&local_392,10,"CHACHA-PRNG",3)" (( "(") (identifier "local_218") (, ",") (number_literal "10") (, ",") (pointer_expression "&local_392" (& "&") (identifier "local_392")) (, ",") (number_literal "10") (, ",") (string_literal ""CHACHA-PRNG"" (" """) (string_content "CHACHA-PRNG") (" """)) (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar2 = chacha20_prng_done(local_48a8);\n                  goto LAB_001861f2;\n                }" ({ "{") (expression_statement "uVar2 = chacha20_prng_done(local_48a8);" (assignment_expression "uVar2 = chacha20_prng_done(local_48a8)" (identifier "uVar2") (= "=") (call_expression "chacha20_prng_done(local_48a8)" (identifier "chacha20_prng_done") (argument_list "(local_48a8)" (( "(") (identifier "local_48a8") () ")")))) (; ";")) (goto_statement "goto LAB_001861f2;" (goto "goto") (statement_identifier "LAB_001861f2") (; ";")) (} "}"))) (goto_statement "goto LAB_00186418;" (goto "goto") (statement_identifier "LAB_00186418") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar2 = 9;" (assignment_expression "uVar2 = 9" (identifier "uVar2") (= "=") (number_literal "9")) (; ";")) (labeled_statement "LAB_001861f2:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" (statement_identifier "LAB_001861f2") (: ":") (if_statement "if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" (if "if") (parenthesized_expression "(local_20 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_20 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_20") (== "==") (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_13;
  int var_4;
  type_1 var_8;
  long var_1;
  type_1 dmplen;
  type_2 st;
  type_3 t1 [10];
  type_3 t2 [10];
  type_3 t3 [10];
  type_3 en [50];
  type_3 dmp [300];
  type_3 out [500];
  
  var_13 = *(long *)(var_1 + 0x28);
  var_2(en,
                 "\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./012"
                 ,0x32);
  dmplen = 300;
  t1[0] = 'Y';
  t1[1] = 0xb2;
  t1[2] = '&';
  t1[3] = 0x95;
  t1[4] = '+';
  t1[5] = '\x01';
  t1[6] = 0x8f;
  t1[7] = '\x05';
  t1[8] = 0xbe;
  t1[9] = 0xd8;
  t2[0] = 'G';
  t2[1] = 0xc9;
  t2[2] = '\r';
  t2[3] = '\x03';
  t2[4] = 0xe4;
  t2[5] = 'u';
  t2[6] = '4';
  t2[7] = '\'';
  t2[8] = 0xbd;
  t2[9] = 0xde;
  t3[0] = 0xbc;
  t3[1] = 0xfa;
  t3[2] = 0xef;
  t3[3] = 'Y';
  t3[4] = '7';
  t3[5] = '\x7f';
  t3[6] = '\x1a';
  t3[7] = 0x91;
  t3[8] = '\x1a';
  t3[9] = 0xa6;
  var_4 = var_3(&st);
  if (var_4 != 0) goto LAB_001861f2;
  var_4 = var_5(en,0x32,&st);
  if (var_4 != 0) goto LAB_001861f2;
  var_4 = var_6(&st);
  if (var_4 != 0) goto LAB_001861f2;
  var_8 = var_7(out,10,&st);
  if (var_8 == 10) {
    var_4 = var_9(out,10,t1,10,"CHACHA-PRNG",1);
    if (var_4 != 0) goto LAB_00186418;
    var_8 = var_7(out,500,&st);
    if (var_8 == 500) {
      var_4 = var_5(en,0x32,&st);
      if (var_4 != 0) goto LAB_001861f2;
      var_8 = var_7(out,500,&st);
      if (var_8 == 500) {
        var_4 = var_10(dmp,&dmplen,&st);
        if (var_4 != 0) goto LAB_001861f2;
        var_8 = var_7(out,500,&st);
        if (var_8 == 500) {
          var_8 = var_7(out,10,&st);
          if (var_8 == 10) {
            var_4 = var_9(out,10,t2,10,"CHACHA-PRNG",2);
            if (var_4 != 0) {
LAB_00186418:
              var_4 = 5;
              goto LAB_001861f2;
            }
            var_4 = var_11(&st);
            if (var_4 != 0) goto LAB_001861f2;
            var_4 = var_12(dmp,dmplen,&st);
            if (var_4 != 0) goto LAB_001861f2;
            var_4 = var_6(&st);
            if (var_4 != 0) goto LAB_001861f2;
            var_8 = var_7(out,500,&st);
            if (var_8 == 500) {
              var_8 = var_7(out,10,&st);
              if (var_8 == 10) {
                var_4 = var_9(out,10,t3,10,"CHACHA-PRNG",3);
                if (var_4 == 0) {
                  var_4 = var_11(&st);
                  goto LAB_001861f2;
                }
                goto LAB_00186418;
              }
            }
          }
        }
      }
    }
  }
  var_4 = 9;
LAB_001861f2:
  if (var_13 == *(long *)(var_1 + 0x28)) {
    return var_4;
  }
                    /* WARNING: Subroutine does not return */
  var_14();
}


(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: (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: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (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: (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: (call_expression function: (identifier) arguments: (argument_list (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 (pointer_expression argument: (identifier)) (number_literal) (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))))) (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) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (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) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (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) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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) (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))))) (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) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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))))) (goto_statement label: (statement_identifier)))) (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 lVar3;
  long in_FS_OFFSET;
  undefined8 local_48b0;
  undefined1 local_48a8 [17666];
  undefined8 local_3a6;
  undefined2 local_39e;
  undefined8 local_39c;
  undefined2 local_394;
  undefined8 local_392;
  undefined2 local_38a;
  undefined8 local_388;
  undefined8 local_380;
  undefined8 local_378;
  undefined8 local_370;
  undefined8 local_368;
  undefined8 local_360;
  undefined2 local_358;
  undefined1 local_348 [304];
  undefined1 local_218 [504];
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  local_370 = 0x201f1e1d1c1b1a19;
  local_388 = 0x807060504030201;
  local_360 = 0x302f2e2d2c2b2a29;
  local_380 = 0x100f0e0d0c0b0a09;
  local_378 = 0x1817161514131211;
  local_368 = 0x2827262524232221;
  local_358 = 0x3231;
  local_48b0 = 300;
  local_3a6 = 0x58f012b9526b259;
  local_39e = 0xd8be;
  local_39c = 0x273475e4030dc947;
  local_394 = 0xdebd;
  local_392 = 0x911a7f3759effabc;
  local_38a = 0xa61a;
  uVar2 = chacha20_prng_start(local_48a8);
  if ((int)uVar2 != 0) goto LAB_001861f2;
  uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);
  if ((int)uVar2 != 0) goto LAB_001861f2;
  uVar2 = chacha20_prng_ready(local_48a8);
  if ((int)uVar2 != 0) goto LAB_001861f2;
  lVar3 = chacha20_prng_read(local_218,10,local_48a8);
  if (lVar3 == 10) {
    iVar1 = compare_testvector(local_218,10,&local_3a6,10,"CHACHA-PRNG",1);
    if (iVar1 != 0) goto LAB_00186418;
    lVar3 = chacha20_prng_read(local_218,500,local_48a8);
    if (lVar3 == 500) {
      uVar2 = chacha20_prng_add_entropy(&local_388,0x32,local_48a8);
      if ((int)uVar2 != 0) goto LAB_001861f2;
      lVar3 = chacha20_prng_read(local_218,500,local_48a8);
      if (lVar3 == 500) {
        uVar2 = chacha20_prng_export(local_348,&local_48b0,local_48a8);
        if ((int)uVar2 != 0) goto LAB_001861f2;
        lVar3 = chacha20_prng_read(local_218,500,local_48a8);
        if (lVar3 == 500) {
          lVar3 = chacha20_prng_read(local_218,10,local_48a8);
          if (lVar3 == 10) {
            iVar1 = compare_testvector(local_218,10,&local_39c,10,"CHACHA-PRNG",2);
            if (iVar1 != 0) {
LAB_00186418:
              uVar2 = 5;
              goto LAB_001861f2;
            }
            uVar2 = chacha20_prng_done(local_48a8);
            if ((int)uVar2 != 0) goto LAB_001861f2;
            uVar2 = chacha20_prng_import(local_348,local_48b0,local_48a8);
            if ((int)uVar2 != 0) goto LAB_001861f2;
            uVar2 = chacha20_prng_ready(local_48a8);
            if ((int)uVar2 != 0) goto LAB_001861f2;
            lVar3 = chacha20_prng_read(local_218,500,local_48a8);
            if (lVar3 == 500) {
              lVar3 = chacha20_prng_read(local_218,10,local_48a8);
              if (lVar3 == 10) {
                iVar1 = compare_testvector(local_218,10,&local_392,10,"CHACHA-PRNG",3);
                if (iVar1 == 0) {
                  uVar2 = chacha20_prng_done(local_48a8);
                  goto LAB_001861f2;
                }
                goto LAB_00186418;
              }
            }
          }
        }
      }
    }
  }
  uVar2 = 9;
LAB_001861f2:
  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

