
/* WARNING: Unknown calling convention */

int safer_sk64_test(void)

{
  int iVar1;
  long in_FS_OFFSET;
  uchar buf [2] [8];
  symmetric_key skey;
  long local_30;
  
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  iVar1 = safer_sk64_setup("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey);
  if (iVar1 == 0) {
    safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey);
    safer_ecb_decrypt(buf[0],buf[1],&skey);
    iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0);
    if (iVar1 == 0) {
      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);
      if (iVar1 == 0) {
        buf[0][0] = '\0';
        buf[0][1] = '\0';
        buf[0][2] = '\0';
        buf[0][3] = '\0';
        buf[0][4] = '\0';
        buf[0][5] = '\0';
        buf[0][6] = '\0';
        buf[0][7] = '\0';
        iVar1 = 1000;
        do {
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          safer_ecb_encrypt(buf[0],buf[0],&skey);
          iVar1 = iVar1 + -8;
        } while (iVar1 != 0);
        iVar1 = 1000;
        do {
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          safer_ecb_decrypt(buf[0],buf[0],&skey);
          iVar1 = iVar1 + -8;
        } while (iVar1 != 0);
        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&
            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&
           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))
        goto LAB_00126115;
      }
    }
    iVar1 = 5;
  }
LAB_00126115:
  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar1;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



int safer_sk64_test(void)

{
  int iVar1;
  long in_FS_OFFSET;
  undefined8 local_10e8;
  undefined1 local_10e0 [8];
  undefined1 local_10d8 [4264];
  long local_30;
  
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);
  if (iVar1 == 0) {
    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);
    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);
    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);
    if (iVar1 == 0) {
      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);
      if (iVar1 == 0) {
        local_10e8 = 0;
        iVar1 = 1000;
        do {
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          iVar1 = iVar1 + -8;
        } while (iVar1 != 0);
        iVar1 = 1000;
        do {
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          iVar1 = iVar1 + -8;
        } while (iVar1 != 0);
        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&
             (local_10e8._2_1_ == '\0')) &&
            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&
           ((local_10e8._5_1_ == '\0' &&
            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))
        goto LAB_00126115;
      }
    }
    iVar1 = 5;
  }
LAB_00126115:
  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar1;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH R13
