
/* WARNING: Unknown calling convention */

int rc4_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 [500];
  uchar out [1000];
  
  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 = 500;
  t1[0] = 0xe0;
  t1[1] = 'M';
  t1[2] = 0x9a;
  t1[3] = 0xf6;
  t1[4] = 0xa8;
  t1[5] = 0x9d;
  t1[6] = 'w';
  t1[7] = 'S';
  t1[8] = 0xae;
  t1[9] = '\t';
  t2[0] = 0xef;
  t2[1] = 0x80;
  t2[2] = 0xa2;
  t2[3] = 0xe6;
  t2[4] = 'P';
  t2[5] = 0x91;
  t2[6] = 0xf3;
  t2[7] = '\x17';
  t2[8] = 'J';
  t2[9] = 0x8a;
  t3[0] = 'K';
  t3[1] = 0xd6;
  t3[2] = '\\';
  t3[3] = 'g';
  t3[4] = 0x99;
  t3[5] = '\x03';
  t3[6] = 'V';
  t3[7] = '\x12';
  t3[8] = 0x80;
  t3[9] = 'H';
  iVar2 = rc4_start(&st);
  if (iVar2 != 0) goto LAB_00188212;
  iVar2 = rc4_add_entropy(en,0x32,&st);
  if (iVar2 != 0) goto LAB_00188212;
  iVar2 = rc4_ready(&st);
  if (iVar2 != 0) goto LAB_00188212;
  uVar3 = rc4_read(out,10,&st);
  if (uVar3 == 10) {
    iVar2 = compare_testvector(out,10,t1,10,"RC4-PRNG",1);
    if (iVar2 != 0) goto LAB_00188438;
    uVar3 = rc4_read(out,500,&st);
    if (uVar3 == 500) {
      iVar2 = rc4_add_entropy(en,0x32,&st);
      if (iVar2 != 0) goto LAB_00188212;
      uVar3 = rc4_read(out,500,&st);
      if (uVar3 == 500) {
        iVar2 = rc4_export(dmp,&dmplen,&st);
        if (iVar2 != 0) goto LAB_00188212;
        uVar3 = rc4_read(out,500,&st);
        if (uVar3 == 500) {
          uVar3 = rc4_read(out,10,&st);
          if (uVar3 == 10) {
            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);
            if (iVar2 != 0) {
LAB_00188438:
              iVar2 = 5;
              goto LAB_00188212;
            }
            iVar2 = rc4_done(&st);
            if (iVar2 != 0) goto LAB_00188212;
            iVar2 = rc4_import(dmp,dmplen,&st);
            if (iVar2 != 0) goto LAB_00188212;
            iVar2 = rc4_ready(&st);
            if (iVar2 != 0) goto LAB_00188212;
            uVar3 = rc4_read(out,500,&st);
            if (uVar3 == 500) {
              uVar3 = rc4_read(out,10,&st);
              if (uVar3 == 10) {
                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);
                if (iVar2 == 0) {
                  iVar2 = rc4_done(&st);
                  goto LAB_00188212;
                }
                goto LAB_00188438;
              }
            }
          }
        }
      }
    }
  }
  iVar2 = 9;
LAB_00188212:
  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



undefined8 rc4_test(void)

{
  int iVar1;
  undefined8 uVar2;
  long lVar3;
  long in_FS_OFFSET;
  undefined8 local_4b70;
  undefined1 local_4b68 [17666];
  undefined8 local_666;
  undefined2 local_65e;
  undefined8 local_65c;
  undefined2 local_654;
  undefined8 local_652;
  undefined2 local_64a;
  undefined8 local_648;
  undefined8 local_640;
  undefined8 local_638;
  undefined8 local_630;
  undefined8 local_628;
  undefined8 local_620;
  undefined2 local_618;
  undefined1 local_608 [512];
  undefined1 local_408 [1000];
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  local_630 = 0x201f1e1d1c1b1a19;
  local_648 = 0x807060504030201;
  local_620 = 0x302f2e2d2c2b2a29;
  local_640 = 0x100f0e0d0c0b0a09;
  local_638 = 0x1817161514131211;
  local_628 = 0x2827262524232221;
  local_618 = 0x3231;
  local_4b70 = 500;
  local_666 = 0x53779da8f69a4de0;
  local_65e = 0x9ae;
  local_65c = 0x17f39150e6a280ef;
  local_654 = 0x8a4a;
  local_652 = 0x12560399675cd64b;
  local_64a = 0x4880;
  uVar2 = rc4_start(local_4b68);
  if ((int)uVar2 != 0) goto LAB_00188212;
  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);
  if ((int)uVar2 != 0) goto LAB_00188212;
  uVar2 = rc4_ready(local_4b68);
  if ((int)uVar2 != 0) goto LAB_00188212;
  lVar3 = rc4_read(local_408,10,local_4b68);
  if (lVar3 == 10) {
    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);
    if (iVar1 != 0) goto LAB_00188438;
    lVar3 = rc4_read(local_408,500,local_4b68);
    if (lVar3 == 500) {
      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);
      if ((int)uVar2 != 0) goto LAB_00188212;
      lVar3 = rc4_read(local_408,500,local_4b68);
      if (lVar3 == 500) {
        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);
        if ((int)uVar2 != 0) goto LAB_00188212;
        lVar3 = rc4_read(local_408,500,local_4b68);
        if (lVar3 == 500) {
          lVar3 = rc4_read(local_408,10,local_4b68);
          if (lVar3 == 10) {
            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);
            if (iVar1 != 0) {
LAB_00188438:
              uVar2 = 5;
              goto LAB_00188212;
            }
            uVar2 = rc4_done(local_4b68);
            if ((int)uVar2 != 0) goto LAB_00188212;
            uVar2 = rc4_import(local_608,local_4b70,local_4b68);
            if ((int)uVar2 != 0) goto LAB_00188212;
            uVar2 = rc4_ready(local_4b68);
            if ((int)uVar2 != 0) goto LAB_00188212;
            lVar3 = rc4_read(local_408,500,local_4b68);
            if (lVar3 == 500) {
              lVar3 = rc4_read(local_408,10,local_4b68);
              if (lVar3 == 10) {
                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);
                if (iVar1 == 0) {
                  uVar2 = rc4_done(local_4b68);
                  goto LAB_00188212;
                }
                goto LAB_00188438;
              }
            }
          }
        }
      }
    }
  }
  uVar2 = 9;
LAB_00188212:
  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH R12