MOV EDX,0x6
MOV ESI,0x8
LEA RDI,[0x1a8890]
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x10c8
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x10b8],RAX
XOR EAX,EAX
LEA RBP,[RSP + 0x10]
MOV RCX,RBP
CALL 0x00114f00
MOV R13D,EAX
TEST EAX,EAX
JZ 0x00126140
MOV RCX,qword ptr [RSP + 0x10b8]
XOR RCX,qword ptr FS:[0x28]
MOV EAX,R13D
JNZ 0x00126313
ADD RSP,0x10c8
POP RBX
POP RBP
POP R12
POP R13
RET
MOV RBX,RSP
MOV RDX,RBP
LEA RDI,[0x1a8888]
MOV RSI,RBX
LEA R12,[RBX + 0x8]
CALL 0x00114700
MOV RDX,RBP
MOV RSI,R12
MOV RDI,RBX
CALL 0x001146c0
XOR R9D,R9D
MOV ECX,0x8
MOV RDI,RBX
LEA R8,[0x1a87d1]
LEA RDX,[0x1a8880]
MOV ESI,0x8
CALL 0x001143c0
TEST EAX,EAX
JNZ 0x00126308
XOR R9D,R9D
MOV ECX,0x8
MOV ESI,0x8
MOV RDI,R12
LEA R8,[0x1a87e4]
LEA RDX,[0x1a8888]
CALL 0x001143c0
MOV R13D,EAX
TEST EAX,EAX
JNZ 0x00126308
MOV qword ptr [RSP],0x0
MOV R12D,0x3e8
NOP
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x00114700
SUB R12D,0x8
JNZ 0x001261d0
MOV R12D,0x3e8
NOP dword ptr [RAX]
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RBX
CALL 0x001146c0
SUB R12D,0x8
JNZ 0x00126250
CMP byte ptr [RSP],0x0
JNZ 0x00126308
CMP byte ptr [RSP + 0x1],0x0
JNZ 0x00126308
CMP byte ptr [RSP + 0x2],0x0
JNZ 0x00126308
CMP byte ptr [RSP + 0x3],0x0
JNZ 0x00126308
CMP byte ptr [RSP + 0x4],0x0
JNZ 0x00126308
CMP byte ptr [RSP + 0x5],0x0
JNZ 0x00126308
CMP byte ptr [RSP + 0x6],0x0
JNZ 0x00126308
CMP byte ptr [RSP + 0x7],0x0
JZ 0x00126115
NOP dword ptr [RAX]
MOV R13D,0x5
JMP 0x00126115
CALL 0x00113880
(translation_unit "int safer_sk64_test(void)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "int safer_sk64_test(void)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "safer_sk64_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_10e8;" type_identifier identifier ;) (declaration "undefined1 local_10e0 [8];" type_identifier (array_declarator "local_10e0 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_10d8 [4264];" type_identifier (array_declarator "local_10d8 [4264]" identifier [ number_literal ]) ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(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 "iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);" (assignment_expression "iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8)" identifier = (call_expression "safer_sk64_setup(&DAT_001a8890,8,6,local_10d8)" identifier (argument_list "(&DAT_001a8890,8,6,local_10d8)" ( (pointer_expression "&DAT_001a8890" & identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" { (expression_statement "safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8)" identifier (argument_list "(&DAT_001a8888,&local_10e8,local_10d8)" ( (pointer_expression "&DAT_001a8888" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8)" identifier (argument_list "(&local_10e8,local_10e0,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , identifier , identifier ))) ;) (expression_statement "iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);" (assignment_expression "iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" identifier = (call_expression "compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" identifier (argument_list "(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" ( (pointer_expression "&local_10e8" & identifier) , number_literal , (pointer_expression "&DAT_001a8880" & identifier) , number_literal , (string_literal ""Safer SK64 Encrypt"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" { (expression_statement "iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);" (assignment_expression "iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" identifier = (call_expression "compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" identifier (argument_list "(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" ( identifier , number_literal , (pointer_expression "&DAT_001a8888" & identifier) , number_literal , (string_literal ""Safer SK64 Decrypt"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }" { (expression_statement "local_10e8 = 0;" (assignment_expression "local_10e8 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" identifier = number_literal) ;) (do_statement "do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" do (compound_statement "{\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        }" { (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" identifier = (binary_expression "iVar1 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" identifier = number_literal) ;) (do_statement "do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" do (compound_statement "{\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        }" { (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" identifier = (binary_expression "iVar1 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) (if_statement "if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;" if (parenthesized_expression "((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))" ( (binary_expression "(((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))))" (parenthesized_expression "(((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0'))))" ( (binary_expression "((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))" (parenthesized_expression "((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0'))" ( (binary_expression "(((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')" (parenthesized_expression "(((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0'))" ( (binary_expression "((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')" (parenthesized_expression "((char)local_10e8 == '\0')" ( (binary_expression "(char)local_10e8 == '\0'" (cast_expression "(char)local_10e8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_10e8._1_1_ == '\0')" ( (binary_expression "local_10e8._1_1_ == '\0'" (field_expression "local_10e8._1_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(local_10e8._2_1_ == '\0')" ( (binary_expression "local_10e8._2_1_ == '\0'" (field_expression "local_10e8._2_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))" ( (parenthesized_expression "(local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0'))" ( (binary_expression "local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')" (binary_expression "local_10e8._3_1_ == '\0'" (field_expression "local_10e8._3_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(local_10e8._4_1_ == '\0')" ( (binary_expression "local_10e8._4_1_ == '\0'" (field_expression "local_10e8._4_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) && (parenthesized_expression "((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))))" ( (parenthesized_expression "(local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))" ( (binary_expression "local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))" (binary_expression "local_10e8._5_1_ == '\0'" (field_expression "local_10e8._5_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))" ( (parenthesized_expression "(local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))" ( (binary_expression "local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')" (binary_expression "local_10e8._6_1_ == '\0'" (field_expression "local_10e8._6_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar1 = 0, local_10e8._7_1_ == '\0')" ( (comma_expression "iVar1 = 0, local_10e8._7_1_ == '\0'" (assignment_expression "iVar1 = 0" identifier = number_literal) , (binary_expression "local_10e8._7_1_ == '\0'" (field_expression "local_10e8._7_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00126115;" goto statement_identifier ;)) })) })) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" identifier = number_literal) ;) })) (labeled_statement "LAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_30 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 == *(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 iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint safer_sk64_test(void)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  uchar buf [2] [8];\n  symmetric_key skey;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey);\n    safer_ecb_decrypt(buf[0],buf[1],&skey);\n    iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment (function_definition "int safer_sk64_test(void)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  uchar buf [2] [8];\n  symmetric_key skey;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey);\n    safer_ecb_decrypt(buf[0],buf[1],&skey);\n    iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "safer_sk64_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  uchar buf [2] [8];\n  symmetric_key skey;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey);\n    safer_ecb_decrypt(buf[0],buf[1],&skey);\n    iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "uchar buf [2] [8];" type_identifier (array_declarator "buf [2] [8]" (array_declarator "buf [2]" identifier [ number_literal ]) [ number_literal ]) ;) (declaration "symmetric_key skey;" type_identifier identifier ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(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 "iVar1 = safer_sk64_setup("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey);" (assignment_expression "iVar1 = safer_sk64_setup("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey)" identifier = (call_expression "safer_sk64_setup("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey)" identifier (argument_list "("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey)" ( (string_literal ""\x01\x02\x03\x04\x05\x06\a\b"" " escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence ") , number_literal , number_literal , (pointer_expression "&skey" & identifier) )))) ;) (if_statement "if (iVar1 == 0) {\n    safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey);\n    safer_ecb_decrypt(buf[0],buf[1],&skey);\n    iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey);\n    safer_ecb_decrypt(buf[0],buf[1],&skey);\n    iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" { (expression_statement "safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey);" (call_expression "safer_ecb_encrypt("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey)" identifier (argument_list "("\x01\x02\x03\x04\x05\x06\a\b",buf[0],&skey)" ( (string_literal ""\x01\x02\x03\x04\x05\x06\a\b"" " escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence ") , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[1],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[1],&skey)" identifier (argument_list "(buf[0],buf[1],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[1]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0);" (assignment_expression "iVar1 = compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0)" identifier = (call_expression "compare_testvector(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0)" identifier (argument_list "(buf,8,safer_sk64_test::sk64_ct,8,"Safer SK64 Encrypt",0)" ( identifier , number_literal , identifier (ERROR "::sk64_ct" : : identifier) , number_literal , (string_literal ""Safer SK64 Encrypt"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" { (expression_statement "iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);" (assignment_expression "iVar1 = compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0)" identifier = (call_expression "compare_testvector(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0)" identifier (argument_list "(buf + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0)" ( (binary_expression "buf + 1" identifier + number_literal) , number_literal , (string_literal ""\x01\x02\x03\x04\x05\x06\a\b"" " escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence escape_sequence ") , number_literal , (string_literal ""Safer SK64 Decrypt"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        buf[0][0] = '\0';\n        buf[0][1] = '\0';\n        buf[0][2] = '\0';\n        buf[0][3] = '\0';\n        buf[0][4] = '\0';\n        buf[0][5] = '\0';\n        buf[0][6] = '\0';\n        buf[0][7] = '\0';\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;\n      }" { (expression_statement "buf[0][0] = '\0';" (assignment_expression "buf[0][0] = '\0'" (subscript_expression "buf[0][0]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf[0][1] = '\0';" (assignment_expression "buf[0][1] = '\0'" (subscript_expression "buf[0][1]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf[0][2] = '\0';" (assignment_expression "buf[0][2] = '\0'" (subscript_expression "buf[0][2]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf[0][3] = '\0';" (assignment_expression "buf[0][3] = '\0'" (subscript_expression "buf[0][3]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf[0][4] = '\0';" (assignment_expression "buf[0][4] = '\0'" (subscript_expression "buf[0][4]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf[0][5] = '\0';" (assignment_expression "buf[0][5] = '\0'" (subscript_expression "buf[0][5]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf[0][6] = '\0';" (assignment_expression "buf[0][6] = '\0'" (subscript_expression "buf[0][6]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf[0][7] = '\0';" (assignment_expression "buf[0][7] = '\0'" (subscript_expression "buf[0][7]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" identifier = number_literal) ;) (do_statement "do {\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" do (compound_statement "{\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          safer_ecb_encrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        }" { (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_encrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_encrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" identifier = (binary_expression "iVar1 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" identifier = number_literal) ;) (do_statement "do {\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" do (compound_statement "{\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          safer_ecb_decrypt(buf[0],buf[0],&skey);\n          iVar1 = iVar1 + -8;\n        }" { (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "safer_ecb_decrypt(buf[0],buf[0],&skey);" (call_expression "safer_ecb_decrypt(buf[0],buf[0],&skey)" identifier (argument_list "(buf[0],buf[0],&skey)" ( (subscript_expression "buf[0]" identifier [ number_literal ]) , (subscript_expression "buf[0]" identifier [ number_literal ]) , (pointer_expression "&skey" & identifier) ))) ;) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" identifier = (binary_expression "iVar1 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) (if_statement "if (((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))\n        goto LAB_00126115;" if (parenthesized_expression "(((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))))" ( (binary_expression "((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))) &&\n           ((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0')))))" (parenthesized_expression "((((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0'))))" ( (binary_expression "(((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')) &&\n            ((buf[0][3] == '\0' && (buf[0][4] == '\0')))" (parenthesized_expression "(((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0'))" ( (binary_expression "((buf[0][0] == '\0') && (buf[0][1] == '\0')) && (buf[0][2] == '\0')" (parenthesized_expression "((buf[0][0] == '\0') && (buf[0][1] == '\0'))" ( (binary_expression "(buf[0][0] == '\0') && (buf[0][1] == '\0')" (parenthesized_expression "(buf[0][0] == '\0')" ( (binary_expression "buf[0][0] == '\0'" (subscript_expression "buf[0][0]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(buf[0][1] == '\0')" ( (binary_expression "buf[0][1] == '\0'" (subscript_expression "buf[0][1]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(buf[0][2] == '\0')" ( (binary_expression "buf[0][2] == '\0'" (subscript_expression "buf[0][2]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((buf[0][3] == '\0' && (buf[0][4] == '\0')))" ( (parenthesized_expression "(buf[0][3] == '\0' && (buf[0][4] == '\0'))" ( (binary_expression "buf[0][3] == '\0' && (buf[0][4] == '\0')" (binary_expression "buf[0][3] == '\0'" (subscript_expression "buf[0][3]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(buf[0][4] == '\0')" ( (binary_expression "buf[0][4] == '\0'" (subscript_expression "buf[0][4]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) && (parenthesized_expression "((buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0')))))" ( (parenthesized_expression "(buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))))" ( (binary_expression "buf[0][5] == '\0' && ((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0')))" (binary_expression "buf[0][5] == '\0'" (subscript_expression "buf[0][5]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "((buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0')))" ( (parenthesized_expression "(buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0'))" ( (binary_expression "buf[0][6] == '\0' && (iVar1 = 0, buf[0][7] == '\0')" (binary_expression "buf[0][6] == '\0'" (subscript_expression "buf[0][6]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar1 = 0, buf[0][7] == '\0')" ( (comma_expression "iVar1 = 0, buf[0][7] == '\0'" (assignment_expression "iVar1 = 0" identifier = number_literal) , (binary_expression "buf[0][7] == '\0'" (subscript_expression "buf[0][7]" (subscript_expression "buf[0]" identifier [ number_literal ]) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00126115;" goto statement_identifier ;)) })) })) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" identifier = number_literal) ;) })) (labeled_statement "LAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_30 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 == *(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 iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "int safer_sk64_test(void)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "int safer_sk64_test(void)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" primitive_type (function_declarator "safer_sk64_test(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_10e8;" type_identifier identifier ;) (declaration "undefined1 local_10e0 [8];" type_identifier (array_declarator "local_10e0 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_10d8 [4264];" type_identifier (array_declarator "local_10d8 [4264]" identifier [ number_literal ]) ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(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 "iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);" (assignment_expression "iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8)" identifier = (call_expression "safer_sk64_setup(&DAT_001a8890,8,6,local_10d8)" identifier (argument_list "(&DAT_001a8890,8,6,local_10d8)" ( (pointer_expression "&DAT_001a8890" & identifier) , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" { (expression_statement "safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8)" identifier (argument_list "(&DAT_001a8888,&local_10e8,local_10d8)" ( (pointer_expression "&DAT_001a8888" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8)" identifier (argument_list "(&local_10e8,local_10e0,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , identifier , identifier ))) ;) (expression_statement "iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);" (assignment_expression "iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" identifier = (call_expression "compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" identifier (argument_list "(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" ( (pointer_expression "&local_10e8" & identifier) , number_literal , (pointer_expression "&DAT_001a8880" & identifier) , number_literal , (string_literal ""Safer SK64 Encrypt"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" { (expression_statement "iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);" (assignment_expression "iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" identifier = (call_expression "compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" identifier (argument_list "(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" ( identifier , number_literal , (pointer_expression "&DAT_001a8888" & identifier) , number_literal , (string_literal ""Safer SK64 Decrypt"" " string_content ") , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }" { (expression_statement "local_10e8 = 0;" (assignment_expression "local_10e8 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" identifier = number_literal) ;) (do_statement "do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" do (compound_statement "{\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        }" { (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" identifier = (binary_expression "iVar1 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" identifier = number_literal) ;) (do_statement "do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" do (compound_statement "{\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        }" { (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" identifier (argument_list "(&local_10e8,&local_10e8,local_10d8)" ( (pointer_expression "&local_10e8" & identifier) , (pointer_expression "&local_10e8" & identifier) , identifier ))) ;) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" identifier = (binary_expression "iVar1 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) (if_statement "if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;" if (parenthesized_expression "((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))" ( (binary_expression "(((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))))" (parenthesized_expression "(((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0'))))" ( (binary_expression "((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))" (parenthesized_expression "((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0'))" ( (binary_expression "(((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')" (parenthesized_expression "(((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0'))" ( (binary_expression "((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')" (parenthesized_expression "((char)local_10e8 == '\0')" ( (binary_expression "(char)local_10e8 == '\0'" (cast_expression "(char)local_10e8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_10e8._1_1_ == '\0')" ( (binary_expression "local_10e8._1_1_ == '\0'" (field_expression "local_10e8._1_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(local_10e8._2_1_ == '\0')" ( (binary_expression "local_10e8._2_1_ == '\0'" (field_expression "local_10e8._2_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))" ( (parenthesized_expression "(local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0'))" ( (binary_expression "local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')" (binary_expression "local_10e8._3_1_ == '\0'" (field_expression "local_10e8._3_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(local_10e8._4_1_ == '\0')" ( (binary_expression "local_10e8._4_1_ == '\0'" (field_expression "local_10e8._4_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) && (parenthesized_expression "((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))))" ( (parenthesized_expression "(local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))" ( (binary_expression "local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))" (binary_expression "local_10e8._5_1_ == '\0'" (field_expression "local_10e8._5_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))" ( (parenthesized_expression "(local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))" ( (binary_expression "local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')" (binary_expression "local_10e8._6_1_ == '\0'" (field_expression "local_10e8._6_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar1 = 0, local_10e8._7_1_ == '\0')" ( (comma_expression "iVar1 = 0, local_10e8._7_1_ == '\0'" (assignment_expression "iVar1 = 0" identifier = number_literal) , (binary_expression "local_10e8._7_1_ == '\0'" (field_expression "local_10e8._7_1_" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00126115;" goto statement_identifier ;)) })) })) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" identifier = number_literal) ;) })) (labeled_statement "LAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_30 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 == *(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 iVar1;\n  }" { (return_statement "return iVar1;" 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 (sized_type_specifier long) 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 = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & 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 , 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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (field_expression IDENT . field_identifier) == (char_literal ' escape_sequence '))) ))) )) ))) )) ))) )) (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 "int safer_sk64_test(void)\n\n{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" (primitive_type "int") (function_declarator "safer_sk64_test(void)" (identifier "safer_sk64_test") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  long in_FS_OFFSET;\n  undefined8 local_10e8;\n  undefined1 local_10e0 [8];\n  undefined1 local_10d8 [4264];\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);\n  if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }\nLAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "undefined8 local_10e8;" (type_identifier "undefined8") (identifier "local_10e8") (; ";")) (declaration "undefined1 local_10e0 [8];" (type_identifier "undefined1") (array_declarator "local_10e0 [8]" (identifier "local_10e0") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 local_10d8 [4264];" (type_identifier "undefined1") (array_declarator "local_10d8 [4264]" (identifier "local_10d8") ([ "[") (number_literal "4264") (] "]")) (; ";")) (declaration "long local_30;" (sized_type_specifier "long" (long "long")) (identifier "local_30") (; ";")) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_30") (= "=") (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 "iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);" (assignment_expression "iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8)" (identifier "iVar1") (= "=") (call_expression "safer_sk64_setup(&DAT_001a8890,8,6,local_10d8)" (identifier "safer_sk64_setup") (argument_list "(&DAT_001a8890,8,6,local_10d8)" (( "(") (pointer_expression "&DAT_001a8890" (& "&") (identifier "DAT_001a8890")) (, ",") (number_literal "8") (, ",") (number_literal "6") (, ",") (identifier "local_10d8") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);\n    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);\n    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);\n    if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }\n    iVar1 = 5;\n  }" ({ "{") (expression_statement "safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&DAT_001a8888,&local_10e8,local_10d8)" (( "(") (pointer_expression "&DAT_001a8888" (& "&") (identifier "DAT_001a8888")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,local_10e0,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10e0") (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);" (assignment_expression "iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" (identifier "compare_testvector") (argument_list "(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (number_literal "8") (, ",") (pointer_expression "&DAT_001a8880" (& "&") (identifier "DAT_001a8880")) (, ",") (number_literal "8") (, ",") (string_literal ""Safer SK64 Encrypt"" (" """) (string_content "Safer SK64 Encrypt") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);\n      if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }\n    }" ({ "{") (expression_statement "iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);" (assignment_expression "iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" (identifier "iVar1") (= "=") (call_expression "compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" (identifier "compare_testvector") (argument_list "(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0)" (( "(") (identifier "local_10e0") (, ",") (number_literal "8") (, ",") (pointer_expression "&DAT_001a8888" (& "&") (identifier "DAT_001a8888")) (, ",") (number_literal "8") (, ",") (string_literal ""Safer SK64 Decrypt"" (" """) (string_content "Safer SK64 Decrypt") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_10e8 = 0;\n        iVar1 = 1000;\n        do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        iVar1 = 1000;\n        do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);\n        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;\n      }" ({ "{") (expression_statement "local_10e8 = 0;" (assignment_expression "local_10e8 = 0" (identifier "local_10e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" (identifier "iVar1") (= "=") (number_literal "1000")) (; ";")) (do_statement "do {\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" (do "do") (compound_statement "{\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        }" ({ "{") (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_encrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" (identifier "iVar1") (= "=") (binary_expression "iVar1 + -8" (identifier "iVar1") (+ "+") (number_literal "-8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "iVar1 = 1000;" (assignment_expression "iVar1 = 1000" (identifier "iVar1") (= "=") (number_literal "1000")) (; ";")) (do_statement "do {\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        } while (iVar1 != 0);" (do "do") (compound_statement "{\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);\n          iVar1 = iVar1 + -8;\n        }" ({ "{") (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);" (call_expression "safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8)" (identifier "safer_ecb_decrypt") (argument_list "(&local_10e8,&local_10e8,local_10d8)" (( "(") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (pointer_expression "&local_10e8" (& "&") (identifier "local_10e8")) (, ",") (identifier "local_10d8") () ")"))) (; ";")) (expression_statement "iVar1 = iVar1 + -8;" (assignment_expression "iVar1 = iVar1 + -8" (identifier "iVar1") (= "=") (binary_expression "iVar1 + -8" (identifier "iVar1") (+ "+") (number_literal "-8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))\n        goto LAB_00126115;" (if "if") (parenthesized_expression "((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))" (( "(") (binary_expression "(((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&\n           ((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))))" (parenthesized_expression "(((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0'))))" (( "(") (binary_expression "((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')) &&\n            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))" (parenthesized_expression "((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0'))" (( "(") (binary_expression "(((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&\n             (local_10e8._2_1_ == '\0')" (parenthesized_expression "(((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0'))" (( "(") (binary_expression "((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')" (parenthesized_expression "((char)local_10e8 == '\0')" (( "(") (binary_expression "(char)local_10e8 == '\0'" (cast_expression "(char)local_10e8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_10e8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_10e8._1_1_ == '\0')" (( "(") (binary_expression "local_10e8._1_1_ == '\0'" (field_expression "local_10e8._1_1_" (identifier "local_10e8") (. ".") (field_identifier "_1_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_10e8._2_1_ == '\0')" (( "(") (binary_expression "local_10e8._2_1_ == '\0'" (field_expression "local_10e8._2_1_" (identifier "local_10e8") (. ".") (field_identifier "_2_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))" (( "(") (parenthesized_expression "(local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0'))" (( "(") (binary_expression "local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')" (binary_expression "local_10e8._3_1_ == '\0'" (field_expression "local_10e8._3_1_" (identifier "local_10e8") (. ".") (field_identifier "_3_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(local_10e8._4_1_ == '\0')" (( "(") (binary_expression "local_10e8._4_1_ == '\0'" (field_expression "local_10e8._4_1_" (identifier "local_10e8") (. ".") (field_identifier "_4_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))))" (( "(") (parenthesized_expression "(local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))" (( "(") (binary_expression "local_10e8._5_1_ == '\0' &&\n            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))" (binary_expression "local_10e8._5_1_ == '\0'" (field_expression "local_10e8._5_1_" (identifier "local_10e8") (. ".") (field_identifier "_5_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')))" (( "(") (parenthesized_expression "(local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))" (( "(") (binary_expression "local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0')" (binary_expression "local_10e8._6_1_ == '\0'" (field_expression "local_10e8._6_1_" (identifier "local_10e8") (. ".") (field_identifier "_6_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(iVar1 = 0, local_10e8._7_1_ == '\0')" (( "(") (comma_expression "iVar1 = 0, local_10e8._7_1_ == '\0'" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (, ",") (binary_expression "local_10e8._7_1_ == '\0'" (field_expression "local_10e8._7_1_" (identifier "local_10e8") (. ".") (field_identifier "_7_1_")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00126115;" (goto "goto") (statement_identifier "LAB_00126115") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar1 = 5;" (assignment_expression "iVar1 = 5" (identifier "iVar1") (= "=") (number_literal "5")) (; ";")) (} "}"))) (labeled_statement "LAB_00126115:\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" (statement_identifier "LAB_00126115") (: ":") (if_statement "if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(local_30 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_30 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_30") (== "==") (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 iVar1;\n  }" ({ "{") (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

int function_1(void)

{
  int var_3;
  long var_1;
  type_1 var_7 [2] [8];
  type_2 skey;
  long var_8;
  
  var_8 = *(long *)(var_1 + 0x28);
  var_3 = var_2("\x01\x02\x03\x04\x05\x06\a\b",8,6,&skey);
  if (var_3 == 0) {
    var_4("\x01\x02\x03\x04\x05\x06\a\b",var_7[0],&skey);
    var_5(var_7[0],var_7[1],&skey);
    var_3 = var_6(var_7,8,function_1::sk64_ct,8,"Safer SK64 Encrypt",0);
    if (var_3 == 0) {
      var_3 = var_6(var_7 + 1,8,"\x01\x02\x03\x04\x05\x06\a\b",8,"Safer SK64 Decrypt",0);
      if (var_3 == 0) {
        var_7[0][0] = '\0';
        var_7[0][1] = '\0';
        var_7[0][2] = '\0';
        var_7[0][3] = '\0';
        var_7[0][4] = '\0';
        var_7[0][5] = '\0';
        var_7[0][6] = '\0';
        var_7[0][7] = '\0';
        var_3 = 1000;
        do {
          var_4(var_7[0],var_7[0],&skey);
          var_4(var_7[0],var_7[0],&skey);
          var_4(var_7[0],var_7[0],&skey);
          var_4(var_7[0],var_7[0],&skey);
          var_4(var_7[0],var_7[0],&skey);
          var_4(var_7[0],var_7[0],&skey);
          var_4(var_7[0],var_7[0],&skey);
          var_4(var_7[0],var_7[0],&skey);
          var_3 = var_3 + -8;
        } while (var_3 != 0);
        var_3 = 1000;
        do {
          var_5(var_7[0],var_7[0],&skey);
          var_5(var_7[0],var_7[0],&skey);
          var_5(var_7[0],var_7[0],&skey);
          var_5(var_7[0],var_7[0],&skey);
          var_5(var_7[0],var_7[0],&skey);
          var_5(var_7[0],var_7[0],&skey);
          var_5(var_7[0],var_7[0],&skey);
          var_5(var_7[0],var_7[0],&skey);
          var_3 = var_3 + -8;
        } while (var_3 != 0);
        if (((((var_7[0][0] == '\0') && (var_7[0][1] == '\0')) && (var_7[0][2] == '\0')) &&
            ((var_7[0][3] == '\0' && (var_7[0][4] == '\0')))) &&
           ((var_7[0][5] == '\0' && ((var_7[0][6] == '\0' && (var_3 = 0, var_7[0][7] == '\0'))))))
        goto LAB_00126115;
      }
    }
    var_3 = 5;
  }
LAB_00126115:
  if (var_8 == *(long *)(var_1 + 0x28)) {
    return var_3;
  }
                    /* WARNING: Subroutine does not return */
  var_9();
}


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

int MASKED(void)

{
  int iVar1;
  long in_FS_OFFSET;
  undefined8 local_10e8;
  undefined1 local_10e0 [8];
  undefined1 local_10d8 [4264];
  long local_30;
  
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  iVar1 = safer_sk64_setup(&DAT_001a8890,8,6,local_10d8);
  if (iVar1 == 0) {
    safer_ecb_encrypt(&DAT_001a8888,&local_10e8,local_10d8);
    safer_ecb_decrypt(&local_10e8,local_10e0,local_10d8);
    iVar1 = compare_testvector(&local_10e8,8,&DAT_001a8880,8,"Safer SK64 Encrypt",0);
    if (iVar1 == 0) {
      iVar1 = compare_testvector(local_10e0,8,&DAT_001a8888,8,"Safer SK64 Decrypt",0);
      if (iVar1 == 0) {
        local_10e8 = 0;
        iVar1 = 1000;
        do {
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_encrypt(&local_10e8,&local_10e8,local_10d8);
          iVar1 = iVar1 + -8;
        } while (iVar1 != 0);
        iVar1 = 1000;
        do {
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          safer_ecb_decrypt(&local_10e8,&local_10e8,local_10d8);
          iVar1 = iVar1 + -8;
        } while (iVar1 != 0);
        if ((((((char)local_10e8 == '\0') && (local_10e8._1_1_ == '\0')) &&
             (local_10e8._2_1_ == '\0')) &&
            ((local_10e8._3_1_ == '\0' && (local_10e8._4_1_ == '\0')))) &&
           ((local_10e8._5_1_ == '\0' &&
            ((local_10e8._6_1_ == '\0' && (iVar1 = 0, local_10e8._7_1_ == '\0'))))))
        goto LAB_00126115;
      }
    }
    iVar1 = 5;
  }
LAB_00126115:
  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {
    return iVar1;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