MOV R9D,0x9ae
MOV RDI,0x302f2e2d2c2b2a29
MOV RDX,0x100f0e0d0c0b0a09
PUSH RBP
MOV R11D,0xffff8a4a
MOV RCX,0x1817161514131211
MOV RSI,0x2827262524232221
MOV R8,0x53779da8f69a4de0
PUSH RBX
MOV EBP,0x3231
MOV RBX,0x201f1e1d1c1b1a19
MOV R10,0x17f39150e6a280ef
MOV R12,0x12560399675cd64b
SUB RSP,0x4b60
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x4b58],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,0x4880
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],0x1f4
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 0x001144a0
TEST EAX,EAX
JZ 0x00188238
MOV RCX,qword ptr [RSP + 0x4b58]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x00188442
ADD RSP,0x4b60
POP RBX
POP RBP
POP R12
RET
LEA RBP,[RSP + 0x4530]
MOV RDX,RBX
MOV ESI,0x32
MOV RDI,RBP
CALL 0x001139c0
TEST EAX,EAX
JNZ 0x00188212
MOV RDI,RBX
CALL 0x001147f0
TEST EAX,EAX
JNZ 0x00188212
LEA R12,[RSP + 0x4770]
MOV RDX,RBX
MOV ESI,0xa
MOV RDI,R12
CALL 0x001133d0
CMP RAX,0xa
JNZ 0x00188428
LEA RDX,[RSP + 0x4512]
MOV R9D,0x1
MOV ECX,0xa
MOV RDI,R12
LEA R8,[0x1c70cf]
MOV ESI,0xa
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x00188438
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001133d0
CMP RAX,0x1f4
JNZ 0x00188428
MOV RDX,RBX
MOV ESI,0x32
MOV RDI,RBP
CALL 0x001139c0
TEST EAX,EAX
JNZ 0x00188212
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001133d0
CMP RAX,0x1f4
JNZ 0x00188428
LEA RBP,[RSP + 0x4570]
LEA RSI,[RSP + 0x8]
MOV RDX,RBX
MOV RDI,RBP
CALL 0x00113a10
TEST EAX,EAX
JNZ 0x00188212
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001133d0
CMP RAX,0x1f4
JNZ 0x00188428
MOV RDX,RBX
MOV ESI,0xa
MOV RDI,R12
CALL 0x001133d0
CMP RAX,0xa
JNZ 0x00188428
LEA RDX,[RSP + 0x451c]
MOV R9D,0x2
MOV ECX,0xa
MOV RDI,R12
LEA R8,[0x1c70cf]
MOV ESI,0xa
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x00188438
MOV RDI,RBX
CALL 0x00114570
TEST EAX,EAX
JNZ 0x00188212
MOV RSI,qword ptr [RSP + 0x8]
MOV RDX,RBX
MOV RDI,RBP
CALL 0x001148b0
TEST EAX,EAX
JNZ 0x00188212
MOV RDI,RBX
CALL 0x001147f0
TEST EAX,EAX
JNZ 0x00188212
MOV RDX,RBX
MOV ESI,0x1f4
MOV RDI,R12
CALL 0x001133d0
CMP RAX,0x1f4
JNZ 0x00188428
MOV RDX,RBX
MOV ESI,0xa
MOV RDI,R12
CALL 0x001133d0
CMP RAX,0xa
JNZ 0x00188428
LEA RDX,[RSP + 0x4526]
MOV R9D,0x3
MOV ECX,0xa
MOV RDI,R12
LEA R8,[0x1c70cf]
MOV ESI,0xa
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x00188438
MOV RDI,RBX
CALL 0x00114570
JMP 0x00188212
MOV EAX,0x9
JMP 0x00188212
MOV EAX,0x5
JMP 0x00188212
CALL 0x00113880
(translation_unit "undefined8 rc4_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\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 rc4_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\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 "rc4_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_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\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_4b70;" type_identifier identifier ;) (declaration "undefined1 local_4b68 [17666];" type_identifier (array_declarator "local_4b68 [17666]" identifier [ number_literal ]) ;) (declaration "undefined8 local_666;" type_identifier identifier ;) (declaration "undefined2 local_65e;" type_identifier identifier ;) (declaration "undefined8 local_65c;" type_identifier identifier ;) (declaration "undefined2 local_654;" type_identifier identifier ;) (declaration "undefined8 local_652;" type_identifier identifier ;) (declaration "undefined2 local_64a;" type_identifier identifier ;) (declaration "undefined8 local_648;" type_identifier identifier ;) (declaration "undefined8 local_640;" type_identifier identifier ;) (declaration "undefined8 local_638;" type_identifier identifier ;) (declaration "undefined8 local_630;" type_identifier identifier ;) (declaration "undefined8 local_628;" type_identifier identifier ;) (declaration "undefined8 local_620;" type_identifier identifier ;) (declaration "undefined2 local_618;" type_identifier identifier ;) (declaration "undefined1 local_608 [512];" type_identifier (array_declarator "local_608 [512]" identifier [ number_literal ]) ;) (declaration "undefined1 local_408 [1000];" type_identifier (array_declarator "local_408 [1000]" 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_630 = 0x201f1e1d1c1b1a19;" (assignment_expression "local_630 = 0x201f1e1d1c1b1a19" identifier = number_literal) ;) (expression_statement "local_648 = 0x807060504030201;" (assignment_expression "local_648 = 0x807060504030201" identifier = number_literal) ;) (expression_statement "local_620 = 0x302f2e2d2c2b2a29;" (assignment_expression "local_620 = 0x302f2e2d2c2b2a29" identifier = number_literal) ;) (expression_statement "local_640 = 0x100f0e0d0c0b0a09;" (assignment_expression "local_640 = 0x100f0e0d0c0b0a09" identifier = number_literal) ;) (expression_statement "local_638 = 0x1817161514131211;" (assignment_expression "local_638 = 0x1817161514131211" identifier = number_literal) ;) (expression_statement "local_628 = 0x2827262524232221;" (assignment_expression "local_628 = 0x2827262524232221" identifier = number_literal) ;) (expression_statement "local_618 = 0x3231;" (assignment_expression "local_618 = 0x3231" identifier = number_literal) ;) (expression_statement "local_4b70 = 500;" (assignment_expression "local_4b70 = 500" identifier = number_literal) ;) (expression_statement "local_666 = 0x53779da8f69a4de0;" (assignment_expression "local_666 = 0x53779da8f69a4de0" identifier = number_literal) ;) (expression_statement "local_65e = 0x9ae;" (assignment_expression "local_65e = 0x9ae" identifier = number_literal) ;) (expression_statement "local_65c = 0x17f39150e6a280ef;" (assignment_expression "local_65c = 0x17f39150e6a280ef" identifier = number_literal) ;) (expression_statement "local_654 = 0x8a4a;" (assignment_expression "local_654 = 0x8a4a" identifier = number_literal) ;) (expression_statement "local_652 = 0x12560399675cd64b;" (assignment_expression "local_652 = 0x12560399675cd64b" identifier = number_literal) ;) (expression_statement "local_64a = 0x4880;" (assignment_expression "local_64a = 0x4880" identifier = number_literal) ;) (expression_statement "uVar2 = rc4_start(local_4b68);" (assignment_expression "uVar2 = rc4_start(local_4b68)" identifier = (call_expression "rc4_start(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);" (assignment_expression "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68)" identifier = (call_expression "rc4_add_entropy(&local_648,0x32,local_4b68)" identifier (argument_list "(&local_648,0x32,local_4b68)" ( (pointer_expression "&local_648" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_ready(local_4b68);" (assignment_expression "uVar2 = rc4_ready(local_4b68)" identifier = (call_expression "rc4_ready(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" identifier = (call_expression "rc4_read(local_408,10,local_4b68)" identifier (argument_list "(local_408,10,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\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_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1)" identifier = (call_expression "compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1)" identifier (argument_list "(local_408,10,&local_666,10,"RC4-PRNG",1)" ( identifier , number_literal , (pointer_expression "&local_666" & identifier) , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) goto LAB_00188438;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188438;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);" (assignment_expression "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68)" identifier = (call_expression "rc4_add_entropy(&local_648,0x32,local_4b68)" identifier (argument_list "(&local_648,0x32,local_4b68)" ( (pointer_expression "&local_648" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar2 = rc4_export(local_608,&local_4b70,local_4b68);" (assignment_expression "uVar2 = rc4_export(local_608,&local_4b70,local_4b68)" identifier = (call_expression "rc4_export(local_608,&local_4b70,local_4b68)" identifier (argument_list "(local_608,&local_4b70,local_4b68)" ( identifier , (pointer_expression "&local_4b70" & identifier) , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" { (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" identifier = (call_expression "rc4_read(local_408,10,local_4b68)" identifier (argument_list "(local_408,10,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }" { (expression_statement "iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2)" identifier = (call_expression "compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2)" identifier (argument_list "(local_408,10,&local_65c,10,"RC4-PRNG",2)" ( identifier , number_literal , (pointer_expression "&local_65c" & identifier) , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }" { (labeled_statement "LAB_00188438:\n              uVar2 = 5;" statement_identifier : (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;)) (goto_statement "goto LAB_00188212;" goto statement_identifier ;) })) (expression_statement "uVar2 = rc4_done(local_4b68);" (assignment_expression "uVar2 = rc4_done(local_4b68)" identifier = (call_expression "rc4_done(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_import(local_608,local_4b70,local_4b68);" (assignment_expression "uVar2 = rc4_import(local_608,local_4b70,local_4b68)" identifier = (call_expression "rc4_import(local_608,local_4b70,local_4b68)" identifier (argument_list "(local_608,local_4b70,local_4b68)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_ready(local_4b68);" (assignment_expression "uVar2 = rc4_ready(local_4b68)" identifier = (call_expression "rc4_ready(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" { (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" identifier = (call_expression "rc4_read(local_408,10,local_4b68)" identifier (argument_list "(local_408,10,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" { (expression_statement "iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3)" identifier = (call_expression "compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3)" identifier (argument_list "(local_408,10,&local_652,10,"RC4-PRNG",3)" ( identifier , number_literal , (pointer_expression "&local_652" & identifier) , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }" { (expression_statement "uVar2 = rc4_done(local_4b68);" (assignment_expression "uVar2 = rc4_done(local_4b68)" identifier = (call_expression "rc4_done(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (goto_statement "goto LAB_00188212;" goto statement_identifier ;) })) (goto_statement "goto LAB_00188438;" goto statement_identifier ;) })) })) })) })) })) })) })) (expression_statement "uVar2 = 9;" (assignment_expression "uVar2 = 9" identifier = number_literal) ;) (labeled_statement "LAB_00188212:\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 rc4_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 [500];\n  uchar out [1000];\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 = 500;\n  t1[0] = 0xe0;\n  t1[1] = 'M';\n  t1[2] = 0x9a;\n  t1[3] = 0xf6;\n  t1[4] = 0xa8;\n  t1[5] = 0x9d;\n  t1[6] = 'w';\n  t1[7] = 'S';\n  t1[8] = 0xae;\n  t1[9] = '\t';\n  t2[0] = 0xef;\n  t2[1] = 0x80;\n  t2[2] = 0xa2;\n  t2[3] = 0xe6;\n  t2[4] = 'P';\n  t2[5] = 0x91;\n  t2[6] = 0xf3;\n  t2[7] = '\x17';\n  t2[8] = 'J';\n  t2[9] = 0x8a;\n  t3[0] = 'K';\n  t3[1] = 0xd6;\n  t3[2] = '\\';\n  t3[3] = 'g';\n  t3[4] = 0x99;\n  t3[5] = '\x03';\n  t3[6] = 'V';\n  t3[7] = '\x12';\n  t3[8] = 0x80;\n  t3[9] = 'H';\n  iVar2 = rc4_start(&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  iVar2 = rc4_add_entropy(en,0x32,&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  iVar2 = rc4_ready(&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  uVar3 = rc4_read(out,10,&st);\n  if (uVar3 == 10) {\n    iVar2 = compare_testvector(out,10,t1,10,"RC4-PRNG",1);\n    if (iVar2 != 0) goto LAB_00188438;\n    uVar3 = rc4_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = rc4_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_00188212;\n      uVar3 = rc4_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  iVar2 = 9;\nLAB_00188212:\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 rc4_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 [500];\n  uchar out [1000];\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 = 500;\n  t1[0] = 0xe0;\n  t1[1] = 'M';\n  t1[2] = 0x9a;\n  t1[3] = 0xf6;\n  t1[4] = 0xa8;\n  t1[5] = 0x9d;\n  t1[6] = 'w';\n  t1[7] = 'S';\n  t1[8] = 0xae;\n  t1[9] = '\t';\n  t2[0] = 0xef;\n  t2[1] = 0x80;\n  t2[2] = 0xa2;\n  t2[3] = 0xe6;\n  t2[4] = 'P';\n  t2[5] = 0x91;\n  t2[6] = 0xf3;\n  t2[7] = '\x17';\n  t2[8] = 'J';\n  t2[9] = 0x8a;\n  t3[0] = 'K';\n  t3[1] = 0xd6;\n  t3[2] = '\\';\n  t3[3] = 'g';\n  t3[4] = 0x99;\n  t3[5] = '\x03';\n  t3[6] = 'V';\n  t3[7] = '\x12';\n  t3[8] = 0x80;\n  t3[9] = 'H';\n  iVar2 = rc4_start(&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  iVar2 = rc4_add_entropy(en,0x32,&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  iVar2 = rc4_ready(&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  uVar3 = rc4_read(out,10,&st);\n  if (uVar3 == 10) {\n    iVar2 = compare_testvector(out,10,t1,10,"RC4-PRNG",1);\n    if (iVar2 != 0) goto LAB_00188438;\n    uVar3 = rc4_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = rc4_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_00188212;\n      uVar3 = rc4_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  iVar2 = 9;\nLAB_00188212:\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 "rc4_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 [500];\n  uchar out [1000];\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 = 500;\n  t1[0] = 0xe0;\n  t1[1] = 'M';\n  t1[2] = 0x9a;\n  t1[3] = 0xf6;\n  t1[4] = 0xa8;\n  t1[5] = 0x9d;\n  t1[6] = 'w';\n  t1[7] = 'S';\n  t1[8] = 0xae;\n  t1[9] = '\t';\n  t2[0] = 0xef;\n  t2[1] = 0x80;\n  t2[2] = 0xa2;\n  t2[3] = 0xe6;\n  t2[4] = 'P';\n  t2[5] = 0x91;\n  t2[6] = 0xf3;\n  t2[7] = '\x17';\n  t2[8] = 'J';\n  t2[9] = 0x8a;\n  t3[0] = 'K';\n  t3[1] = 0xd6;\n  t3[2] = '\\';\n  t3[3] = 'g';\n  t3[4] = 0x99;\n  t3[5] = '\x03';\n  t3[6] = 'V';\n  t3[7] = '\x12';\n  t3[8] = 0x80;\n  t3[9] = 'H';\n  iVar2 = rc4_start(&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  iVar2 = rc4_add_entropy(en,0x32,&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  iVar2 = rc4_ready(&st);\n  if (iVar2 != 0) goto LAB_00188212;\n  uVar3 = rc4_read(out,10,&st);\n  if (uVar3 == 10) {\n    iVar2 = compare_testvector(out,10,t1,10,"RC4-PRNG",1);\n    if (iVar2 != 0) goto LAB_00188438;\n    uVar3 = rc4_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = rc4_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_00188212;\n      uVar3 = rc4_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  iVar2 = 9;\nLAB_00188212:\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 [500];" type_identifier (array_declarator "dmp [500]" identifier [ number_literal ]) ;) (declaration "uchar out [1000];" type_identifier (array_declarator "out [1000]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar1 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "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 = 500;" (assignment_expression "dmplen = 500" identifier = number_literal) ;) (expression_statement "t1[0] = 0xe0;" (assignment_expression "t1[0] = 0xe0" (subscript_expression "t1[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[1] = 'M';" (assignment_expression "t1[1] = 'M'" (subscript_expression "t1[1]" identifier [ number_literal ]) = (char_literal "'M'" ' character ')) ;) (expression_statement "t1[2] = 0x9a;" (assignment_expression "t1[2] = 0x9a" (subscript_expression "t1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[3] = 0xf6;" (assignment_expression "t1[3] = 0xf6" (subscript_expression "t1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[4] = 0xa8;" (assignment_expression "t1[4] = 0xa8" (subscript_expression "t1[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[5] = 0x9d;" (assignment_expression "t1[5] = 0x9d" (subscript_expression "t1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[6] = 'w';" (assignment_expression "t1[6] = 'w'" (subscript_expression "t1[6]" identifier [ number_literal ]) = (char_literal "'w'" ' character ')) ;) (expression_statement "t1[7] = 'S';" (assignment_expression "t1[7] = 'S'" (subscript_expression "t1[7]" identifier [ number_literal ]) = (char_literal "'S'" ' character ')) ;) (expression_statement "t1[8] = 0xae;" (assignment_expression "t1[8] = 0xae" (subscript_expression "t1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t1[9] = '\t';" (assignment_expression "t1[9] = '\t'" (subscript_expression "t1[9]" identifier [ number_literal ]) = (char_literal "'\t'" ' escape_sequence ')) ;) (expression_statement "t2[0] = 0xef;" (assignment_expression "t2[0] = 0xef" (subscript_expression "t2[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[1] = 0x80;" (assignment_expression "t2[1] = 0x80" (subscript_expression "t2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[2] = 0xa2;" (assignment_expression "t2[2] = 0xa2" (subscript_expression "t2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[3] = 0xe6;" (assignment_expression "t2[3] = 0xe6" (subscript_expression "t2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[4] = 'P';" (assignment_expression "t2[4] = 'P'" (subscript_expression "t2[4]" identifier [ number_literal ]) = (char_literal "'P'" ' character ')) ;) (expression_statement "t2[5] = 0x91;" (assignment_expression "t2[5] = 0x91" (subscript_expression "t2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[6] = 0xf3;" (assignment_expression "t2[6] = 0xf3" (subscript_expression "t2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t2[7] = '\x17';" (assignment_expression "t2[7] = '\x17'" (subscript_expression "t2[7]" identifier [ number_literal ]) = (char_literal "'\x17'" ' escape_sequence ')) ;) (expression_statement "t2[8] = 'J';" (assignment_expression "t2[8] = 'J'" (subscript_expression "t2[8]" identifier [ number_literal ]) = (char_literal "'J'" ' character ')) ;) (expression_statement "t2[9] = 0x8a;" (assignment_expression "t2[9] = 0x8a" (subscript_expression "t2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[0] = 'K';" (assignment_expression "t3[0] = 'K'" (subscript_expression "t3[0]" identifier [ number_literal ]) = (char_literal "'K'" ' character ')) ;) (expression_statement "t3[1] = 0xd6;" (assignment_expression "t3[1] = 0xd6" (subscript_expression "t3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[2] = '\\';" (assignment_expression "t3[2] = '\\'" (subscript_expression "t3[2]" identifier [ number_literal ]) = (char_literal "'\\'" ' escape_sequence ')) ;) (expression_statement "t3[3] = 'g';" (assignment_expression "t3[3] = 'g'" (subscript_expression "t3[3]" identifier [ number_literal ]) = (char_literal "'g'" ' character ')) ;) (expression_statement "t3[4] = 0x99;" (assignment_expression "t3[4] = 0x99" (subscript_expression "t3[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[5] = '\x03';" (assignment_expression "t3[5] = '\x03'" (subscript_expression "t3[5]" identifier [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "t3[6] = 'V';" (assignment_expression "t3[6] = 'V'" (subscript_expression "t3[6]" identifier [ number_literal ]) = (char_literal "'V'" ' character ')) ;) (expression_statement "t3[7] = '\x12';" (assignment_expression "t3[7] = '\x12'" (subscript_expression "t3[7]" identifier [ number_literal ]) = (char_literal "'\x12'" ' escape_sequence ')) ;) (expression_statement "t3[8] = 0x80;" (assignment_expression "t3[8] = 0x80" (subscript_expression "t3[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "t3[9] = 'H';" (assignment_expression "t3[9] = 'H'" (subscript_expression "t3[9]" identifier [ number_literal ]) = (char_literal "'H'" ' character ')) ;) (expression_statement "iVar2 = rc4_start(&st);" (assignment_expression "iVar2 = rc4_start(&st)" identifier = (call_expression "rc4_start(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "iVar2 = rc4_add_entropy(en,0x32,&st);" (assignment_expression "iVar2 = rc4_add_entropy(en,0x32,&st)" identifier = (call_expression "rc4_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_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "iVar2 = rc4_ready(&st);" (assignment_expression "iVar2 = rc4_ready(&st)" identifier = (call_expression "rc4_ready(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "uVar3 = rc4_read(out,10,&st);" (assignment_expression "uVar3 = rc4_read(out,10,&st)" identifier = (call_expression "rc4_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,"RC4-PRNG",1);\n    if (iVar2 != 0) goto LAB_00188438;\n    uVar3 = rc4_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = rc4_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_00188212;\n      uVar3 = rc4_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\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,"RC4-PRNG",1);\n    if (iVar2 != 0) goto LAB_00188438;\n    uVar3 = rc4_read(out,500,&st);\n    if (uVar3 == 500) {\n      iVar2 = rc4_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_00188212;\n      uVar3 = rc4_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "iVar2 = compare_testvector(out,10,t1,10,"RC4-PRNG",1);" (assignment_expression "iVar2 = compare_testvector(out,10,t1,10,"RC4-PRNG",1)" identifier = (call_expression "compare_testvector(out,10,t1,10,"RC4-PRNG",1)" identifier (argument_list "(out,10,t1,10,"RC4-PRNG",1)" ( identifier , number_literal , identifier , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00188438;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188438;" goto statement_identifier ;)) (expression_statement "uVar3 = rc4_read(out,500,&st);" (assignment_expression "uVar3 = rc4_read(out,500,&st)" identifier = (call_expression "rc4_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n      iVar2 = rc4_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_00188212;\n      uVar3 = rc4_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n      iVar2 = rc4_add_entropy(en,0x32,&st);\n      if (iVar2 != 0) goto LAB_00188212;\n      uVar3 = rc4_read(out,500,&st);\n      if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "iVar2 = rc4_add_entropy(en,0x32,&st);" (assignment_expression "iVar2 = rc4_add_entropy(en,0x32,&st)" identifier = (call_expression "rc4_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_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "uVar3 = rc4_read(out,500,&st);" (assignment_expression "uVar3 = rc4_read(out,500,&st)" identifier = (call_expression "rc4_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n        iVar2 = rc4_export(dmp,&dmplen,&st);\n        if (iVar2 != 0) goto LAB_00188212;\n        uVar3 = rc4_read(out,500,&st);\n        if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = rc4_export(dmp,&dmplen,&st);" (assignment_expression "iVar2 = rc4_export(dmp,&dmplen,&st)" identifier = (call_expression "rc4_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_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "uVar3 = rc4_read(out,500,&st);" (assignment_expression "uVar3 = rc4_read(out,500,&st)" identifier = (call_expression "rc4_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n          uVar3 = rc4_read(out,10,&st);\n          if (uVar3 == 10) {\n            iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" { (expression_statement "uVar3 = rc4_read(out,10,&st);" (assignment_expression "uVar3 = rc4_read(out,10,&st)" identifier = (call_expression "rc4_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,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\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,"RC4-PRNG",2);\n            if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }\n            iVar2 = rc4_done(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_import(dmp,dmplen,&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            iVar2 = rc4_ready(&st);\n            if (iVar2 != 0) goto LAB_00188212;\n            uVar3 = rc4_read(out,500,&st);\n            if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }" { (expression_statement "iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2);" (assignment_expression "iVar2 = compare_testvector(out,10,t2,10,"RC4-PRNG",2)" identifier = (call_expression "compare_testvector(out,10,t2,10,"RC4-PRNG",2)" identifier (argument_list "(out,10,t2,10,"RC4-PRNG",2)" ( identifier , number_literal , identifier , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00188438:\n              iVar2 = 5;\n              goto LAB_00188212;\n            }" { (labeled_statement "LAB_00188438:\n              iVar2 = 5;" statement_identifier : (expression_statement "iVar2 = 5;" (assignment_expression "iVar2 = 5" identifier = number_literal) ;)) (goto_statement "goto LAB_00188212;" goto statement_identifier ;) })) (expression_statement "iVar2 = rc4_done(&st);" (assignment_expression "iVar2 = rc4_done(&st)" identifier = (call_expression "rc4_done(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "iVar2 = rc4_import(dmp,dmplen,&st);" (assignment_expression "iVar2 = rc4_import(dmp,dmplen,&st)" identifier = (call_expression "rc4_import(dmp,dmplen,&st)" identifier (argument_list "(dmp,dmplen,&st)" ( identifier , identifier , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "iVar2 = rc4_ready(&st);" (assignment_expression "iVar2 = rc4_ready(&st)" identifier = (call_expression "rc4_ready(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_00188212;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188212;" goto statement_identifier ;)) (expression_statement "uVar3 = rc4_read(out,500,&st);" (assignment_expression "uVar3 = rc4_read(out,500,&st)" identifier = (call_expression "rc4_read(out,500,&st)" identifier (argument_list "(out,500,&st)" ( identifier , number_literal , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (uVar3 == 500) {\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" if (parenthesized_expression "(uVar3 == 500)" ( (binary_expression "uVar3 == 500" identifier == number_literal) )) (compound_statement "{\n              uVar3 = rc4_read(out,10,&st);\n              if (uVar3 == 10) {\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" { (expression_statement "uVar3 = rc4_read(out,10,&st);" (assignment_expression "uVar3 = rc4_read(out,10,&st)" identifier = (call_expression "rc4_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,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" if (parenthesized_expression "(uVar3 == 10)" ( (binary_expression "uVar3 == 10" identifier == number_literal) )) (compound_statement "{\n                iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);\n                if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" { (expression_statement "iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3);" (assignment_expression "iVar2 = compare_testvector(out,10,t3,10,"RC4-PRNG",3)" identifier = (call_expression "compare_testvector(out,10,t3,10,"RC4-PRNG",3)" identifier (argument_list "(out,10,t3,10,"RC4-PRNG",3)" ( identifier , number_literal , identifier , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar2 = rc4_done(&st);\n                  goto LAB_00188212;\n                }" { (expression_statement "iVar2 = rc4_done(&st);" (assignment_expression "iVar2 = rc4_done(&st)" identifier = (call_expression "rc4_done(&st)" identifier (argument_list "(&st)" ( (pointer_expression "&st" & identifier) )))) ;) (goto_statement "goto LAB_00188212;" goto statement_identifier ;) })) (goto_statement "goto LAB_00188438;" goto statement_identifier ;) })) })) })) })) })) })) })) (expression_statement "iVar2 = 9;" (assignment_expression "iVar2 = 9" identifier = number_literal) ;) (labeled_statement "LAB_00188212:\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 rc4_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 rc4_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" type_identifier (function_declarator "rc4_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_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\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_4b70;" type_identifier identifier ;) (declaration "undefined1 local_4b68 [17666];" type_identifier (array_declarator "local_4b68 [17666]" identifier [ number_literal ]) ;) (declaration "undefined8 local_666;" type_identifier identifier ;) (declaration "undefined2 local_65e;" type_identifier identifier ;) (declaration "undefined8 local_65c;" type_identifier identifier ;) (declaration "undefined2 local_654;" type_identifier identifier ;) (declaration "undefined8 local_652;" type_identifier identifier ;) (declaration "undefined2 local_64a;" type_identifier identifier ;) (declaration "undefined8 local_648;" type_identifier identifier ;) (declaration "undefined8 local_640;" type_identifier identifier ;) (declaration "undefined8 local_638;" type_identifier identifier ;) (declaration "undefined8 local_630;" type_identifier identifier ;) (declaration "undefined8 local_628;" type_identifier identifier ;) (declaration "undefined8 local_620;" type_identifier identifier ;) (declaration "undefined2 local_618;" type_identifier identifier ;) (declaration "undefined1 local_608 [512];" type_identifier (array_declarator "local_608 [512]" identifier [ number_literal ]) ;) (declaration "undefined1 local_408 [1000];" type_identifier (array_declarator "local_408 [1000]" 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_630 = 0x201f1e1d1c1b1a19;" (assignment_expression "local_630 = 0x201f1e1d1c1b1a19" identifier = number_literal) ;) (expression_statement "local_648 = 0x807060504030201;" (assignment_expression "local_648 = 0x807060504030201" identifier = number_literal) ;) (expression_statement "local_620 = 0x302f2e2d2c2b2a29;" (assignment_expression "local_620 = 0x302f2e2d2c2b2a29" identifier = number_literal) ;) (expression_statement "local_640 = 0x100f0e0d0c0b0a09;" (assignment_expression "local_640 = 0x100f0e0d0c0b0a09" identifier = number_literal) ;) (expression_statement "local_638 = 0x1817161514131211;" (assignment_expression "local_638 = 0x1817161514131211" identifier = number_literal) ;) (expression_statement "local_628 = 0x2827262524232221;" (assignment_expression "local_628 = 0x2827262524232221" identifier = number_literal) ;) (expression_statement "local_618 = 0x3231;" (assignment_expression "local_618 = 0x3231" identifier = number_literal) ;) (expression_statement "local_4b70 = 500;" (assignment_expression "local_4b70 = 500" identifier = number_literal) ;) (expression_statement "local_666 = 0x53779da8f69a4de0;" (assignment_expression "local_666 = 0x53779da8f69a4de0" identifier = number_literal) ;) (expression_statement "local_65e = 0x9ae;" (assignment_expression "local_65e = 0x9ae" identifier = number_literal) ;) (expression_statement "local_65c = 0x17f39150e6a280ef;" (assignment_expression "local_65c = 0x17f39150e6a280ef" identifier = number_literal) ;) (expression_statement "local_654 = 0x8a4a;" (assignment_expression "local_654 = 0x8a4a" identifier = number_literal) ;) (expression_statement "local_652 = 0x12560399675cd64b;" (assignment_expression "local_652 = 0x12560399675cd64b" identifier = number_literal) ;) (expression_statement "local_64a = 0x4880;" (assignment_expression "local_64a = 0x4880" identifier = number_literal) ;) (expression_statement "uVar2 = rc4_start(local_4b68);" (assignment_expression "uVar2 = rc4_start(local_4b68)" identifier = (call_expression "rc4_start(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);" (assignment_expression "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68)" identifier = (call_expression "rc4_add_entropy(&local_648,0x32,local_4b68)" identifier (argument_list "(&local_648,0x32,local_4b68)" ( (pointer_expression "&local_648" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_ready(local_4b68);" (assignment_expression "uVar2 = rc4_ready(local_4b68)" identifier = (call_expression "rc4_ready(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" identifier = (call_expression "rc4_read(local_408,10,local_4b68)" identifier (argument_list "(local_408,10,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\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_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" { (expression_statement "iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1)" identifier = (call_expression "compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1)" identifier (argument_list "(local_408,10,&local_666,10,"RC4-PRNG",1)" ( identifier , number_literal , (pointer_expression "&local_666" & identifier) , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) goto LAB_00188438;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00188438;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }" { (expression_statement "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);" (assignment_expression "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68)" identifier = (call_expression "rc4_add_entropy(&local_648,0x32,local_4b68)" identifier (argument_list "(&local_648,0x32,local_4b68)" ( (pointer_expression "&local_648" & identifier) , number_literal , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" { (expression_statement "uVar2 = rc4_export(local_608,&local_4b70,local_4b68);" (assignment_expression "uVar2 = rc4_export(local_608,&local_4b70,local_4b68)" identifier = (call_expression "rc4_export(local_608,&local_4b70,local_4b68)" identifier (argument_list "(local_608,&local_4b70,local_4b68)" ( identifier , (pointer_expression "&local_4b70" & identifier) , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" { (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" identifier = (call_expression "rc4_read(local_408,10,local_4b68)" identifier (argument_list "(local_408,10,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }" { (expression_statement "iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2)" identifier = (call_expression "compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2)" identifier (argument_list "(local_408,10,&local_65c,10,"RC4-PRNG",2)" ( identifier , number_literal , (pointer_expression "&local_65c" & identifier) , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }" { (labeled_statement "LAB_00188438:\n              uVar2 = 5;" statement_identifier : (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;)) (goto_statement "goto LAB_00188212;" goto statement_identifier ;) })) (expression_statement "uVar2 = rc4_done(local_4b68);" (assignment_expression "uVar2 = rc4_done(local_4b68)" identifier = (call_expression "rc4_done(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_import(local_608,local_4b70,local_4b68);" (assignment_expression "uVar2 = rc4_import(local_608,local_4b70,local_4b68)" identifier = (call_expression "rc4_import(local_608,local_4b70,local_4b68)" identifier (argument_list "(local_608,local_4b70,local_4b68)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "uVar2 = rc4_ready(local_4b68);" (assignment_expression "uVar2 = rc4_ready(local_4b68)" identifier = (call_expression "rc4_ready(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" 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_00188212;" goto statement_identifier ;)) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" identifier = (call_expression "rc4_read(local_408,500,local_4b68)" identifier (argument_list "(local_408,500,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" if (parenthesized_expression "(lVar3 == 500)" ( (binary_expression "lVar3 == 500" identifier == number_literal) )) (compound_statement "{\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" { (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" identifier = (call_expression "rc4_read(local_408,10,local_4b68)" identifier (argument_list "(local_408,10,local_4b68)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" if (parenthesized_expression "(lVar3 == 10)" ( (binary_expression "lVar3 == 10" identifier == number_literal) )) (compound_statement "{\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" { (expression_statement "iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3)" identifier = (call_expression "compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3)" identifier (argument_list "(local_408,10,&local_652,10,"RC4-PRNG",3)" ( identifier , number_literal , (pointer_expression "&local_652" & identifier) , number_literal , (string_literal ""RC4-PRNG"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }" { (expression_statement "uVar2 = rc4_done(local_4b68);" (assignment_expression "uVar2 = rc4_done(local_4b68)" identifier = (call_expression "rc4_done(local_4b68)" identifier (argument_list "(local_4b68)" ( identifier )))) ;) (goto_statement "goto LAB_00188212;" goto statement_identifier ;) })) (goto_statement "goto LAB_00188438;" goto statement_identifier ;) })) })) })) })) })) })) })) (expression_statement "uVar2 = 9;" (assignment_expression "uVar2 = 9" identifier = number_literal) ;) (labeled_statement "LAB_00188212:\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 rc4_test(void)\n\n{\n  int iVar1;\n  undefined8 uVar2;\n  long lVar3;\n  long in_FS_OFFSET;\n  undefined8 local_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }\n                    \n  __stack_chk_fail();\n}" (type_identifier "undefined8") (function_declarator "rc4_test(void)" (identifier "rc4_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_4b70;\n  undefined1 local_4b68 [17666];\n  undefined8 local_666;\n  undefined2 local_65e;\n  undefined8 local_65c;\n  undefined2 local_654;\n  undefined8 local_652;\n  undefined2 local_64a;\n  undefined8 local_648;\n  undefined8 local_640;\n  undefined8 local_638;\n  undefined8 local_630;\n  undefined8 local_628;\n  undefined8 local_620;\n  undefined2 local_618;\n  undefined1 local_608 [512];\n  undefined1 local_408 [1000];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  local_630 = 0x201f1e1d1c1b1a19;\n  local_648 = 0x807060504030201;\n  local_620 = 0x302f2e2d2c2b2a29;\n  local_640 = 0x100f0e0d0c0b0a09;\n  local_638 = 0x1817161514131211;\n  local_628 = 0x2827262524232221;\n  local_618 = 0x3231;\n  local_4b70 = 500;\n  local_666 = 0x53779da8f69a4de0;\n  local_65e = 0x9ae;\n  local_65c = 0x17f39150e6a280ef;\n  local_654 = 0x8a4a;\n  local_652 = 0x12560399675cd64b;\n  local_64a = 0x4880;\n  uVar2 = rc4_start(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  uVar2 = rc4_ready(local_4b68);\n  if ((int)uVar2 != 0) goto LAB_00188212;\n  lVar3 = rc4_read(local_408,10,local_4b68);\n  if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  uVar2 = 9;\nLAB_00188212:\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_4b70;" (type_identifier "undefined8") (identifier "local_4b70") (; ";")) (declaration "undefined1 local_4b68 [17666];" (type_identifier "undefined1") (array_declarator "local_4b68 [17666]" (identifier "local_4b68") ([ "[") (number_literal "17666") (] "]")) (; ";")) (declaration "undefined8 local_666;" (type_identifier "undefined8") (identifier "local_666") (; ";")) (declaration "undefined2 local_65e;" (type_identifier "undefined2") (identifier "local_65e") (; ";")) (declaration "undefined8 local_65c;" (type_identifier "undefined8") (identifier "local_65c") (; ";")) (declaration "undefined2 local_654;" (type_identifier "undefined2") (identifier "local_654") (; ";")) (declaration "undefined8 local_652;" (type_identifier "undefined8") (identifier "local_652") (; ";")) (declaration "undefined2 local_64a;" (type_identifier "undefined2") (identifier "local_64a") (; ";")) (declaration "undefined8 local_648;" (type_identifier "undefined8") (identifier "local_648") (; ";")) (declaration "undefined8 local_640;" (type_identifier "undefined8") (identifier "local_640") (; ";")) (declaration "undefined8 local_638;" (type_identifier "undefined8") (identifier "local_638") (; ";")) (declaration "undefined8 local_630;" (type_identifier "undefined8") (identifier "local_630") (; ";")) (declaration "undefined8 local_628;" (type_identifier "undefined8") (identifier "local_628") (; ";")) (declaration "undefined8 local_620;" (type_identifier "undefined8") (identifier "local_620") (; ";")) (declaration "undefined2 local_618;" (type_identifier "undefined2") (identifier "local_618") (; ";")) (declaration "undefined1 local_608 [512];" (type_identifier "undefined1") (array_declarator "local_608 [512]" (identifier "local_608") ([ "[") (number_literal "512") (] "]")) (; ";")) (declaration "undefined1 local_408 [1000];" (type_identifier "undefined1") (array_declarator "local_408 [1000]" (identifier "local_408") ([ "[") (number_literal "1000") (] "]")) (; ";")) (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_630 = 0x201f1e1d1c1b1a19;" (assignment_expression "local_630 = 0x201f1e1d1c1b1a19" (identifier "local_630") (= "=") (number_literal "0x201f1e1d1c1b1a19")) (; ";")) (expression_statement "local_648 = 0x807060504030201;" (assignment_expression "local_648 = 0x807060504030201" (identifier "local_648") (= "=") (number_literal "0x807060504030201")) (; ";")) (expression_statement "local_620 = 0x302f2e2d2c2b2a29;" (assignment_expression "local_620 = 0x302f2e2d2c2b2a29" (identifier "local_620") (= "=") (number_literal "0x302f2e2d2c2b2a29")) (; ";")) (expression_statement "local_640 = 0x100f0e0d0c0b0a09;" (assignment_expression "local_640 = 0x100f0e0d0c0b0a09" (identifier "local_640") (= "=") (number_literal "0x100f0e0d0c0b0a09")) (; ";")) (expression_statement "local_638 = 0x1817161514131211;" (assignment_expression "local_638 = 0x1817161514131211" (identifier "local_638") (= "=") (number_literal "0x1817161514131211")) (; ";")) (expression_statement "local_628 = 0x2827262524232221;" (assignment_expression "local_628 = 0x2827262524232221" (identifier "local_628") (= "=") (number_literal "0x2827262524232221")) (; ";")) (expression_statement "local_618 = 0x3231;" (assignment_expression "local_618 = 0x3231" (identifier "local_618") (= "=") (number_literal "0x3231")) (; ";")) (expression_statement "local_4b70 = 500;" (assignment_expression "local_4b70 = 500" (identifier "local_4b70") (= "=") (number_literal "500")) (; ";")) (expression_statement "local_666 = 0x53779da8f69a4de0;" (assignment_expression "local_666 = 0x53779da8f69a4de0" (identifier "local_666") (= "=") (number_literal "0x53779da8f69a4de0")) (; ";")) (expression_statement "local_65e = 0x9ae;" (assignment_expression "local_65e = 0x9ae" (identifier "local_65e") (= "=") (number_literal "0x9ae")) (; ";")) (expression_statement "local_65c = 0x17f39150e6a280ef;" (assignment_expression "local_65c = 0x17f39150e6a280ef" (identifier "local_65c") (= "=") (number_literal "0x17f39150e6a280ef")) (; ";")) (expression_statement "local_654 = 0x8a4a;" (assignment_expression "local_654 = 0x8a4a" (identifier "local_654") (= "=") (number_literal "0x8a4a")) (; ";")) (expression_statement "local_652 = 0x12560399675cd64b;" (assignment_expression "local_652 = 0x12560399675cd64b" (identifier "local_652") (= "=") (number_literal "0x12560399675cd64b")) (; ";")) (expression_statement "local_64a = 0x4880;" (assignment_expression "local_64a = 0x4880" (identifier "local_64a") (= "=") (number_literal "0x4880")) (; ";")) (expression_statement "uVar2 = rc4_start(local_4b68);" (assignment_expression "uVar2 = rc4_start(local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_start(local_4b68)" (identifier "rc4_start") (argument_list "(local_4b68)" (( "(") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);" (assignment_expression "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_add_entropy(&local_648,0x32,local_4b68)" (identifier "rc4_add_entropy") (argument_list "(&local_648,0x32,local_4b68)" (( "(") (pointer_expression "&local_648" (& "&") (identifier "local_648")) (, ",") (number_literal "0x32") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "uVar2 = rc4_ready(local_4b68);" (assignment_expression "uVar2 = rc4_ready(local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_ready(local_4b68)" (identifier "rc4_ready") (argument_list "(local_4b68)" (( "(") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" (identifier "lVar3") (= "=") (call_expression "rc4_read(local_408,10,local_4b68)" (identifier "rc4_read") (argument_list "(local_408,10,local_4b68)" (( "(") (identifier "local_408") (, ",") (number_literal "10") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if (lVar3 == 10) {\n    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\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_408,10,&local_666,10,"RC4-PRNG",1);\n    if (iVar1 != 0) goto LAB_00188438;\n    lVar3 = rc4_read(local_408,500,local_4b68);\n    if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1)" (identifier "compare_testvector") (argument_list "(local_408,10,&local_666,10,"RC4-PRNG",1)" (( "(") (identifier "local_408") (, ",") (number_literal "10") (, ",") (pointer_expression "&local_666" (& "&") (identifier "local_666")) (, ",") (number_literal "10") (, ",") (string_literal ""RC4-PRNG"" (" """) (string_content "RC4-PRNG") (" """)) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) goto LAB_00188438;" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00188438;" (goto "goto") (statement_identifier "LAB_00188438") (; ";"))) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" (identifier "lVar3") (= "=") (call_expression "rc4_read(local_408,500,local_4b68)" (identifier "rc4_read") (argument_list "(local_408,500,local_4b68)" (( "(") (identifier "local_408") (, ",") (number_literal "500") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\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 = rc4_add_entropy(&local_648,0x32,local_4b68);\n      if ((int)uVar2 != 0) goto LAB_00188212;\n      lVar3 = rc4_read(local_408,500,local_4b68);\n      if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);" (assignment_expression "uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_add_entropy(&local_648,0x32,local_4b68)" (identifier "rc4_add_entropy") (argument_list "(&local_648,0x32,local_4b68)" (( "(") (pointer_expression "&local_648" (& "&") (identifier "local_648")) (, ",") (number_literal "0x32") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" (identifier "lVar3") (= "=") (call_expression "rc4_read(local_408,500,local_4b68)" (identifier "rc4_read") (argument_list "(local_408,500,local_4b68)" (( "(") (identifier "local_408") (, ",") (number_literal "500") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(lVar3 == 500)" (( "(") (binary_expression "lVar3 == 500" (identifier "lVar3") (== "==") (number_literal "500")) () ")")) (compound_statement "{\n        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);\n        if ((int)uVar2 != 0) goto LAB_00188212;\n        lVar3 = rc4_read(local_408,500,local_4b68);\n        if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "uVar2 = rc4_export(local_608,&local_4b70,local_4b68);" (assignment_expression "uVar2 = rc4_export(local_608,&local_4b70,local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_export(local_608,&local_4b70,local_4b68)" (identifier "rc4_export") (argument_list "(local_608,&local_4b70,local_4b68)" (( "(") (identifier "local_608") (, ",") (pointer_expression "&local_4b70" (& "&") (identifier "local_4b70")) (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" (identifier "lVar3") (= "=") (call_expression "rc4_read(local_408,500,local_4b68)" (identifier "rc4_read") (argument_list "(local_408,500,local_4b68)" (( "(") (identifier "local_408") (, ",") (number_literal "500") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(lVar3 == 500)" (( "(") (binary_expression "lVar3 == 500" (identifier "lVar3") (== "==") (number_literal "500")) () ")")) (compound_statement "{\n          lVar3 = rc4_read(local_408,10,local_4b68);\n          if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" (identifier "lVar3") (= "=") (call_expression "rc4_read(local_408,10,local_4b68)" (identifier "rc4_read") (argument_list "(local_408,10,local_4b68)" (( "(") (identifier "local_408") (, ",") (number_literal "10") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if (lVar3 == 10) {\n            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\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_408,10,&local_65c,10,"RC4-PRNG",2);\n            if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }\n            uVar2 = rc4_done(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_import(local_608,local_4b70,local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            uVar2 = rc4_ready(local_4b68);\n            if ((int)uVar2 != 0) goto LAB_00188212;\n            lVar3 = rc4_read(local_408,500,local_4b68);\n            if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2)" (identifier "compare_testvector") (argument_list "(local_408,10,&local_65c,10,"RC4-PRNG",2)" (( "(") (identifier "local_408") (, ",") (number_literal "10") (, ",") (pointer_expression "&local_65c" (& "&") (identifier "local_65c")) (, ",") (number_literal "10") (, ",") (string_literal ""RC4-PRNG"" (" """) (string_content "RC4-PRNG") (" """)) (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00188438:\n              uVar2 = 5;\n              goto LAB_00188212;\n            }" ({ "{") (labeled_statement "LAB_00188438:\n              uVar2 = 5;" (statement_identifier "LAB_00188438") (: ":") (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" (identifier "uVar2") (= "=") (number_literal "5")) (; ";"))) (goto_statement "goto LAB_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";")) (} "}"))) (expression_statement "uVar2 = rc4_done(local_4b68);" (assignment_expression "uVar2 = rc4_done(local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_done(local_4b68)" (identifier "rc4_done") (argument_list "(local_4b68)" (( "(") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "uVar2 = rc4_import(local_608,local_4b70,local_4b68);" (assignment_expression "uVar2 = rc4_import(local_608,local_4b70,local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_import(local_608,local_4b70,local_4b68)" (identifier "rc4_import") (argument_list "(local_608,local_4b70,local_4b68)" (( "(") (identifier "local_608") (, ",") (identifier "local_4b70") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "uVar2 = rc4_ready(local_4b68);" (assignment_expression "uVar2 = rc4_ready(local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_ready(local_4b68)" (identifier "rc4_ready") (argument_list "(local_4b68)" (( "(") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if ((int)uVar2 != 0) goto LAB_00188212;" (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_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";"))) (expression_statement "lVar3 = rc4_read(local_408,500,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,500,local_4b68)" (identifier "lVar3") (= "=") (call_expression "rc4_read(local_408,500,local_4b68)" (identifier "rc4_read") (argument_list "(local_408,500,local_4b68)" (( "(") (identifier "local_408") (, ",") (number_literal "500") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if (lVar3 == 500) {\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" (if "if") (parenthesized_expression "(lVar3 == 500)" (( "(") (binary_expression "lVar3 == 500" (identifier "lVar3") (== "==") (number_literal "500")) () ")")) (compound_statement "{\n              lVar3 = rc4_read(local_408,10,local_4b68);\n              if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }\n            }" ({ "{") (expression_statement "lVar3 = rc4_read(local_408,10,local_4b68);" (assignment_expression "lVar3 = rc4_read(local_408,10,local_4b68)" (identifier "lVar3") (= "=") (call_expression "rc4_read(local_408,10,local_4b68)" (identifier "rc4_read") (argument_list "(local_408,10,local_4b68)" (( "(") (identifier "local_408") (, ",") (number_literal "10") (, ",") (identifier "local_4b68") () ")")))) (; ";")) (if_statement "if (lVar3 == 10) {\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" (if "if") (parenthesized_expression "(lVar3 == 10)" (( "(") (binary_expression "lVar3 == 10" (identifier "lVar3") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);\n                if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }\n                goto LAB_00188438;\n              }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);" (assignment_expression "iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3)" (identifier "compare_testvector") (argument_list "(local_408,10,&local_652,10,"RC4-PRNG",3)" (( "(") (identifier "local_408") (, ",") (number_literal "10") (, ",") (pointer_expression "&local_652" (& "&") (identifier "local_652")) (, ",") (number_literal "10") (, ",") (string_literal ""RC4-PRNG"" (" """) (string_content "RC4-PRNG") (" """)) (, ",") (number_literal "3") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar2 = rc4_done(local_4b68);\n                  goto LAB_00188212;\n                }" ({ "{") (expression_statement "uVar2 = rc4_done(local_4b68);" (assignment_expression "uVar2 = rc4_done(local_4b68)" (identifier "uVar2") (= "=") (call_expression "rc4_done(local_4b68)" (identifier "rc4_done") (argument_list "(local_4b68)" (( "(") (identifier "local_4b68") () ")")))) (; ";")) (goto_statement "goto LAB_00188212;" (goto "goto") (statement_identifier "LAB_00188212") (; ";")) (} "}"))) (goto_statement "goto LAB_00188438;" (goto "goto") (statement_identifier "LAB_00188438") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar2 = 9;" (assignment_expression "uVar2 = 9" (identifier "uVar2") (= "=") (number_literal "9")) (; ";")) (labeled_statement "LAB_00188212:\n  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar2;\n  }" (statement_identifier "LAB_00188212") (: ":") (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 [500];
  type_3 out [1000];
  
  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 = 500;
  t1[0] = 0xe0;
  t1[1] = 'M';
  t1[2] = 0x9a;
  t1[3] = 0xf6;
  t1[4] = 0xa8;
  t1[5] = 0x9d;
  t1[6] = 'w';
  t1[7] = 'S';
  t1[8] = 0xae;
  t1[9] = '\t';
  t2[0] = 0xef;
  t2[1] = 0x80;
  t2[2] = 0xa2;
  t2[3] = 0xe6;
  t2[4] = 'P';
  t2[5] = 0x91;
  t2[6] = 0xf3;
  t2[7] = '\x17';
  t2[8] = 'J';
  t2[9] = 0x8a;
  t3[0] = 'K';
  t3[1] = 0xd6;
  t3[2] = '\\';
  t3[3] = 'g';
  t3[4] = 0x99;
  t3[5] = '\x03';
  t3[6] = 'V';
  t3[7] = '\x12';
  t3[8] = 0x80;
  t3[9] = 'H';
  var_4 = var_3(&st);
  if (var_4 != 0) goto LAB_00188212;
  var_4 = var_5(en,0x32,&st);
  if (var_4 != 0) goto LAB_00188212;
  var_4 = var_6(&st);
  if (var_4 != 0) goto LAB_00188212;
  var_8 = var_7(out,10,&st);
  if (var_8 == 10) {
    var_4 = var_9(out,10,t1,10,"RC4-PRNG",1);
    if (var_4 != 0) goto LAB_00188438;
    var_8 = var_7(out,500,&st);
    if (var_8 == 500) {
      var_4 = var_5(en,0x32,&st);
      if (var_4 != 0) goto LAB_00188212;
      var_8 = var_7(out,500,&st);
      if (var_8 == 500) {
        var_4 = var_10(dmp,&dmplen,&st);
        if (var_4 != 0) goto LAB_00188212;
        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,"RC4-PRNG",2);
            if (var_4 != 0) {
LAB_00188438:
              var_4 = 5;
              goto LAB_00188212;
            }
            var_4 = var_11(&st);
            if (var_4 != 0) goto LAB_00188212;
            var_4 = var_12(dmp,dmplen,&st);
            if (var_4 != 0) goto LAB_00188212;
            var_4 = var_6(&st);
            if (var_4 != 0) goto LAB_00188212;
            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,"RC4-PRNG",3);
                if (var_4 == 0) {
                  var_4 = var_11(&st);
                  goto LAB_00188212;
                }
                goto LAB_00188438;
              }
            }
          }
        }
      }
    }
  }
  var_4 = 9;
LAB_00188212:
  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_4b70;
  undefined1 local_4b68 [17666];
  undefined8 local_666;
  undefined2 local_65e;
  undefined8 local_65c;
  undefined2 local_654;
  undefined8 local_652;
  undefined2 local_64a;
  undefined8 local_648;
  undefined8 local_640;
  undefined8 local_638;
  undefined8 local_630;
  undefined8 local_628;
  undefined8 local_620;
  undefined2 local_618;
  undefined1 local_608 [512];
  undefined1 local_408 [1000];
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  local_630 = 0x201f1e1d1c1b1a19;
  local_648 = 0x807060504030201;
  local_620 = 0x302f2e2d2c2b2a29;
  local_640 = 0x100f0e0d0c0b0a09;
  local_638 = 0x1817161514131211;
  local_628 = 0x2827262524232221;
  local_618 = 0x3231;
  local_4b70 = 500;
  local_666 = 0x53779da8f69a4de0;
  local_65e = 0x9ae;
  local_65c = 0x17f39150e6a280ef;
  local_654 = 0x8a4a;
  local_652 = 0x12560399675cd64b;
  local_64a = 0x4880;
  uVar2 = rc4_start(local_4b68);
  if ((int)uVar2 != 0) goto LAB_00188212;
  uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);
  if ((int)uVar2 != 0) goto LAB_00188212;
  uVar2 = rc4_ready(local_4b68);
  if ((int)uVar2 != 0) goto LAB_00188212;
  lVar3 = rc4_read(local_408,10,local_4b68);
  if (lVar3 == 10) {
    iVar1 = compare_testvector(local_408,10,&local_666,10,"RC4-PRNG",1);
    if (iVar1 != 0) goto LAB_00188438;
    lVar3 = rc4_read(local_408,500,local_4b68);
    if (lVar3 == 500) {
      uVar2 = rc4_add_entropy(&local_648,0x32,local_4b68);
      if ((int)uVar2 != 0) goto LAB_00188212;
      lVar3 = rc4_read(local_408,500,local_4b68);
      if (lVar3 == 500) {
        uVar2 = rc4_export(local_608,&local_4b70,local_4b68);
        if ((int)uVar2 != 0) goto LAB_00188212;
        lVar3 = rc4_read(local_408,500,local_4b68);
        if (lVar3 == 500) {
          lVar3 = rc4_read(local_408,10,local_4b68);
          if (lVar3 == 10) {
            iVar1 = compare_testvector(local_408,10,&local_65c,10,"RC4-PRNG",2);
            if (iVar1 != 0) {
LAB_00188438:
              uVar2 = 5;
              goto LAB_00188212;
            }
            uVar2 = rc4_done(local_4b68);
            if ((int)uVar2 != 0) goto LAB_00188212;
            uVar2 = rc4_import(local_608,local_4b70,local_4b68);
            if ((int)uVar2 != 0) goto LAB_00188212;
            uVar2 = rc4_ready(local_4b68);
            if ((int)uVar2 != 0) goto LAB_00188212;
            lVar3 = rc4_read(local_408,500,local_4b68);
            if (lVar3 == 500) {
              lVar3 = rc4_read(local_408,10,local_4b68);
              if (lVar3 == 10) {
                iVar1 = compare_testvector(local_408,10,&local_652,10,"RC4-PRNG",3);
                if (iVar1 == 0) {
                  uVar2 = rc4_done(local_4b68);
                  goto LAB_00188212;
                }
                goto LAB_00188438;
              }
            }
          }
        }
      }
    }
  }
  uVar2 = 9;
LAB_00188212:
  if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

