#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int final_decrypt(int, int);
int parametric_decode(int val, int mainkey, int key_F, int gkey1, int gkey2,
                      int gkey3) {
  int key_6a, key_7a, key_6b;
  int key_0a, key_0b, key_0c;
  int key_1a, key_1b, key_2a, key_2b, key_3a, key_3b, key_4a, key_4b, key_5a,
      key_5b;
  int global_xor0, global_xor1;
  int global_swap0a, global_swap1, global_swap2, global_swap3, global_swap4;
  int global_swap0b;
  global_xor0 = 1 ^ (((gkey1) >> (5)) & 1);
  global_xor1 = 1 ^ (((gkey1) >> (2)) & 1);
  global_swap2 = 1 ^ (((gkey1) >> (0)) & 1);
  global_swap0a = 1 ^ (((gkey2) >> (5)) & 1);
  global_swap0b = 1 ^ (((gkey2) >> (2)) & 1);
  global_swap3 = 1 ^ (((gkey3) >> (6)) & 1);
  global_swap1 = 1 ^ (((gkey3) >> (4)) & 1);
  global_swap4 = 1 ^ (((gkey3) >> (2)) & 1);
  key_0a = (((mainkey) >> (0)) & 1) ^ (((gkey3) >> (1)) & 1);
  key_0b = (((mainkey) >> (0)) & 1) ^ (((gkey1) >> (7)) & 1);
  key_0c = (((mainkey) >> (0)) & 1) ^ (((gkey1) >> (1)) & 1);
  key_1a = (((mainkey) >> (1)) & 1) ^ (((gkey2) >> (7)) & 1);
  key_1b = (((mainkey) >> (1)) & 1) ^ (((gkey1) >> (3)) & 1);
  key_2a = (((mainkey) >> (2)) & 1) ^ (((gkey3) >> (7)) & 1);
  key_2b = (((mainkey) >> (2)) & 1) ^ (((gkey1) >> (4)) & 1);
  key_3a = (((mainkey) >> (3)) & 1) ^ (((gkey2) >> (0)) & 1);
  key_3b = (((mainkey) >> (3)) & 1) ^ (((gkey3) >> (3)) & 1);
  key_4a = (((mainkey) >> (4)) & 1) ^ (((gkey2) >> (3)) & 1);
  key_4b = (((mainkey) >> (4)) & 1) ^ (((gkey3) >> (0)) & 1);
  key_5a = (((mainkey) >> (5)) & 1) ^ (((gkey3) >> (5)) & 1);
  key_5b = (((mainkey) >> (5)) & 1) ^ (((gkey1) >> (6)) & 1);
  key_6a = (((mainkey) >> (6)) & 1) ^ (((gkey2) >> (1)) & 1);
  key_6b = (((mainkey) >> (6)) & 1) ^ (((gkey2) >> (6)) & 1);
  key_7a = (((mainkey) >> (7)) & 1) ^ (((gkey2) >> (4)) & 1);
  if ((val & 0xe000) == 0x0000)
    val = (((((val) >> (12)) & 1) << 15) | ((((val) >> (15)) & 1) << 14) |
           ((((val) >> (14)) & 1) << 13) | ((((val) >> (13)) & 1) << 12) |
           ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
           ((((val) >> (9)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
           ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
           ((((val) >> (5)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
           ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
           ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
  else {
    if (val & 0x8000) {
      if (!global_xor1)
        if (~val & 0x0008)
          val ^= 0x2410;
      if (~val & 0x0004)
        val ^= 0x0022;
      if (!key_1b)
        if (~val & 0x1000)
          val ^= 0x0848;
      if (!global_swap2)
        if (!key_0c)
          val ^= 0x4101;
      if (!key_2b)
        val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
               ((((val) >> (13)) & 1) << 13) | ((((val) >> (9)) & 1) << 12) |
               ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
               ((((val) >> (12)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
               ((((val) >> (2)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
               ((((val) >> (5)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
               ((((val) >> (3)) & 1) << 3) | ((((val) >> (7)) & 1) << 2) |
               ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
      val = 0x6561 ^
            (((((val) >> (15)) & 1) << 15) | ((((val) >> (9)) & 1) << 14) |
             ((((val) >> (10)) & 1) << 13) | ((((val) >> (13)) & 1) << 12) |
             ((((val) >> (3)) & 1) << 11) | ((((val) >> (12)) & 1) << 10) |
             ((((val) >> (0)) & 1) << 9) | ((((val) >> (14)) & 1) << 8) |
             ((((val) >> (6)) & 1) << 7) | ((((val) >> (5)) & 1) << 6) |
             ((((val) >> (2)) & 1) << 5) | ((((val) >> (11)) & 1) << 4) |
             ((((val) >> (8)) & 1) << 3) | ((((val) >> (1)) & 1) << 2) |
             ((((val) >> (4)) & 1) << 1) | ((((val) >> (7)) & 1) << 0));
    }
    if (val & 0x4000) {
      if (!global_xor0)
        if (val & 0x0800)
          val ^= 0x9048;
      if (!key_3a)
        if (val & 0x0004)
          val ^= 0x0202;
      if (!key_6a)
        if (val & 0x0400)
          val ^= 0x0004;
      if (!key_5b)
        if (!key_0b)
          val ^= 0x08a1;
      if (!global_swap0b)
        val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
               ((((val) >> (10)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
               ((((val) >> (11)) & 1) << 11) | ((((val) >> (13)) & 1) << 10) |
               ((((val) >> (9)) & 1) << 9) | ((((val) >> (4)) & 1) << 8) |
               ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
               ((((val) >> (5)) & 1) << 5) | ((((val) >> (8)) & 1) << 4) |
               ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
               ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
      val = 0x3523 ^
            (((((val) >> (13)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
             ((((val) >> (7)) & 1) << 13) | ((((val) >> (0)) & 1) << 12) |
             ((((val) >> (8)) & 1) << 11) | ((((val) >> (6)) & 1) << 10) |
             ((((val) >> (4)) & 1) << 9) | ((((val) >> (2)) & 1) << 8) |
             ((((val) >> (1)) & 1) << 7) | ((((val) >> (15)) & 1) << 6) |
             ((((val) >> (3)) & 1) << 5) | ((((val) >> (11)) & 1) << 4) |
             ((((val) >> (12)) & 1) << 3) | ((((val) >> (10)) & 1) << 2) |
             ((((val) >> (5)) & 1) << 1) | ((((val) >> (9)) & 1) << 0));
    }
    if (val & 0x2000) {
      if (!key_4a)
        if (val & 0x0100)
          val ^= 0x4210;
      if (!key_1a)
        if (val & 0x0040)
          val ^= 0x0080;
      if (!key_7a)
        if (val & 0x0001)
          val ^= 0x110a;
      if (!key_4b)
        if (!key_0a)
          val ^= 0x0040;
      if (!global_swap0a)
        if (!key_6b)
          val ^= 0x0404;
      if (!key_5b)
        val = (((((val) >> (0)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
               ((((val) >> (13)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
               ((((val) >> (15)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
               ((((val) >> (9)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
               ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
               ((((val) >> (11)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
               ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
               ((((val) >> (1)) & 1) << 1) | ((((val) >> (5)) & 1) << 0));
      val = 0x99a5 ^
            (((((val) >> (10)) & 1) << 15) | ((((val) >> (2)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (7)) & 1) << 12) |
             ((((val) >> (8)) & 1) << 11) | ((((val) >> (0)) & 1) << 10) |
             ((((val) >> (3)) & 1) << 9) | ((((val) >> (14)) & 1) << 8) |
             ((((val) >> (6)) & 1) << 7) | ((((val) >> (15)) & 1) << 6) |
             ((((val) >> (1)) & 1) << 5) | ((((val) >> (11)) & 1) << 4) |
             ((((val) >> (9)) & 1) << 3) | ((((val) >> (4)) & 1) << 2) |
             ((((val) >> (5)) & 1) << 1) | ((((val) >> (12)) & 1) << 0));
    }
    val = 0x87ff ^
          (((((val) >> (5)) & 1) << 15) | ((((val) >> (15)) & 1) << 14) |
           ((((val) >> (13)) & 1) << 13) | ((((val) >> (14)) & 1) << 12) |
           ((((val) >> (6)) & 1) << 11) | ((((val) >> (0)) & 1) << 10) |
           ((((val) >> (9)) & 1) << 9) | ((((val) >> (10)) & 1) << 8) |
           ((((val) >> (4)) & 1) << 7) | ((((val) >> (11)) & 1) << 6) |
           ((((val) >> (1)) & 1) << 5) | ((((val) >> (2)) & 1) << 4) |
           ((((val) >> (12)) & 1) << 3) | ((((val) >> (3)) & 1) << 2) |
           ((((val) >> (7)) & 1) << 1) | ((((val) >> (8)) & 1) << 0));
    if (!global_swap4)
      val = (((((val) >> (6)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
             ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
             ((((val) >> (9)) & 1) << 9) | ((((val) >> (5)) & 1) << 8) |
             ((((val) >> (7)) & 1) << 7) | ((((val) >> (15)) & 1) << 6) |
             ((((val) >> (8)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
             ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
             ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
    if (!global_swap3)
      val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (12)) & 1) << 14) |
             ((((val) >> (14)) & 1) << 13) | ((((val) >> (13)) & 1) << 12) |
             ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
             ((((val) >> (9)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
             ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
             ((((val) >> (5)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
             ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
             ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
    if (!global_swap2)
      val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
             ((((val) >> (11)) & 1) << 11) | ((((val) >> (2)) & 1) << 10) |
             ((((val) >> (9)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
             ((((val) >> (10)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
             ((((val) >> (5)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
             ((((val) >> (3)) & 1) << 3) | ((((val) >> (0)) & 1) << 2) |
             ((((val) >> (1)) & 1) << 1) | ((((val) >> (7)) & 1) << 0));
    if (!key_3b)
      val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
             ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
             ((((val) >> (4)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
             ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
             ((((val) >> (5)) & 1) << 5) | ((((val) >> (9)) & 1) << 4) |
             ((((val) >> (1)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
             ((((val) >> (3)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
    if (!key_2a)
      val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (12)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (14)) & 1) << 12) |
             ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
             ((((val) >> (9)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
             ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
             ((((val) >> (5)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
             ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
             ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
    if (!global_swap1)
      val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
             ((((val) >> (9)) & 1) << 11) | ((((val) >> (8)) & 1) << 10) |
             ((((val) >> (11)) & 1) << 9) | ((((val) >> (10)) & 1) << 8) |
             ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
             ((((val) >> (5)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
             ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
             ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
    if (!key_5a)
      val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
             ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
             ((((val) >> (9)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
             ((((val) >> (4)) & 1) << 7) | ((((val) >> (5)) & 1) << 6) |
             ((((val) >> (7)) & 1) << 5) | ((((val) >> (6)) & 1) << 4) |
             ((((val) >> (3)) & 1) << 3) | ((((val) >> (2)) & 1) << 2) |
             ((((val) >> (1)) & 1) << 1) | ((((val) >> (0)) & 1) << 0));
    if (!global_swap0a)
      val = (((((val) >> (15)) & 1) << 15) | ((((val) >> (14)) & 1) << 14) |
             ((((val) >> (13)) & 1) << 13) | ((((val) >> (12)) & 1) << 12) |
             ((((val) >> (11)) & 1) << 11) | ((((val) >> (10)) & 1) << 10) |
             ((((val) >> (9)) & 1) << 9) | ((((val) >> (8)) & 1) << 8) |
             ((((val) >> (7)) & 1) << 7) | ((((val) >> (6)) & 1) << 6) |
             ((((val) >> (5)) & 1) << 5) | ((((val) >> (4)) & 1) << 4) |
             ((((val) >> (0)) & 1) << 3) | ((((val) >> (3)) & 1) << 2) |
             ((((val) >> (2)) & 1) << 1) | ((((val) >> (1)) & 1) << 0));
  }
  return final_decrypt(val, key_F);
}


x86 assembly (clang, -O0):
<parametric_decode>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    %ecx,-0x10(%rbp)
mov    %r8d,-0x14(%rbp)
mov    %r9d,-0x18(%rbp)
mov    -0x10(%rbp),%eax
sar    $0x5,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x5c(%rbp)
mov    -0x10(%rbp),%eax
sar    $0x2,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x60(%rbp)
mov    -0x10(%rbp),%eax
sar    $0x0,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x14(%rbp),%eax
sar    $0x5,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x64(%rbp)
mov    -0x14(%rbp),%eax
sar    $0x2,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x78(%rbp)
mov    -0x18(%rbp),%eax
sar    $0x6,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x70(%rbp)
mov    -0x18(%rbp),%eax
sar    $0x4,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x68(%rbp)
mov    -0x18(%rbp),%eax
sar    $0x2,%eax
and    $0x1,%eax
xor    $0x1,%eax
mov    %eax,-0x74(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x0,%eax
and    $0x1,%eax
mov    -0x18(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x28(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x0,%eax
and    $0x1,%eax
mov    -0x10(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x0,%eax
and    $0x1,%eax
mov    -0x10(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x30(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x1,%eax
and    $0x1,%eax
mov    -0x14(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x34(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x1,%eax
and    $0x1,%eax
mov    -0x10(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x38(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x2,%eax
and    $0x1,%eax
mov    -0x18(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x3c(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x2,%eax
and    $0x1,%eax
mov    -0x10(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x40(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x3,%eax
and    $0x1,%eax
mov    -0x14(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x44(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x3,%eax
and    $0x1,%eax
mov    -0x18(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x48(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x4,%eax
and    $0x1,%eax
mov    -0x14(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x4,%eax
and    $0x1,%eax
mov    -0x18(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x50(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x5,%eax
and    $0x1,%eax
mov    -0x18(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x54(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x5,%eax
and    $0x1,%eax
mov    -0x10(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x58(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x6,%eax
and    $0x1,%eax
mov    -0x14(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x6,%eax
and    $0x1,%eax
mov    -0x14(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x8(%rbp),%eax
sar    $0x7,%eax
and    $0x1,%eax
mov    -0x14(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
xor    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x4(%rbp),%eax
and    $0xe000,%eax
cmp    $0x0,%eax
jne    140e <parametric_decode+0x2fe>
mov    -0x4(%rbp),%eax
sar    $0xc,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xf,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
jmp    23f4 <parametric_decode+0x12e4>
mov    -0x4(%rbp),%eax
and    $0x8000,%eax
cmp    $0x0,%eax
je     1689 <parametric_decode+0x579>
cmpl   $0x0,-0x60(%rbp)
jne    144b <parametric_decode+0x33b>
mov    -0x4(%rbp),%eax
xor    $0xffffffff,%eax
and    $0x8,%eax
cmp    $0x0,%eax
je     1446 <parametric_decode+0x336>
mov    -0x4(%rbp),%eax
xor    $0x2410,%eax
mov    %eax,-0x4(%rbp)
jmp    144b <parametric_decode+0x33b>
mov    -0x4(%rbp),%eax
xor    $0xffffffff,%eax
and    $0x4,%eax
cmp    $0x0,%eax
je     1466 <parametric_decode+0x356>
mov    -0x4(%rbp),%eax
xor    $0x22,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x38(%rbp)
jne    1494 <parametric_decode+0x384>
mov    -0x4(%rbp),%eax
xor    $0xffffffff,%eax
and    $0x1000,%eax
cmp    $0x0,%eax
je     148f <parametric_decode+0x37f>
mov    -0x4(%rbp),%eax
xor    $0x848,%eax
mov    %eax,-0x4(%rbp)
jmp    1494 <parametric_decode+0x384>
cmpl   $0x0,-0x6c(%rbp)
jne    14b8 <parametric_decode+0x3a8>
cmpl   $0x0,-0x30(%rbp)
jne    14b3 <parametric_decode+0x3a3>
mov    -0x4(%rbp),%eax
xor    $0x4101,%eax
mov    %eax,-0x4(%rbp)
jmp    14b8 <parametric_decode+0x3a8>
cmpl   $0x0,-0x40(%rbp)
jne    15a3 <parametric_decode+0x493>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
xor    $0x6561,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
and    $0x4000,%eax
cmp    $0x0,%eax
je     190c <parametric_decode+0x7fc>
cmpl   $0x0,-0x5c(%rbp)
jne    16c5 <parametric_decode+0x5b5>
mov    -0x4(%rbp),%eax
and    $0x800,%eax
cmp    $0x0,%eax
je     16c0 <parametric_decode+0x5b0>
mov    -0x4(%rbp),%eax
xor    $0x9048,%eax
mov    %eax,-0x4(%rbp)
jmp    16c5 <parametric_decode+0x5b5>
cmpl   $0x0,-0x44(%rbp)
jne    16ee <parametric_decode+0x5de>
mov    -0x4(%rbp),%eax
and    $0x4,%eax
cmp    $0x0,%eax
je     16e9 <parametric_decode+0x5d9>
mov    -0x4(%rbp),%eax
xor    $0x202,%eax
mov    %eax,-0x4(%rbp)
jmp    16ee <parametric_decode+0x5de>
cmpl   $0x0,-0x1c(%rbp)
jne    1717 <parametric_decode+0x607>
mov    -0x4(%rbp),%eax
and    $0x400,%eax
cmp    $0x0,%eax
je     1712 <parametric_decode+0x602>
mov    -0x4(%rbp),%eax
xor    $0x4,%eax
mov    %eax,-0x4(%rbp)
jmp    1717 <parametric_decode+0x607>
cmpl   $0x0,-0x58(%rbp)
jne    173b <parametric_decode+0x62b>
cmpl   $0x0,-0x2c(%rbp)
jne    1736 <parametric_decode+0x626>
mov    -0x4(%rbp),%eax
xor    $0x8a1,%eax
mov    %eax,-0x4(%rbp)
jmp    173b <parametric_decode+0x62b>
cmpl   $0x0,-0x78(%rbp)
jne    1826 <parametric_decode+0x716>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
sar    $0xd,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xf,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
xor    $0x3523,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
and    $0x2000,%eax
cmp    $0x0,%eax
je     1bb1 <parametric_decode+0xaa1>
cmpl   $0x0,-0x4c(%rbp)
jne    1948 <parametric_decode+0x838>
mov    -0x4(%rbp),%eax
and    $0x100,%eax
cmp    $0x0,%eax
je     1943 <parametric_decode+0x833>
mov    -0x4(%rbp),%eax
xor    $0x4210,%eax
mov    %eax,-0x4(%rbp)
jmp    1948 <parametric_decode+0x838>
cmpl   $0x0,-0x34(%rbp)
jne    1971 <parametric_decode+0x861>
mov    -0x4(%rbp),%eax
and    $0x40,%eax
cmp    $0x0,%eax
je     196c <parametric_decode+0x85c>
mov    -0x4(%rbp),%eax
xor    $0x80,%eax
mov    %eax,-0x4(%rbp)
jmp    1971 <parametric_decode+0x861>
cmpl   $0x0,-0x20(%rbp)
jne    199a <parametric_decode+0x88a>
mov    -0x4(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     1995 <parametric_decode+0x885>
mov    -0x4(%rbp),%eax
xor    $0x110a,%eax
mov    %eax,-0x4(%rbp)
jmp    199a <parametric_decode+0x88a>
cmpl   $0x0,-0x50(%rbp)
jne    19bc <parametric_decode+0x8ac>
cmpl   $0x0,-0x28(%rbp)
jne    19b7 <parametric_decode+0x8a7>
mov    -0x4(%rbp),%eax
xor    $0x40,%eax
mov    %eax,-0x4(%rbp)
jmp    19bc <parametric_decode+0x8ac>
cmpl   $0x0,-0x64(%rbp)
jne    19e0 <parametric_decode+0x8d0>
cmpl   $0x0,-0x24(%rbp)
jne    19db <parametric_decode+0x8cb>
mov    -0x4(%rbp),%eax
xor    $0x404,%eax
mov    %eax,-0x4(%rbp)
jmp    19e0 <parametric_decode+0x8d0>
cmpl   $0x0,-0x58(%rbp)
jne    1acb <parametric_decode+0x9bb>
mov    -0x4(%rbp),%eax
sar    $0x0,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xf,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
sar    $0xa,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xf,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
xor    $0x99a5,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
sar    $0x5,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xf,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
xor    $0x87ff,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x74(%rbp)
jne    1d82 <parametric_decode+0xc72>
mov    -0x4(%rbp),%eax
sar    $0x6,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xf,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x70(%rbp)
jne    1e6d <parametric_decode+0xd5d>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x6c(%rbp)
jne    1f58 <parametric_decode+0xe48>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x48(%rbp)
jne    2043 <parametric_decode+0xf33>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x3c(%rbp)
jne    212e <parametric_decode+0x101e>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x68(%rbp)
jne    2219 <parametric_decode+0x1109>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x54(%rbp)
jne    2304 <parametric_decode+0x11f4>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
cmpl   $0x0,-0x64(%rbp)
jne    23ef <parametric_decode+0x12df>
mov    -0x4(%rbp),%eax
sar    $0xf,%eax
and    $0x1,%eax
shl    $0xf,%eax
mov    -0x4(%rbp),%ecx
sar    $0xe,%ecx
and    $0x1,%ecx
shl    $0xe,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xd,%ecx
and    $0x1,%ecx
shl    $0xd,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xc,%ecx
and    $0x1,%ecx
shl    $0xc,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xb,%ecx
and    $0x1,%ecx
shl    $0xb,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0xa,%ecx
and    $0x1,%ecx
shl    $0xa,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x9,%ecx
and    $0x1,%ecx
shl    $0x9,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x8,%ecx
and    $0x1,%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x7,%ecx
and    $0x1,%ecx
shl    $0x7,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x6,%ecx
and    $0x1,%ecx
shl    $0x6,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x5,%ecx
and    $0x1,%ecx
shl    $0x5,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x4,%ecx
and    $0x1,%ecx
shl    $0x4,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x0,%ecx
and    $0x1,%ecx
shl    $0x3,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x3,%ecx
and    $0x1,%ecx
shl    $0x2,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x2,%ecx
and    $0x1,%ecx
shl    $0x1,%ecx
or     %ecx,%eax
mov    -0x4(%rbp),%ecx
sar    $0x1,%ecx
and    $0x1,%ecx
shl    $0x0,%ecx
or     %ecx,%eax
mov    %eax,-0x4(%rbp)
jmp    23f4 <parametric_decode+0x12e4>
mov    -0x4(%rbp),%edi
mov    -0xc(%rbp),%esi
call   1030 <final_decrypt@plt>
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<parametric_decode>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
xor    %r14d,%r14d
test   $0x20,%r8b
sete   %al
test   $0xe000,%edi
je     119e <parametric_decode+0x8e>
mov    %ecx,%r15d
mov    %esi,%r10d
mov    %al,-0x1d(%rsp)
mov    %r9d,-0x18(%rsp)
mov    %edx,-0x10(%rsp)
not    %ecx
and    $0x1,%ecx
mov    %esi,%r13d
and    $0x1,%r13d
mov    %esi,%r12d
shr    %r12d
and    $0x1,%r12d
shr    $0x2,%esi
and    $0x1,%esi
mov    %r10d,%eax
shr    $0x3,%eax
mov    %r10d,%edx
shr    $0x5,%edx
and    $0x1,%edx
mov    %edx,-0x1c(%rsp)
mov    %r15d,%r9d
shr    $0x6,%r9d
and    $0x1,%r9d
mov    %r10d,%r11d
shr    $0x6,%r11d
test   $0x8000,%edi
mov    %esi,-0x4(%rsp)
mov    %ecx,-0x8(%rsp)
mov    %r13d,-0xc(%rsp)
jne    11d1 <parametric_decode+0xc1>
mov    -0x1c(%rsp),%ecx
jmp    1327 <parametric_decode+0x217>
mov    %edi,%eax
and    $0x1000,%eax
mov    %edi,%ecx
shr    %ecx
mov    %ecx,%ebp
and    $0x4000,%ebp
mov    %ecx,%esi
and    $0x2000,%esi
and    $0x1000,%ecx
and    $0xfff,%edi
or     %ebp,%edi
lea    (%rdi,%rax,8),%eax
or     %esi,%eax
jmp    18ee <parametric_decode+0x7de>
mov    %eax,-0x14(%rsp)
mov    %r15d,%eax
shr    %eax
and    $0x1,%eax
mov    %r15d,%edx
shr    $0x3,%edx
and    $0x1,%edx
mov    %r15d,%r14d
shr    $0x4,%r14d
and    $0x1,%r14d
mov    %edi,%ebp
xor    $0x2410,%ebp
test   $0x4,%r15b
cmove  %edi,%ebp
test   $0x8,%dil
cmovne %edi,%ebp
mov    %ebp,%edi
xor    $0x22,%edi
test   $0x4,%bpl
cmovne %ebp,%edi
xor    %r12d,%edx
mov    %edi,%ebp
and    $0x1000,%ebp
mov    %edi,%ebx
xor    $0x848,%ebx
or     %edx,%ebp
cmovne %edi,%ebx
xor    %r13d,%eax
mov    %ebx,%edx
xor    $0x4101,%edx
or     %ecx,%eax
cmovne %ebx,%edx
cmp    %r14d,%esi
jne    1271 <parametric_decode+0x161>
mov    %edx,%eax
and    $0x200,%eax
mov    %edx,%edi
shr    $0x3,%edi
and    $0x200,%edi
mov    %edx,%ebx
and    $0x4,%ebx
shl    $0x5,%ebx
mov    %edx,%ebp
shr    $0x5,%ebp
and    $0x4,%ebp
and    $0xed7b,%edx
lea    (%rdx,%rax,8),%edx
or     %edi,%edx
or     %ebx,%edx
or     %ebp,%edx
mov    -0x1c(%rsp),%ecx
mov    %edx,%eax
and    $0x8000,%eax
mov    %edx,%edi
shl    $0x5,%edi
and    $0x4000,%edi
or     %eax,%edi
lea    0x0(,%rdx,8),%eax
mov    %eax,%ebx
and    $0x2000,%ebx
or     %edi,%ebx
mov    %edx,%edi
shr    %edi
and    $0x1000,%edi
or     %ebx,%edi
mov    %edx,%ebx
and    $0x8,%ebx
shl    $0x8,%ebx
or     %edi,%ebx
mov    %edx,%edi
shr    $0x2,%edi
and    $0x400,%edi
or     %ebx,%edi
mov    %edx,%r14d
and    $0x1,%r14d
shl    $0x9,%r14d
or     %edi,%r14d
mov    %edx,%edi
shr    $0x6,%edi
and    $0x100,%edi
lea    (%rdx,%rdx,1),%ebx
mov    %ebx,%ebp
and    $0x80,%ebp
or     %edi,%ebp
mov    %ebx,%edi
and    $0x40,%edi
or     %ebp,%edi
and    $0x20,%eax
or     %edi,%eax
mov    %edx,%edi
shr    $0x7,%edi
mov    %edi,%ebp
and    $0x10,%ebp
or     %eax,%ebp
mov    %edx,%eax
shr    $0x5,%eax
and    $0x8,%eax
or     %ebp,%eax
and    $0x4,%ebx
or     %eax,%ebx
or     %r14d,%ebx
shr    $0x3,%edx
and    $0x2,%edx
and    $0x1,%edi
or     %edx,%edi
or     %ebx,%edi
xor    $0x6561,%edi
xor    %r14d,%r14d
mov    -0x14(%rsp),%eax
and    $0x1,%eax
xor    %ecx,%r9d
and    $0x1,%r11d
test   $0x4000,%edi
mov    %eax,-0x14(%rsp)
jne    1347 <parametric_decode+0x237>
mov    -0xc(%rsp),%r13d
jmp    148d <parametric_decode+0x37d>
mov    %eax,%esi
mov    %r15d,%eax
shr    $0x7,%eax
mov    %r8d,%edx
shr    %edx
and    $0x1,%eax
mov    %r8d,%ebx
and    $0x1,%ebx
and    $0x1,%edx
mov    %edi,%ebp
xor    $0x9048,%ebp
test   $0x800,%edi
cmove  %edi,%ebp
test   $0x20,%r15b
cmove  %edi,%ebp
mov    %ebp,%ecx
xor    $0x202,%ecx
test   $0x4,%bpl
cmove  %ebp,%ecx
cmp    %ebx,%esi
cmovne %ebp,%ecx
mov    %ecx,%edi
xor    $0x4,%edi
test   $0x400,%ecx
cmove  %ecx,%edi
cmp    %edx,%r11d
cmovne %ecx,%edi
mov    -0xc(%rsp),%r13d
xor    %r13d,%eax
mov    %edi,%ecx
xor    $0x8a1,%ecx
or     %r9d,%eax
cmovne %edi,%ecx
test   $0x4,%r8b
je     13ed <parametric_decode+0x2dd>
mov    %ecx,%eax
and    $0x400,%eax
mov    %ecx,%edx
shr    $0x3,%edx
and    $0x400,%edx
mov    %ecx,%edi
and    $0x10,%edi
shl    $0x4,%edi
mov    %ecx,%ebx
shr    $0x4,%ebx
and    $0x10,%ebx
and    $0xdaef,%ecx
lea    (%rcx,%rax,8),%ecx
or     %edx,%ecx
or     %edi,%ecx
or     %ebx,%ecx
lea    0x0(,%rcx,4),%edx
mov    %edx,%eax
and    $0x8000,%eax
mov    %ecx,%edi
and    $0x4000,%edi
or     %eax,%edi
mov    %ecx,%eax
shl    $0x6,%eax
mov    %eax,%ebx
and    $0x2000,%ebx
or     %edi,%ebx
mov    %ecx,%edi
and    $0x1,%edi
shl    $0xc,%edi
or     %ebx,%edi
mov    %ecx,%ebx
and    $0x100,%ebx
lea    (%rdi,%rbx,8),%edi
mov    %ecx,%ebp
and    $0x40,%ebp
shl    $0x4,%ebp
or     %edi,%ebp
mov    %ecx,%ebx
and    $0x10,%ebx
shl    $0x5,%ebx
or     %ebp,%ebx
mov    %eax,%edi
and    $0x100,%edi
and    $0x80,%eax
or     %edi,%eax
mov    %ecx,%edi
shr    $0x9,%edi
mov    %edi,%ebp
and    $0x40,%ebp
or     %eax,%ebp
and    $0x20,%edx
or     %ebp,%edx
mov    %ecx,%eax
shr    $0x7,%eax
and    $0x10,%eax
or     %edx,%eax
mov    %edi,%edx
and    $0x8,%edx
or     %eax,%edx
mov    %ecx,%eax
shr    $0x8,%eax
and    $0x4,%eax
or     %edx,%eax
or     %ebx,%eax
shr    $0x4,%ecx
and    $0x2,%ecx
and    $0x1,%edi
or     %ecx,%edi
or     %eax,%edi
xor    $0x3523,%edi
mov    -0x1d(%rsp),%al
mov    %al,%r14b
test   $0x2000,%edi
jne    14ab <parametric_decode+0x39b>
mov    -0x18(%rsp),%r9d
mov    -0x1c(%rsp),%r13d
jmp    163e <parametric_decode+0x52e>
mov    %r14d,%r15d
mov    -0x18(%rsp),%esi
mov    %esi,%r14d
shr    %r14d
mov    %r8d,%ebx
shr    $0x7,%ebx
mov    %r10d,%eax
shr    $0x4,%eax
mov    %r8d,%ebp
shr    $0x3,%ebp
mov    %r8d,%edx
shr    $0x6,%edx
shr    $0x7,%r10d
shr    $0x4,%r8d
xor    %r10d,%r8d
and    $0x1,%r14d
and    $0x1,%ebx
and    $0x1,%eax
and    $0x1,%ebp
and    $0x1,%esi
and    $0x1,%edx
mov    %edi,%ecx
xor    $0x4210,%ecx
test   $0x100,%edi
cmove  %edi,%ecx
cmp    %ebp,%eax
cmovne %edi,%ecx
mov    %ecx,%edi
xor    $0x80,%edi
test   $0x40,%cl
cmove  %ecx,%edi
cmp    %ebx,%r12d
cmovne %ecx,%edi
mov    %edi,%ecx
xor    $0x110a,%ecx
test   $0x1,%dil
cmove  %edi,%ecx
test   $0x1,%r8b
cmovne %edi,%ecx
xor    %eax,%esi
xor    %r14d,%r13d
mov    %r15d,%r14d
mov    %ecx,%edi
xor    $0x40,%edi
or     %esi,%r13d
cmovne %ecx,%edi
xor    %edx,%r11d
mov    %edi,%edx
xor    $0x404,%edx
or     %r15d,%r11d
cmovne %edi,%edx
test   %r9d,%r9d
jne    1588 <parametric_decode+0x478>
mov    %edx,%ecx
shl    $0xf,%ecx
movzwl %cx,%ecx
mov    %edx,%esi
shr    $0x4,%esi
and    $0x800,%esi
mov    %edx,%eax
shr    $0x6,%eax
and    $0x20,%eax
mov    %edx,%edi
shr    $0x5,%edi
and    $0x1,%edi
and    $0x77de,%edx
or     %ecx,%edx
or     %esi,%edx
or     %eax,%edx
or     %edi,%edx
mov    %edx,%ecx
shl    $0x5,%ecx
mov    %ecx,%esi
and    $0x8000,%esi
mov    %edx,%eax
and    $0x4,%eax
shl    $0xc,%eax
mov    %edx,%edi
and    $0x2000,%edi
or     %eax,%edi
or     %esi,%edi
and    $0x1000,%ecx
or     %edi,%ecx
mov    %edx,%r8d
and    $0x100,%r8d
mov    %edx,%r10d
and    $0x1,%r10d
shl    $0xa,%r10d
mov    %edx,%ebp
and    $0x8,%ebp
shl    $0x6,%ebp
mov    %edx,%edi
shr    $0x6,%edi
mov    %edi,%ebx
and    $0x100,%ebx
mov    %edx,%eax
and    $0x40,%eax
add    %eax,%eax
or     %ebx,%eax
mov    %edx,%esi
shr    $0x9,%esi
and    $0x40,%esi
or     %eax,%esi
mov    %edx,%eax
shl    $0x4,%eax
and    $0x20,%eax
or     %esi,%eax
mov    %edx,%esi
shr    $0x7,%esi
and    $0x10,%esi
or     %eax,%esi
and    $0x8,%edi
or     %esi,%edi
mov    %edx,%eax
shr    $0x2,%eax
and    $0x4,%eax
or     %edi,%eax
mov    %edx,%esi
shr    $0x4,%esi
and    $0x2,%esi
shr    $0xc,%edx
and    $0x1,%edx
or     %esi,%edx
lea    (%rcx,%r8,8),%edi
or     %r10d,%edi
or     %ebp,%edi
or     %eax,%edi
or     %edx,%edi
xor    $0x99a5,%edi
mov    -0x1c(%rsp),%r13d
mov    -0x18(%rsp),%r9d
mov    %edi,%edx
shl    $0xa,%edx
mov    %edx,%r10d
and    $0x8000,%r10d
mov    %edi,%eax
shr    %eax
mov    %eax,%ecx
and    $0x4000,%ecx
mov    %edi,%esi
shr    $0x2,%esi
mov    %esi,%r8d
and    $0x1000,%r8d
mov    %edi,%r11d
and    $0x40,%r11d
shl    $0x5,%r11d
and    $0x400,%edx
and    $0x100,%esi
mov    %edi,%ebp
and    $0x10,%ebp
shl    $0x3,%ebp
mov    %edi,%ebx
shr    $0x5,%ebx
and    $0x40,%ebx
or     %ebp,%ebx
mov    %edi,%ebp
shl    $0x4,%ebp
and    $0x20,%ebp
or     %ebx,%ebp
lea    0x0(,%rdi,4),%ebx
and    $0x10,%ebx
or     %ebp,%ebx
mov    %edi,%ebp
shr    $0x9,%ebp
and    $0x8,%ebp
or     %ebx,%ebp
and    $0x4,%eax
or     %ebp,%eax
mov    %edi,%ebx
shr    $0x6,%ebx
and    $0x2,%ebx
or     %eax,%ebx
mov    %edi,%ebp
shr    $0x8,%ebp
and    $0x1,%ebp
mov    %edi,%eax
and    $0x2200,%eax
or     %ecx,%eax
or     %r10d,%eax
or     %r8d,%eax
or     %r11d,%eax
or     %edx,%eax
or     %esi,%eax
or     %ebx,%eax
or     %ebp,%eax
xor    $0x87ff,%eax
test   $0x4,%r9b
je     1779 <parametric_decode+0x669>
and    $0x2000,%edi
mov    %r14d,%r12d
mov    %eax,%r14d
and    $0x40,%r14d
shl    $0x9,%r14d
mov    %eax,%r10d
and    $0x400,%r10d
mov    %eax,%edx
and    $0x200,%edx
mov    %eax,%ebp
and    $0x20,%ebp
shl    $0x3,%ebp
mov    %eax,%r15d
and    $0x80,%r15d
or     %edx,%r15d
mov    %eax,%esi
shr    $0x9,%esi
and    $0x40,%esi
mov    %eax,%edx
shr    $0x3,%edx
and    $0x20,%edx
or     %esi,%edx
mov    %eax,%esi
and    $0x10,%esi
mov    %eax,%ebx
and    $0x8,%ebx
or     %esi,%ebx
mov    %eax,%esi
and    $0x4,%esi
or     %ebx,%esi
mov    %eax,%ebx
and    $0x2,%ebx
and    $0x1,%eax
or     %ebx,%eax
or     %r14d,%eax
mov    %r12d,%r14d
or     %ebp,%eax
or     %edi,%ecx
or     %r8d,%ecx
or     %r11d,%ecx
or     %r10d,%ecx
or     %r15d,%ecx
or     %esi,%ecx
or     %eax,%ecx
or     %edx,%ecx
mov    %ecx,%eax
mov    %r9d,%ebp
shr    $0x3,%ebp
test   $0x40,%r9b
je     17ab <parametric_decode+0x69b>
mov    %eax,%ecx
and    $0x1000,%ecx
mov    %eax,%esi
shr    %esi
mov    %esi,%edi
and    $0x2000,%edi
and    $0x1000,%esi
and    $0x8fff,%eax
lea    (%rax,%rcx,4),%eax
or     %edi,%eax
or     %esi,%eax
mov    -0x8(%rsp),%edx
mov    %r9d,%ecx
shr    $0x7,%ecx
and    $0x1,%ebp
test   %edx,%edx
jne    17ea <parametric_decode+0x6da>
mov    %eax,%esi
and    $0x4,%esi
shl    $0x8,%esi
mov    %eax,%edi
shr    $0x3,%edi
and    $0x80,%edi
mov    %eax,%edx
and    $0x1,%edx
mov    %eax,%ebx
shr    $0x7,%ebx
and    $0x1,%ebx
and    $0xfb7a,%eax
or     %esi,%eax
or     %edi,%eax
lea    (%rax,%rdx,4),%eax
or     %ebx,%eax
mov    -0x10(%rsp),%edx
and    $0x1,%ecx
cmp    %ebp,-0x14(%rsp)
jne    1822 <parametric_decode+0x712>
mov    %eax,%ebx
and    $0x10,%ebx
shl    $0x5,%ebx
mov    %eax,%esi
shr    $0x5,%esi
and    $0x10,%esi
mov    %eax,%edi
and    $0x2,%edi
mov    %eax,%ebp
shr    $0x2,%ebp
and    $0x2,%ebp
and    $0xfde5,%eax
or     %ebx,%eax
or     %esi,%eax
lea    (%rax,%rdi,4),%eax
or     %ebp,%eax
mov    -0x4(%rsp),%esi
mov    %r9d,%ebx
shr    $0x5,%ebx
cmp    %ecx,%esi
jne    184d <parametric_decode+0x73d>
mov    %eax,%ecx
and    $0x1000,%ecx
mov    %eax,%esi
shr    $0x2,%esi
and    $0x1000,%esi
and    $0xafff,%eax
lea    (%rax,%rcx,4),%eax
or     %esi,%eax
and    $0x1,%ebx
test   $0x10,%r9b
jne    1866 <parametric_decode+0x756>
cmp    %ebx,%r13d
je     18a0 <parametric_decode+0x790>
test   %r14d,%r14d
jne    18f0 <parametric_decode+0x7e0>
jmp    18cb <parametric_decode+0x7bb>
lea    0x0(,%rax,4),%ecx
mov    %ecx,%esi
and    $0x800,%esi
and    $0x400,%ecx
mov    %eax,%edi
shr    $0x2,%edi
mov    %edi,%ebp
and    $0x200,%ebp
and    $0x100,%edi
and    $0xf0ff,%eax
or     %esi,%eax
or     %ecx,%eax
or     %ebp,%eax
or     %edi,%eax
cmp    %ebx,%r13d
jne    185b <parametric_decode+0x74b>
mov    %eax,%ecx
and    $0x10,%ecx
mov    %eax,%ebp
and    $0x20,%ebp
mov    %eax,%esi
shr    $0x2,%esi
mov    %esi,%edi
and    $0x20,%edi
and    $0x10,%esi
and    $0xff0f,%eax
lea    (%rax,%rcx,8),%eax
lea    (%rax,%rbp,2),%eax
or     %edi,%eax
or     %esi,%eax
test   %r14d,%r14d
jne    18f0 <parametric_decode+0x7e0>
mov    %eax,%ecx
and    $0xfff0,%ecx
mov    %eax,%esi
and    $0x1,%esi
lea    (%rcx,%rsi,8),%ecx
shr    %eax
mov    %eax,%esi
and    $0x4,%esi
or     %ecx,%esi
mov    %eax,%ecx
and    $0x2,%ecx
or     %esi,%ecx
and    $0x1,%eax
or     %ecx,%eax
mov    %eax,%edi
mov    %edx,%esi
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1030 <final_decrypt@plt>

LLVM IR (-O0):
define i32 @parametric_decode(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5) {
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i32
%29 = alloca i32
%30 = alloca i32
%31 = alloca i32
%32 = alloca i32
%33 = alloca i32
%34 = alloca i32
%35 = alloca i32
%36 = alloca i32
store i32 %0, i32* %7
store i32 %1, i32* %8
store i32 %2, i32* %9
store i32 %3, i32* %10
store i32 %4, i32* %11
store i32 %5, i32* %12
%37 = load i32, i32* %10
%38 = ashr i32 %37, 5
%39 = and i32 %38, 1
%40 = xor i32 1, %39
store i32 %40, i32* %29
%41 = load i32, i32* %10
%42 = ashr i32 %41, 2
%43 = and i32 %42, 1
%44 = xor i32 1, %43
store i32 %44, i32* %30
%45 = load i32, i32* %10
%46 = ashr i32 %45, 0
%47 = and i32 %46, 1
%48 = xor i32 1, %47
store i32 %48, i32* %33
%49 = load i32, i32* %11
%50 = ashr i32 %49, 5
%51 = and i32 %50, 1
%52 = xor i32 1, %51
store i32 %52, i32* %31
%53 = load i32, i32* %11
%54 = ashr i32 %53, 2
%55 = and i32 %54, 1
%56 = xor i32 1, %55
store i32 %56, i32* %36
%57 = load i32, i32* %12
%58 = ashr i32 %57, 6
%59 = and i32 %58, 1
%60 = xor i32 1, %59
store i32 %60, i32* %34
%61 = load i32, i32* %12
%62 = ashr i32 %61, 4
%63 = and i32 %62, 1
%64 = xor i32 1, %63
store i32 %64, i32* %32
%65 = load i32, i32* %12
%66 = ashr i32 %65, 2
%67 = and i32 %66, 1
%68 = xor i32 1, %67
store i32 %68, i32* %35
%69 = load i32, i32* %8
%70 = ashr i32 %69, 0
%71 = and i32 %70, 1
%72 = load i32, i32* %12
%73 = ashr i32 %72, 1
%74 = and i32 %73, 1
%75 = xor i32 %71, %74
store i32 %75, i32* %16
%76 = load i32, i32* %8
%77 = ashr i32 %76, 0
%78 = and i32 %77, 1
%79 = load i32, i32* %10
%80 = ashr i32 %79, 7
%81 = and i32 %80, 1
%82 = xor i32 %78, %81
store i32 %82, i32* %17
%83 = load i32, i32* %8
%84 = ashr i32 %83, 0
%85 = and i32 %84, 1
%86 = load i32, i32* %10
%87 = ashr i32 %86, 1
%88 = and i32 %87, 1
%89 = xor i32 %85, %88
store i32 %89, i32* %18
%90 = load i32, i32* %8
%91 = ashr i32 %90, 1
%92 = and i32 %91, 1
%93 = load i32, i32* %11
%94 = ashr i32 %93, 7
%95 = and i32 %94, 1
%96 = xor i32 %92, %95
store i32 %96, i32* %19
%97 = load i32, i32* %8
%98 = ashr i32 %97, 1
%99 = and i32 %98, 1
%100 = load i32, i32* %10
%101 = ashr i32 %100, 3
%102 = and i32 %101, 1
%103 = xor i32 %99, %102
store i32 %103, i32* %20
%104 = load i32, i32* %8
%105 = ashr i32 %104, 2
%106 = and i32 %105, 1
%107 = load i32, i32* %12
%108 = ashr i32 %107, 7
%109 = and i32 %108, 1
%110 = xor i32 %106, %109
store i32 %110, i32* %21
%111 = load i32, i32* %8
%112 = ashr i32 %111, 2
%113 = and i32 %112, 1
%114 = load i32, i32* %10
%115 = ashr i32 %114, 4
%116 = and i32 %115, 1
%117 = xor i32 %113, %116
store i32 %117, i32* %22
%118 = load i32, i32* %8
%119 = ashr i32 %118, 3
%120 = and i32 %119, 1
%121 = load i32, i32* %11
%122 = ashr i32 %121, 0
%123 = and i32 %122, 1
%124 = xor i32 %120, %123
store i32 %124, i32* %23
%125 = load i32, i32* %8
%126 = ashr i32 %125, 3
%127 = and i32 %126, 1
%128 = load i32, i32* %12
%129 = ashr i32 %128, 3
%130 = and i32 %129, 1
%131 = xor i32 %127, %130
store i32 %131, i32* %24
%132 = load i32, i32* %8
%133 = ashr i32 %132, 4
%134 = and i32 %133, 1
%135 = load i32, i32* %11
%136 = ashr i32 %135, 3
%137 = and i32 %136, 1
%138 = xor i32 %134, %137
store i32 %138, i32* %25
%139 = load i32, i32* %8
%140 = ashr i32 %139, 4
%141 = and i32 %140, 1
%142 = load i32, i32* %12
%143 = ashr i32 %142, 0
%144 = and i32 %143, 1
%145 = xor i32 %141, %144
store i32 %145, i32* %26
%146 = load i32, i32* %8
%147 = ashr i32 %146, 5
%148 = and i32 %147, 1
%149 = load i32, i32* %12
%150 = ashr i32 %149, 5
%151 = and i32 %150, 1
%152 = xor i32 %148, %151
store i32 %152, i32* %27
%153 = load i32, i32* %8
%154 = ashr i32 %153, 5
%155 = and i32 %154, 1
%156 = load i32, i32* %10
%157 = ashr i32 %156, 6
%158 = and i32 %157, 1
%159 = xor i32 %155, %158
store i32 %159, i32* %28
%160 = load i32, i32* %8
%161 = ashr i32 %160, 6
%162 = and i32 %161, 1
%163 = load i32, i32* %11
%164 = ashr i32 %163, 1
%165 = and i32 %164, 1
%166 = xor i32 %162, %165
store i32 %166, i32* %13
%167 = load i32, i32* %8
%168 = ashr i32 %167, 6
%169 = and i32 %168, 1
%170 = load i32, i32* %11
%171 = ashr i32 %170, 6
%172 = and i32 %171, 1
%173 = xor i32 %169, %172
store i32 %173, i32* %15
%174 = load i32, i32* %8
%175 = ashr i32 %174, 7
%176 = and i32 %175, 1
%177 = load i32, i32* %11
%178 = ashr i32 %177, 4
%179 = and i32 %178, 1
%180 = xor i32 %176, %179
store i32 %180, i32* %14
%181 = load i32, i32* %7
%182 = and i32 %181, 57344
%183 = icmp eq i32 %182, 0
br i1 %183, label %184, label %264
184: ; preds = %6
%185 = load i32, i32* %7
%186 = ashr i32 %185, 12
%187 = and i32 %186, 1
%188 = shl i32 %187, 15
%189 = load i32, i32* %7
%190 = ashr i32 %189, 15
%191 = and i32 %190, 1
%192 = shl i32 %191, 14
%193 = or i32 %188, %192
%194 = load i32, i32* %7
%195 = ashr i32 %194, 14
%196 = and i32 %195, 1
%197 = shl i32 %196, 13
%198 = or i32 %193, %197
%199 = load i32, i32* %7
%200 = ashr i32 %199, 13
%201 = and i32 %200, 1
%202 = shl i32 %201, 12
%203 = or i32 %198, %202
%204 = load i32, i32* %7
%205 = ashr i32 %204, 11
%206 = and i32 %205, 1
%207 = shl i32 %206, 11
%208 = or i32 %203, %207
%209 = load i32, i32* %7
%210 = ashr i32 %209, 10
%211 = and i32 %210, 1
%212 = shl i32 %211, 10
%213 = or i32 %208, %212
%214 = load i32, i32* %7
%215 = ashr i32 %214, 9
%216 = and i32 %215, 1
%217 = shl i32 %216, 9
%218 = or i32 %213, %217
%219 = load i32, i32* %7
%220 = ashr i32 %219, 8
%221 = and i32 %220, 1
%222 = shl i32 %221, 8
%223 = or i32 %218, %222
%224 = load i32, i32* %7
%225 = ashr i32 %224, 7
%226 = and i32 %225, 1
%227 = shl i32 %226, 7
%228 = or i32 %223, %227
%229 = load i32, i32* %7
%230 = ashr i32 %229, 6
%231 = and i32 %230, 1
%232 = shl i32 %231, 6
%233 = or i32 %228, %232
%234 = load i32, i32* %7
%235 = ashr i32 %234, 5
%236 = and i32 %235, 1
%237 = shl i32 %236, 5
%238 = or i32 %233, %237
%239 = load i32, i32* %7
%240 = ashr i32 %239, 4
%241 = and i32 %240, 1
%242 = shl i32 %241, 4
%243 = or i32 %238, %242
%244 = load i32, i32* %7
%245 = ashr i32 %244, 3
%246 = and i32 %245, 1
%247 = shl i32 %246, 3
%248 = or i32 %243, %247
%249 = load i32, i32* %7
%250 = ashr i32 %249, 2
%251 = and i32 %250, 1
%252 = shl i32 %251, 2
%253 = or i32 %248, %252
%254 = load i32, i32* %7
%255 = ashr i32 %254, 1
%256 = and i32 %255, 1
%257 = shl i32 %256, 1
%258 = or i32 %253, %257
%259 = load i32, i32* %7
%260 = ashr i32 %259, 0
%261 = and i32 %260, 1
%262 = shl i32 %261, 0
%263 = or i32 %258, %262
store i32 %263, i32* %7
br label %1651
264: ; preds = %6
%265 = load i32, i32* %7
%266 = and i32 %265, 32768
%267 = icmp ne i32 %266, 0
br i1 %267, label %268, label %474
268: ; preds = %264
%269 = load i32, i32* %30
%270 = icmp ne i32 %269, 0
br i1 %270, label %280, label %271
271: ; preds = %268
%272 = load i32, i32* %7
%273 = xor i32 %272, -1
%274 = and i32 %273, 8
%275 = icmp ne i32 %274, 0
br i1 %275, label %276, label %279
276: ; preds = %271
%277 = load i32, i32* %7
%278 = xor i32 %277, 9232
store i32 %278, i32* %7
br label %279
279: ; preds = %276, %271
br label %280
280: ; preds = %279, %268
%281 = load i32, i32* %7
%282 = xor i32 %281, -1
%283 = and i32 %282, 4
%284 = icmp ne i32 %283, 0
br i1 %284, label %285, label %288
285: ; preds = %280
%286 = load i32, i32* %7
%287 = xor i32 %286, 34
store i32 %287, i32* %7
br label %288
288: ; preds = %285, %280
%289 = load i32, i32* %20
%290 = icmp ne i32 %289, 0
br i1 %290, label %300, label %291
291: ; preds = %288
%292 = load i32, i32* %7
%293 = xor i32 %292, -1
%294 = and i32 %293, 4096
%295 = icmp ne i32 %294, 0
br i1 %295, label %296, label %299
296: ; preds = %291
%297 = load i32, i32* %7
%298 = xor i32 %297, 2120
store i32 %298, i32* %7
br label %299
299: ; preds = %296, %291
br label %300
300: ; preds = %299, %288
%301 = load i32, i32* %33
%302 = icmp ne i32 %301, 0
br i1 %302, label %310, label %303
303: ; preds = %300
%304 = load i32, i32* %18
%305 = icmp ne i32 %304, 0
br i1 %305, label %309, label %306
306: ; preds = %303
%307 = load i32, i32* %7
%308 = xor i32 %307, 16641
store i32 %308, i32* %7
br label %309
309: ; preds = %306, %303
br label %310
310: ; preds = %309, %300
%311 = load i32, i32* %22
%312 = icmp ne i32 %311, 0
br i1 %312, label %393, label %313
313: ; preds = %310
%314 = load i32, i32* %7
%315 = ashr i32 %314, 15
%316 = and i32 %315, 1
%317 = shl i32 %316, 15
%318 = load i32, i32* %7
%319 = ashr i32 %318, 14
%320 = and i32 %319, 1
%321 = shl i32 %320, 14
%322 = or i32 %317, %321
%323 = load i32, i32* %7
%324 = ashr i32 %323, 13
%325 = and i32 %324, 1
%326 = shl i32 %325, 13
%327 = or i32 %322, %326
%328 = load i32, i32* %7
%329 = ashr i32 %328, 9
%330 = and i32 %329, 1
%331 = shl i32 %330, 12
%332 = or i32 %327, %331
%333 = load i32, i32* %7
%334 = ashr i32 %333, 11
%335 = and i32 %334, 1
%336 = shl i32 %335, 11
%337 = or i32 %332, %336
%338 = load i32, i32* %7
%339 = ashr i32 %338, 10
%340 = and i32 %339, 1
%341 = shl i32 %340, 10
%342 = or i32 %337, %341
%343 = load i32, i32* %7
%344 = ashr i32 %343, 12
%345 = and i32 %344, 1
%346 = shl i32 %345, 9
%347 = or i32 %342, %346
%348 = load i32, i32* %7
%349 = ashr i32 %348, 8
%350 = and i32 %349, 1
%351 = shl i32 %350, 8
%352 = or i32 %347, %351
%353 = load i32, i32* %7
%354 = ashr i32 %353, 2
%355 = and i32 %354, 1
%356 = shl i32 %355, 7
%357 = or i32 %352, %356
%358 = load i32, i32* %7
%359 = ashr i32 %358, 6
%360 = and i32 %359, 1
%361 = shl i32 %360, 6
%362 = or i32 %357, %361
%363 = load i32, i32* %7
%364 = ashr i32 %363, 5
%365 = and i32 %364, 1
%366 = shl i32 %365, 5
%367 = or i32 %362, %366
%368 = load i32, i32* %7
%369 = ashr i32 %368, 4
%370 = and i32 %369, 1
%371 = shl i32 %370, 4
%372 = or i32 %367, %371
%373 = load i32, i32* %7
%374 = ashr i32 %373, 3
%375 = and i32 %374, 1
%376 = shl i32 %375, 3
%377 = or i32 %372, %376
%378 = load i32, i32* %7
%379 = ashr i32 %378, 7
%380 = and i32 %379, 1
%381 = shl i32 %380, 2
%382 = or i32 %377, %381
%383 = load i32, i32* %7
%384 = ashr i32 %383, 1
%385 = and i32 %384, 1
%386 = shl i32 %385, 1
%387 = or i32 %382, %386
%388 = load i32, i32* %7
%389 = ashr i32 %388, 0
%390 = and i32 %389, 1
%391 = shl i32 %390, 0
%392 = or i32 %387, %391
store i32 %392, i32* %7
br label %393
393: ; preds = %313, %310
%394 = load i32, i32* %7
%395 = ashr i32 %394, 15
%396 = and i32 %395, 1
%397 = shl i32 %396, 15
%398 = load i32, i32* %7
%399 = ashr i32 %398, 9
%400 = and i32 %399, 1
%401 = shl i32 %400, 14
%402 = or i32 %397, %401
%403 = load i32, i32* %7
%404 = ashr i32 %403, 10
%405 = and i32 %404, 1
%406 = shl i32 %405, 13
%407 = or i32 %402, %406
%408 = load i32, i32* %7
%409 = ashr i32 %408, 13
%410 = and i32 %409, 1
%411 = shl i32 %410, 12
%412 = or i32 %407, %411
%413 = load i32, i32* %7
%414 = ashr i32 %413, 3
%415 = and i32 %414, 1
%416 = shl i32 %415, 11
%417 = or i32 %412, %416
%418 = load i32, i32* %7
%419 = ashr i32 %418, 12
%420 = and i32 %419, 1
%421 = shl i32 %420, 10
%422 = or i32 %417, %421
%423 = load i32, i32* %7
%424 = ashr i32 %423, 0
%425 = and i32 %424, 1
%426 = shl i32 %425, 9
%427 = or i32 %422, %426
%428 = load i32, i32* %7
%429 = ashr i32 %428, 14
%430 = and i32 %429, 1
%431 = shl i32 %430, 8
%432 = or i32 %427, %431
%433 = load i32, i32* %7
%434 = ashr i32 %433, 6
%435 = and i32 %434, 1
%436 = shl i32 %435, 7
%437 = or i32 %432, %436
%438 = load i32, i32* %7
%439 = ashr i32 %438, 5
%440 = and i32 %439, 1
%441 = shl i32 %440, 6
%442 = or i32 %437, %441
%443 = load i32, i32* %7
%444 = ashr i32 %443, 2
%445 = and i32 %444, 1
%446 = shl i32 %445, 5
%447 = or i32 %442, %446
%448 = load i32, i32* %7
%449 = ashr i32 %448, 11
%450 = and i32 %449, 1
%451 = shl i32 %450, 4
%452 = or i32 %447, %451
%453 = load i32, i32* %7
%454 = ashr i32 %453, 8
%455 = and i32 %454, 1
%456 = shl i32 %455, 3
%457 = or i32 %452, %456
%458 = load i32, i32* %7
%459 = ashr i32 %458, 1
%460 = and i32 %459, 1
%461 = shl i32 %460, 2
%462 = or i32 %457, %461
%463 = load i32, i32* %7
%464 = ashr i32 %463, 4
%465 = and i32 %464, 1
%466 = shl i32 %465, 1
%467 = or i32 %462, %466
%468 = load i32, i32* %7
%469 = ashr i32 %468, 7
%470 = and i32 %469, 1
%471 = shl i32 %470, 0
%472 = or i32 %467, %471
%473 = xor i32 25953, %472
store i32 %473, i32* %7
br label %474
474: ; preds = %393, %264
%475 = load i32, i32* %7
%476 = and i32 %475, 16384
%477 = icmp ne i32 %476, 0
br i1 %477, label %478, label %685
478: ; preds = %474
%479 = load i32, i32* %29
%480 = icmp ne i32 %479, 0
br i1 %480, label %489, label %481
481: ; preds = %478
%482 = load i32, i32* %7
%483 = and i32 %482, 2048
%484 = icmp ne i32 %483, 0
br i1 %484, label %485, label %488
485: ; preds = %481
%486 = load i32, i32* %7
%487 = xor i32 %486, 36936
store i32 %487, i32* %7
br label %488
488: ; preds = %485, %481
br label %489
489: ; preds = %488, %478
%490 = load i32, i32* %23
%491 = icmp ne i32 %490, 0
br i1 %491, label %500, label %492
492: ; preds = %489
%493 = load i32, i32* %7
%494 = and i32 %493, 4
%495 = icmp ne i32 %494, 0
br i1 %495, label %496, label %499
496: ; preds = %492
%497 = load i32, i32* %7
%498 = xor i32 %497, 514
store i32 %498, i32* %7
br label %499
499: ; preds = %496, %492
br label %500
500: ; preds = %499, %489
%501 = load i32, i32* %13
%502 = icmp ne i32 %501, 0
br i1 %502, label %511, label %503
503: ; preds = %500
%504 = load i32, i32* %7
%505 = and i32 %504, 1024
%506 = icmp ne i32 %505, 0
br i1 %506, label %507, label %510
507: ; preds = %503
%508 = load i32, i32* %7
%509 = xor i32 %508, 4
store i32 %509, i32* %7
br label %510
510: ; preds = %507, %503
br label %511
511: ; preds = %510, %500
%512 = load i32, i32* %28
%513 = icmp ne i32 %512, 0
br i1 %513, label %521, label %514
514: ; preds = %511
%515 = load i32, i32* %17
%516 = icmp ne i32 %515, 0
br i1 %516, label %520, label %517
517: ; preds = %514
%518 = load i32, i32* %7
%519 = xor i32 %518, 2209
store i32 %519, i32* %7
br label %520
520: ; preds = %517, %514
br label %521
521: ; preds = %520, %511
%522 = load i32, i32* %36
%523 = icmp ne i32 %522, 0
br i1 %523, label %604, label %524
524: ; preds = %521
%525 = load i32, i32* %7
%526 = ashr i32 %525, 15
%527 = and i32 %526, 1
%528 = shl i32 %527, 15
%529 = load i32, i32* %7
%530 = ashr i32 %529, 14
%531 = and i32 %530, 1
%532 = shl i32 %531, 14
%533 = or i32 %528, %532
%534 = load i32, i32* %7
%535 = ashr i32 %534, 10
%536 = and i32 %535, 1
%537 = shl i32 %536, 13
%538 = or i32 %533, %537
%539 = load i32, i32* %7
%540 = ashr i32 %539, 12
%541 = and i32 %540, 1
%542 = shl i32 %541, 12
%543 = or i32 %538, %542
%544 = load i32, i32* %7
%545 = ashr i32 %544, 11
%546 = and i32 %545, 1
%547 = shl i32 %546, 11
%548 = or i32 %543, %547
%549 = load i32, i32* %7
%550 = ashr i32 %549, 13
%551 = and i32 %550, 1
%552 = shl i32 %551, 10
%553 = or i32 %548, %552
%554 = load i32, i32* %7
%555 = ashr i32 %554, 9
%556 = and i32 %555, 1
%557 = shl i32 %556, 9
%558 = or i32 %553, %557
%559 = load i32, i32* %7
%560 = ashr i32 %559, 4
%561 = and i32 %560, 1
%562 = shl i32 %561, 8
%563 = or i32 %558, %562
%564 = load i32, i32* %7
%565 = ashr i32 %564, 7
%566 = and i32 %565, 1
%567 = shl i32 %566, 7
%568 = or i32 %563, %567
%569 = load i32, i32* %7
%570 = ashr i32 %569, 6
%571 = and i32 %570, 1
%572 = shl i32 %571, 6
%573 = or i32 %568, %572
%574 = load i32, i32* %7
%575 = ashr i32 %574, 5
%576 = and i32 %575, 1
%577 = shl i32 %576, 5
%578 = or i32 %573, %577
%579 = load i32, i32* %7
%580 = ashr i32 %579, 8
%581 = and i32 %580, 1
%582 = shl i32 %581, 4
%583 = or i32 %578, %582
%584 = load i32, i32* %7
%585 = ashr i32 %584, 3
%586 = and i32 %585, 1
%587 = shl i32 %586, 3
%588 = or i32 %583, %587
%589 = load i32, i32* %7
%590 = ashr i32 %589, 2
%591 = and i32 %590, 1
%592 = shl i32 %591, 2
%593 = or i32 %588, %592
%594 = load i32, i32* %7
%595 = ashr i32 %594, 1
%596 = and i32 %595, 1
%597 = shl i32 %596, 1
%598 = or i32 %593, %597
%599 = load i32, i32* %7
%600 = ashr i32 %599, 0
%601 = and i32 %600, 1
%602 = shl i32 %601, 0
%603 = or i32 %598, %602
store i32 %603, i32* %7
br label %604
604: ; preds = %524, %521
%605 = load i32, i32* %7
%606 = ashr i32 %605, 13
%607 = and i32 %606, 1
%608 = shl i32 %607, 15
%609 = load i32, i32* %7
%610 = ashr i32 %609, 14
%611 = and i32 %610, 1
%612 = shl i32 %611, 14
%613 = or i32 %608, %612
%614 = load i32, i32* %7
%615 = ashr i32 %614, 7
%616 = and i32 %615, 1
%617 = shl i32 %616, 13
%618 = or i32 %613, %617
%619 = load i32, i32* %7
%620 = ashr i32 %619, 0
%621 = and i32 %620, 1
%622 = shl i32 %621, 12
%623 = or i32 %618, %622
%624 = load i32, i32* %7
%625 = ashr i32 %624, 8
%626 = and i32 %625, 1
%627 = shl i32 %626, 11
%628 = or i32 %623, %627
%629 = load i32, i32* %7
%630 = ashr i32 %629, 6
%631 = and i32 %630, 1
%632 = shl i32 %631, 10
%633 = or i32 %628, %632
%634 = load i32, i32* %7
%635 = ashr i32 %634, 4
%636 = and i32 %635, 1
%637 = shl i32 %636, 9
%638 = or i32 %633, %637
%639 = load i32, i32* %7
%640 = ashr i32 %639, 2
%641 = and i32 %640, 1
%642 = shl i32 %641, 8
%643 = or i32 %638, %642
%644 = load i32, i32* %7
%645 = ashr i32 %644, 1
%646 = and i32 %645, 1
%647 = shl i32 %646, 7
%648 = or i32 %643, %647
%649 = load i32, i32* %7
%650 = ashr i32 %649, 15
%651 = and i32 %650, 1
%652 = shl i32 %651, 6
%653 = or i32 %648, %652
%654 = load i32, i32* %7
%655 = ashr i32 %654, 3
%656 = and i32 %655, 1
%657 = shl i32 %656, 5
%658 = or i32 %653, %657
%659 = load i32, i32* %7
%660 = ashr i32 %659, 11
%661 = and i32 %660, 1
%662 = shl i32 %661, 4
%663 = or i32 %658, %662
%664 = load i32, i32* %7
%665 = ashr i32 %664, 12
%666 = and i32 %665, 1
%667 = shl i32 %666, 3
%668 = or i32 %663, %667
%669 = load i32, i32* %7
%670 = ashr i32 %669, 10
%671 = and i32 %670, 1
%672 = shl i32 %671, 2
%673 = or i32 %668, %672
%674 = load i32, i32* %7
%675 = ashr i32 %674, 5
%676 = and i32 %675, 1
%677 = shl i32 %676, 1
%678 = or i32 %673, %677
%679 = load i32, i32* %7
%680 = ashr i32 %679, 9
%681 = and i32 %680, 1
%682 = shl i32 %681, 0
%683 = or i32 %678, %682
%684 = xor i32 13603, %683
store i32 %684, i32* %7
br label %685
685: ; preds = %604, %474
%686 = load i32, i32* %7
%687 = and i32 %686, 8192
%688 = icmp ne i32 %687, 0
br i1 %688, label %689, label %906
689: ; preds = %685
%690 = load i32, i32* %25
%691 = icmp ne i32 %690, 0
br i1 %691, label %700, label %692
692: ; preds = %689
%693 = load i32, i32* %7
%694 = and i32 %693, 256
%695 = icmp ne i32 %694, 0
br i1 %695, label %696, label %699
696: ; preds = %692
%697 = load i32, i32* %7
%698 = xor i32 %697, 16912
store i32 %698, i32* %7
br label %699
699: ; preds = %696, %692
br label %700
700: ; preds = %699, %689
%701 = load i32, i32* %19
%702 = icmp ne i32 %701, 0
br i1 %702, label %711, label %703
703: ; preds = %700
%704 = load i32, i32* %7
%705 = and i32 %704, 64
%706 = icmp ne i32 %705, 0
br i1 %706, label %707, label %710
707: ; preds = %703
%708 = load i32, i32* %7
%709 = xor i32 %708, 128
store i32 %709, i32* %7
br label %710
710: ; preds = %707, %703
br label %711
711: ; preds = %710, %700
%712 = load i32, i32* %14
%713 = icmp ne i32 %712, 0
br i1 %713, label %722, label %714
714: ; preds = %711
%715 = load i32, i32* %7
%716 = and i32 %715, 1
%717 = icmp ne i32 %716, 0
br i1 %717, label %718, label %721
718: ; preds = %714
%719 = load i32, i32* %7
%720 = xor i32 %719, 4362
store i32 %720, i32* %7
br label %721
721: ; preds = %718, %714
br label %722
722: ; preds = %721, %711
%723 = load i32, i32* %26
%724 = icmp ne i32 %723, 0
br i1 %724, label %732, label %725
725: ; preds = %722
%726 = load i32, i32* %16
%727 = icmp ne i32 %726, 0
br i1 %727, label %731, label %728
728: ; preds = %725
%729 = load i32, i32* %7
%730 = xor i32 %729, 64
store i32 %730, i32* %7
br label %731
731: ; preds = %728, %725
br label %732
732: ; preds = %731, %722
%733 = load i32, i32* %31
%734 = icmp ne i32 %733, 0
br i1 %734, label %742, label %735
735: ; preds = %732
%736 = load i32, i32* %15
%737 = icmp ne i32 %736, 0
br i1 %737, label %741, label %738
738: ; preds = %735
%739 = load i32, i32* %7
%740 = xor i32 %739, 1028
store i32 %740, i32* %7
br label %741
741: ; preds = %738, %735
br label %742
742: ; preds = %741, %732
%743 = load i32, i32* %28
%744 = icmp ne i32 %743, 0
br i1 %744, label %825, label %745
745: ; preds = %742
%746 = load i32, i32* %7
%747 = ashr i32 %746, 0
%748 = and i32 %747, 1
%749 = shl i32 %748, 15
%750 = load i32, i32* %7
%751 = ashr i32 %750, 14
%752 = and i32 %751, 1
%753 = shl i32 %752, 14
%754 = or i32 %749, %753
%755 = load i32, i32* %7
%756 = ashr i32 %755, 13
%757 = and i32 %756, 1
%758 = shl i32 %757, 13
%759 = or i32 %754, %758
%760 = load i32, i32* %7
%761 = ashr i32 %760, 12
%762 = and i32 %761, 1
%763 = shl i32 %762, 12
%764 = or i32 %759, %763
%765 = load i32, i32* %7
%766 = ashr i32 %765, 15
%767 = and i32 %766, 1
%768 = shl i32 %767, 11
%769 = or i32 %764, %768
%770 = load i32, i32* %7
%771 = ashr i32 %770, 10
%772 = and i32 %771, 1
%773 = shl i32 %772, 10
%774 = or i32 %769, %773
%775 = load i32, i32* %7
%776 = ashr i32 %775, 9
%777 = and i32 %776, 1
%778 = shl i32 %777, 9
%779 = or i32 %774, %778
%780 = load i32, i32* %7
%781 = ashr i32 %780, 8
%782 = and i32 %781, 1
%783 = shl i32 %782, 8
%784 = or i32 %779, %783
%785 = load i32, i32* %7
%786 = ashr i32 %785, 7
%787 = and i32 %786, 1
%788 = shl i32 %787, 7
%789 = or i32 %784, %788
%790 = load i32, i32* %7
%791 = ashr i32 %790, 6
%792 = and i32 %791, 1
%793 = shl i32 %792, 6
%794 = or i32 %789, %793
%795 = load i32, i32* %7
%796 = ashr i32 %795, 11
%797 = and i32 %796, 1
%798 = shl i32 %797, 5
%799 = or i32 %794, %798
%800 = load i32, i32* %7
%801 = ashr i32 %800, 4
%802 = and i32 %801, 1
%803 = shl i32 %802, 4
%804 = or i32 %799, %803
%805 = load i32, i32* %7
%806 = ashr i32 %805, 3
%807 = and i32 %806, 1
%808 = shl i32 %807, 3
%809 = or i32 %804, %808
%810 = load i32, i32* %7
%811 = ashr i32 %810, 2
%812 = and i32 %811, 1
%813 = shl i32 %812, 2
%814 = or i32 %809, %813
%815 = load i32, i32* %7
%816 = ashr i32 %815, 1
%817 = and i32 %816, 1
%818 = shl i32 %817, 1
%819 = or i32 %814, %818
%820 = load i32, i32* %7
%821 = ashr i32 %820, 5
%822 = and i32 %821, 1
%823 = shl i32 %822, 0
%824 = or i32 %819, %823
store i32 %824, i32* %7
br label %825
825: ; preds = %745, %742
%826 = load i32, i32* %7
%827 = ashr i32 %826, 10
%828 = and i32 %827, 1
%829 = shl i32 %828, 15
%830 = load i32, i32* %7
%831 = ashr i32 %830, 2
%832 = and i32 %831, 1
%833 = shl i32 %832, 14
%834 = or i32 %829, %833
%835 = load i32, i32* %7
%836 = ashr i32 %835, 13
%837 = and i32 %836, 1
%838 = shl i32 %837, 13
%839 = or i32 %834, %838
%840 = load i32, i32* %7
%841 = ashr i32 %840, 7
%842 = and i32 %841, 1
%843 = shl i32 %842, 12
%844 = or i32 %839, %843
%845 = load i32, i32* %7
%846 = ashr i32 %845, 8
%847 = and i32 %846, 1
%848 = shl i32 %847, 11
%849 = or i32 %844, %848
%850 = load i32, i32* %7
%851 = ashr i32 %850, 0
%852 = and i32 %851, 1
%853 = shl i32 %852, 10
%854 = or i32 %849, %853
%855 = load i32, i32* %7
%856 = ashr i32 %855, 3
%857 = and i32 %856, 1
%858 = shl i32 %857, 9
%859 = or i32 %854, %858
%860 = load i32, i32* %7
%861 = ashr i32 %860, 14
%862 = and i32 %861, 1
%863 = shl i32 %862, 8
%864 = or i32 %859, %863
%865 = load i32, i32* %7
%866 = ashr i32 %865, 6
%867 = and i32 %866, 1
%868 = shl i32 %867, 7
%869 = or i32 %864, %868
%870 = load i32, i32* %7
%871 = ashr i32 %870, 15
%872 = and i32 %871, 1
%873 = shl i32 %872, 6
%874 = or i32 %869, %873
%875 = load i32, i32* %7
%876 = ashr i32 %875, 1
%877 = and i32 %876, 1
%878 = shl i32 %877, 5
%879 = or i32 %874, %878
%880 = load i32, i32* %7
%881 = ashr i32 %880, 11
%882 = and i32 %881, 1
%883 = shl i32 %882, 4
%884 = or i32 %879, %883
%885 = load i32, i32* %7
%886 = ashr i32 %885, 9
%887 = and i32 %886, 1
%888 = shl i32 %887, 3
%889 = or i32 %884, %888
%890 = load i32, i32* %7
%891 = ashr i32 %890, 4
%892 = and i32 %891, 1
%893 = shl i32 %892, 2
%894 = or i32 %889, %893
%895 = load i32, i32* %7
%896 = ashr i32 %895, 5
%897 = and i32 %896, 1
%898 = shl i32 %897, 1
%899 = or i32 %894, %898
%900 = load i32, i32* %7
%901 = ashr i32 %900, 12
%902 = and i32 %901, 1
%903 = shl i32 %902, 0
%904 = or i32 %899, %903
%905 = xor i32 39333, %904
store i32 %905, i32* %7
br label %906
906: ; preds = %825, %685
%907 = load i32, i32* %7
%908 = ashr i32 %907, 5
%909 = and i32 %908, 1
%910 = shl i32 %909, 15
%911 = load i32, i32* %7
%912 = ashr i32 %911, 15
%913 = and i32 %912, 1
%914 = shl i32 %913, 14
%915 = or i32 %910, %914
%916 = load i32, i32* %7
%917 = ashr i32 %916, 13
%918 = and i32 %917, 1
%919 = shl i32 %918, 13
%920 = or i32 %915, %919
%921 = load i32, i32* %7
%922 = ashr i32 %921, 14
%923 = and i32 %922, 1
%924 = shl i32 %923, 12
%925 = or i32 %920, %924
%926 = load i32, i32* %7
%927 = ashr i32 %926, 6
%928 = and i32 %927, 1
%929 = shl i32 %928, 11
%930 = or i32 %925, %929
%931 = load i32, i32* %7
%932 = ashr i32 %931, 0
%933 = and i32 %932, 1
%934 = shl i32 %933, 10
%935 = or i32 %930, %934
%936 = load i32, i32* %7
%937 = ashr i32 %936, 9
%938 = and i32 %937, 1
%939 = shl i32 %938, 9
%940 = or i32 %935, %939
%941 = load i32, i32* %7
%942 = ashr i32 %941, 10
%943 = and i32 %942, 1
%944 = shl i32 %943, 8
%945 = or i32 %940, %944
%946 = load i32, i32* %7
%947 = ashr i32 %946, 4
%948 = and i32 %947, 1
%949 = shl i32 %948, 7
%950 = or i32 %945, %949
%951 = load i32, i32* %7
%952 = ashr i32 %951, 11
%953 = and i32 %952, 1
%954 = shl i32 %953, 6
%955 = or i32 %950, %954
%956 = load i32, i32* %7
%957 = ashr i32 %956, 1
%958 = and i32 %957, 1
%959 = shl i32 %958, 5
%960 = or i32 %955, %959
%961 = load i32, i32* %7
%962 = ashr i32 %961, 2
%963 = and i32 %962, 1
%964 = shl i32 %963, 4
%965 = or i32 %960, %964
%966 = load i32, i32* %7
%967 = ashr i32 %966, 12
%968 = and i32 %967, 1
%969 = shl i32 %968, 3
%970 = or i32 %965, %969
%971 = load i32, i32* %7
%972 = ashr i32 %971, 3
%973 = and i32 %972, 1
%974 = shl i32 %973, 2
%975 = or i32 %970, %974
%976 = load i32, i32* %7
%977 = ashr i32 %976, 7
%978 = and i32 %977, 1
%979 = shl i32 %978, 1
%980 = or i32 %975, %979
%981 = load i32, i32* %7
%982 = ashr i32 %981, 8
%983 = and i32 %982, 1
%984 = shl i32 %983, 0
%985 = or i32 %980, %984
%986 = xor i32 34815, %985
store i32 %986, i32* %7
%987 = load i32, i32* %35
%988 = icmp ne i32 %987, 0
br i1 %988, label %1069, label %989
989: ; preds = %906
%990 = load i32, i32* %7
%991 = ashr i32 %990, 6
%992 = and i32 %991, 1
%993 = shl i32 %992, 15
%994 = load i32, i32* %7
%995 = ashr i32 %994, 14
%996 = and i32 %995, 1
%997 = shl i32 %996, 14
%998 = or i32 %993, %997
%999 = load i32, i32* %7
%1000 = ashr i32 %999, 13
%1001 = and i32 %1000, 1
%1002 = shl i32 %1001, 13
%1003 = or i32 %998, %1002
%1004 = load i32, i32* %7
%1005 = ashr i32 %1004, 12
%1006 = and i32 %1005, 1
%1007 = shl i32 %1006, 12
%1008 = or i32 %1003, %1007
%1009 = load i32, i32* %7
%1010 = ashr i32 %1009, 11
%1011 = and i32 %1010, 1
%1012 = shl i32 %1011, 11
%1013 = or i32 %1008, %1012
%1014 = load i32, i32* %7
%1015 = ashr i32 %1014, 10
%1016 = and i32 %1015, 1
%1017 = shl i32 %1016, 10
%1018 = or i32 %1013, %1017
%1019 = load i32, i32* %7
%1020 = ashr i32 %1019, 9
%1021 = and i32 %1020, 1
%1022 = shl i32 %1021, 9
%1023 = or i32 %1018, %1022
%1024 = load i32, i32* %7
%1025 = ashr i32 %1024, 5
%1026 = and i32 %1025, 1
%1027 = shl i32 %1026, 8
%1028 = or i32 %1023, %1027
%1029 = load i32, i32* %7
%1030 = ashr i32 %1029, 7
%1031 = and i32 %1030, 1
%1032 = shl i32 %1031, 7
%1033 = or i32 %1028, %1032
%1034 = load i32, i32* %7
%1035 = ashr i32 %1034, 15
%1036 = and i32 %1035, 1
%1037 = shl i32 %1036, 6
%1038 = or i32 %1033, %1037
%1039 = load i32, i32* %7
%1040 = ashr i32 %1039, 8
%1041 = and i32 %1040, 1
%1042 = shl i32 %1041, 5
%1043 = or i32 %1038, %1042
%1044 = load i32, i32* %7
%1045 = ashr i32 %1044, 4
%1046 = and i32 %1045, 1
%1047 = shl i32 %1046, 4
%1048 = or i32 %1043, %1047
%1049 = load i32, i32* %7
%1050 = ashr i32 %1049, 3
%1051 = and i32 %1050, 1
%1052 = shl i32 %1051, 3
%1053 = or i32 %1048, %1052
%1054 = load i32, i32* %7
%1055 = ashr i32 %1054, 2
%1056 = and i32 %1055, 1
%1057 = shl i32 %1056, 2
%1058 = or i32 %1053, %1057
%1059 = load i32, i32* %7
%1060 = ashr i32 %1059, 1
%1061 = and i32 %1060, 1
%1062 = shl i32 %1061, 1
%1063 = or i32 %1058, %1062
%1064 = load i32, i32* %7
%1065 = ashr i32 %1064, 0
%1066 = and i32 %1065, 1
%1067 = shl i32 %1066, 0
%1068 = or i32 %1063, %1067
store i32 %1068, i32* %7
br label %1069
1069: ; preds = %989, %906
%1070 = load i32, i32* %34
%1071 = icmp ne i32 %1070, 0
br i1 %1071, label %1152, label %1072
1072: ; preds = %1069
%1073 = load i32, i32* %7
%1074 = ashr i32 %1073, 15
%1075 = and i32 %1074, 1
%1076 = shl i32 %1075, 15
%1077 = load i32, i32* %7
%1078 = ashr i32 %1077, 12
%1079 = and i32 %1078, 1
%1080 = shl i32 %1079, 14
%1081 = or i32 %1076, %1080
%1082 = load i32, i32* %7
%1083 = ashr i32 %1082, 14
%1084 = and i32 %1083, 1
%1085 = shl i32 %1084, 13
%1086 = or i32 %1081, %1085
%1087 = load i32, i32* %7
%1088 = ashr i32 %1087, 13
%1089 = and i32 %1088, 1
%1090 = shl i32 %1089, 12
%1091 = or i32 %1086, %1090
%1092 = load i32, i32* %7
%1093 = ashr i32 %1092, 11
%1094 = and i32 %1093, 1
%1095 = shl i32 %1094, 11
%1096 = or i32 %1091, %1095
%1097 = load i32, i32* %7
%1098 = ashr i32 %1097, 10
%1099 = and i32 %1098, 1
%1100 = shl i32 %1099, 10
%1101 = or i32 %1096, %1100
%1102 = load i32, i32* %7
%1103 = ashr i32 %1102, 9
%1104 = and i32 %1103, 1
%1105 = shl i32 %1104, 9
%1106 = or i32 %1101, %1105
%1107 = load i32, i32* %7
%1108 = ashr i32 %1107, 8
%1109 = and i32 %1108, 1
%1110 = shl i32 %1109, 8
%1111 = or i32 %1106, %1110
%1112 = load i32, i32* %7
%1113 = ashr i32 %1112, 7
%1114 = and i32 %1113, 1
%1115 = shl i32 %1114, 7
%1116 = or i32 %1111, %1115
%1117 = load i32, i32* %7
%1118 = ashr i32 %1117, 6
%1119 = and i32 %1118, 1
%1120 = shl i32 %1119, 6
%1121 = or i32 %1116, %1120
%1122 = load i32, i32* %7
%1123 = ashr i32 %1122, 5
%1124 = and i32 %1123, 1
%1125 = shl i32 %1124, 5
%1126 = or i32 %1121, %1125
%1127 = load i32, i32* %7
%1128 = ashr i32 %1127, 4
%1129 = and i32 %1128, 1
%1130 = shl i32 %1129, 4
%1131 = or i32 %1126, %1130
%1132 = load i32, i32* %7
%1133 = ashr i32 %1132, 3
%1134 = and i32 %1133, 1
%1135 = shl i32 %1134, 3
%1136 = or i32 %1131, %1135
%1137 = load i32, i32* %7
%1138 = ashr i32 %1137, 2
%1139 = and i32 %1138, 1
%1140 = shl i32 %1139, 2
%1141 = or i32 %1136, %1140
%1142 = load i32, i32* %7
%1143 = ashr i32 %1142, 1
%1144 = and i32 %1143, 1
%1145 = shl i32 %1144, 1
%1146 = or i32 %1141, %1145
%1147 = load i32, i32* %7
%1148 = ashr i32 %1147, 0
%1149 = and i32 %1148, 1
%1150 = shl i32 %1149, 0
%1151 = or i32 %1146, %1150
store i32 %1151, i32* %7
br label %1152
1152: ; preds = %1072, %1069
%1153 = load i32, i32* %33
%1154 = icmp ne i32 %1153, 0
br i1 %1154, label %1235, label %1155
1155: ; preds = %1152
%1156 = load i32, i32* %7
%1157 = ashr i32 %1156, 15
%1158 = and i32 %1157, 1
%1159 = shl i32 %1158, 15
%1160 = load i32, i32* %7
%1161 = ashr i32 %1160, 14
%1162 = and i32 %1161, 1
%1163 = shl i32 %1162, 14
%1164 = or i32 %1159, %1163
%1165 = load i32, i32* %7
%1166 = ashr i32 %1165, 13
%1167 = and i32 %1166, 1
%1168 = shl i32 %1167, 13
%1169 = or i32 %1164, %1168
%1170 = load i32, i32* %7
%1171 = ashr i32 %1170, 12
%1172 = and i32 %1171, 1
%1173 = shl i32 %1172, 12
%1174 = or i32 %1169, %1173
%1175 = load i32, i32* %7
%1176 = ashr i32 %1175, 11
%1177 = and i32 %1176, 1
%1178 = shl i32 %1177, 11
%1179 = or i32 %1174, %1178
%1180 = load i32, i32* %7
%1181 = ashr i32 %1180, 2
%1182 = and i32 %1181, 1
%1183 = shl i32 %1182, 10
%1184 = or i32 %1179, %1183
%1185 = load i32, i32* %7
%1186 = ashr i32 %1185, 9
%1187 = and i32 %1186, 1
%1188 = shl i32 %1187, 9
%1189 = or i32 %1184, %1188
%1190 = load i32, i32* %7
%1191 = ashr i32 %1190, 8
%1192 = and i32 %1191, 1
%1193 = shl i32 %1192, 8
%1194 = or i32 %1189, %1193
%1195 = load i32, i32* %7
%1196 = ashr i32 %1195, 10
%1197 = and i32 %1196, 1
%1198 = shl i32 %1197, 7
%1199 = or i32 %1194, %1198
%1200 = load i32, i32* %7
%1201 = ashr i32 %1200, 6
%1202 = and i32 %1201, 1
%1203 = shl i32 %1202, 6
%1204 = or i32 %1199, %1203
%1205 = load i32, i32* %7
%1206 = ashr i32 %1205, 5
%1207 = and i32 %1206, 1
%1208 = shl i32 %1207, 5
%1209 = or i32 %1204, %1208
%1210 = load i32, i32* %7
%1211 = ashr i32 %1210, 4
%1212 = and i32 %1211, 1
%1213 = shl i32 %1212, 4
%1214 = or i32 %1209, %1213
%1215 = load i32, i32* %7
%1216 = ashr i32 %1215, 3
%1217 = and i32 %1216, 1
%1218 = shl i32 %1217, 3
%1219 = or i32 %1214, %1218
%1220 = load i32, i32* %7
%1221 = ashr i32 %1220, 0
%1222 = and i32 %1221, 1
%1223 = shl i32 %1222, 2
%1224 = or i32 %1219, %1223
%1225 = load i32, i32* %7
%1226 = ashr i32 %1225, 1
%1227 = and i32 %1226, 1
%1228 = shl i32 %1227, 1
%1229 = or i32 %1224, %1228
%1230 = load i32, i32* %7
%1231 = ashr i32 %1230, 7
%1232 = and i32 %1231, 1
%1233 = shl i32 %1232, 0
%1234 = or i32 %1229, %1233
store i32 %1234, i32* %7
br label %1235
1235: ; preds = %1155, %1152
%1236 = load i32, i32* %24
%1237 = icmp ne i32 %1236, 0
br i1 %1237, label %1318, label %1238
1238: ; preds = %1235
%1239 = load i32, i32* %7
%1240 = ashr i32 %1239, 15
%1241 = and i32 %1240, 1
%1242 = shl i32 %1241, 15
%1243 = load i32, i32* %7
%1244 = ashr i32 %1243, 14
%1245 = and i32 %1244, 1
%1246 = shl i32 %1245, 14
%1247 = or i32 %1242, %1246
%1248 = load i32, i32* %7
%1249 = ashr i32 %1248, 13
%1250 = and i32 %1249, 1
%1251 = shl i32 %1250, 13
%1252 = or i32 %1247, %1251
%1253 = load i32, i32* %7
%1254 = ashr i32 %1253, 12
%1255 = and i32 %1254, 1
%1256 = shl i32 %1255, 12
%1257 = or i32 %1252, %1256
%1258 = load i32, i32* %7
%1259 = ashr i32 %1258, 11
%1260 = and i32 %1259, 1
%1261 = shl i32 %1260, 11
%1262 = or i32 %1257, %1261
%1263 = load i32, i32* %7
%1264 = ashr i32 %1263, 10
%1265 = and i32 %1264, 1
%1266 = shl i32 %1265, 10
%1267 = or i32 %1262, %1266
%1268 = load i32, i32* %7
%1269 = ashr i32 %1268, 4
%1270 = and i32 %1269, 1
%1271 = shl i32 %1270, 9
%1272 = or i32 %1267, %1271
%1273 = load i32, i32* %7
%1274 = ashr i32 %1273, 8
%1275 = and i32 %1274, 1
%1276 = shl i32 %1275, 8
%1277 = or i32 %1272, %1276
%1278 = load i32, i32* %7
%1279 = ashr i32 %1278, 7
%1280 = and i32 %1279, 1
%1281 = shl i32 %1280, 7
%1282 = or i32 %1277, %1281
%1283 = load i32, i32* %7
%1284 = ashr i32 %1283, 6
%1285 = and i32 %1284, 1
%1286 = shl i32 %1285, 6
%1287 = or i32 %1282, %1286
%1288 = load i32, i32* %7
%1289 = ashr i32 %1288, 5
%1290 = and i32 %1289, 1
%1291 = shl i32 %1290, 5
%1292 = or i32 %1287, %1291
%1293 = load i32, i32* %7
%1294 = ashr i32 %1293, 9
%1295 = and i32 %1294, 1
%1296 = shl i32 %1295, 4
%1297 = or i32 %1292, %1296
%1298 = load i32, i32* %7
%1299 = ashr i32 %1298, 1
%1300 = and i32 %1299, 1
%1301 = shl i32 %1300, 3
%1302 = or i32 %1297, %1301
%1303 = load i32, i32* %7
%1304 = ashr i32 %1303, 2
%1305 = and i32 %1304, 1
%1306 = shl i32 %1305, 2
%1307 = or i32 %1302, %1306
%1308 = load i32, i32* %7
%1309 = ashr i32 %1308, 3
%1310 = and i32 %1309, 1
%1311 = shl i32 %1310, 1
%1312 = or i32 %1307, %1311
%1313 = load i32, i32* %7
%1314 = ashr i32 %1313, 0
%1315 = and i32 %1314, 1
%1316 = shl i32 %1315, 0
%1317 = or i32 %1312, %1316
store i32 %1317, i32* %7
br label %1318
1318: ; preds = %1238, %1235
%1319 = load i32, i32* %21
%1320 = icmp ne i32 %1319, 0
br i1 %1320, label %1401, label %1321
1321: ; preds = %1318
%1322 = load i32, i32* %7
%1323 = ashr i32 %1322, 15
%1324 = and i32 %1323, 1
%1325 = shl i32 %1324, 15
%1326 = load i32, i32* %7
%1327 = ashr i32 %1326, 12
%1328 = and i32 %1327, 1
%1329 = shl i32 %1328, 14
%1330 = or i32 %1325, %1329
%1331 = load i32, i32* %7
%1332 = ashr i32 %1331, 13
%1333 = and i32 %1332, 1
%1334 = shl i32 %1333, 13
%1335 = or i32 %1330, %1334
%1336 = load i32, i32* %7
%1337 = ashr i32 %1336, 14
%1338 = and i32 %1337, 1
%1339 = shl i32 %1338, 12
%1340 = or i32 %1335, %1339
%1341 = load i32, i32* %7
%1342 = ashr i32 %1341, 11
%1343 = and i32 %1342, 1
%1344 = shl i32 %1343, 11
%1345 = or i32 %1340, %1344
%1346 = load i32, i32* %7
%1347 = ashr i32 %1346, 10
%1348 = and i32 %1347, 1
%1349 = shl i32 %1348, 10
%1350 = or i32 %1345, %1349
%1351 = load i32, i32* %7
%1352 = ashr i32 %1351, 9
%1353 = and i32 %1352, 1
%1354 = shl i32 %1353, 9
%1355 = or i32 %1350, %1354
%1356 = load i32, i32* %7
%1357 = ashr i32 %1356, 8
%1358 = and i32 %1357, 1
%1359 = shl i32 %1358, 8
%1360 = or i32 %1355, %1359
%1361 = load i32, i32* %7
%1362 = ashr i32 %1361, 7
%1363 = and i32 %1362, 1
%1364 = shl i32 %1363, 7
%1365 = or i32 %1360, %1364
%1366 = load i32, i32* %7
%1367 = ashr i32 %1366, 6
%1368 = and i32 %1367, 1
%1369 = shl i32 %1368, 6
%1370 = or i32 %1365, %1369
%1371 = load i32, i32* %7
%1372 = ashr i32 %1371, 5
%1373 = and i32 %1372, 1
%1374 = shl i32 %1373, 5
%1375 = or i32 %1370, %1374
%1376 = load i32, i32* %7
%1377 = ashr i32 %1376, 4
%1378 = and i32 %1377, 1
%1379 = shl i32 %1378, 4
%1380 = or i32 %1375, %1379
%1381 = load i32, i32* %7
%1382 = ashr i32 %1381, 3
%1383 = and i32 %1382, 1
%1384 = shl i32 %1383, 3
%1385 = or i32 %1380, %1384
%1386 = load i32, i32* %7
%1387 = ashr i32 %1386, 2
%1388 = and i32 %1387, 1
%1389 = shl i32 %1388, 2
%1390 = or i32 %1385, %1389
%1391 = load i32, i32* %7
%1392 = ashr i32 %1391, 1
%1393 = and i32 %1392, 1
%1394 = shl i32 %1393, 1
%1395 = or i32 %1390, %1394
%1396 = load i32, i32* %7
%1397 = ashr i32 %1396, 0
%1398 = and i32 %1397, 1
%1399 = shl i32 %1398, 0
%1400 = or i32 %1395, %1399
store i32 %1400, i32* %7
br label %1401
1401: ; preds = %1321, %1318
%1402 = load i32, i32* %32
%1403 = icmp ne i32 %1402, 0
br i1 %1403, label %1484, label %1404
1404: ; preds = %1401
%1405 = load i32, i32* %7
%1406 = ashr i32 %1405, 15
%1407 = and i32 %1406, 1
%1408 = shl i32 %1407, 15
%1409 = load i32, i32* %7
%1410 = ashr i32 %1409, 14
%1411 = and i32 %1410, 1
%1412 = shl i32 %1411, 14
%1413 = or i32 %1408, %1412
%1414 = load i32, i32* %7
%1415 = ashr i32 %1414, 13
%1416 = and i32 %1415, 1
%1417 = shl i32 %1416, 13
%1418 = or i32 %1413, %1417
%1419 = load i32, i32* %7
%1420 = ashr i32 %1419, 12
%1421 = and i32 %1420, 1
%1422 = shl i32 %1421, 12
%1423 = or i32 %1418, %1422
%1424 = load i32, i32* %7
%1425 = ashr i32 %1424, 9
%1426 = and i32 %1425, 1
%1427 = shl i32 %1426, 11
%1428 = or i32 %1423, %1427
%1429 = load i32, i32* %7
%1430 = ashr i32 %1429, 8
%1431 = and i32 %1430, 1
%1432 = shl i32 %1431, 10
%1433 = or i32 %1428, %1432
%1434 = load i32, i32* %7
%1435 = ashr i32 %1434, 11
%1436 = and i32 %1435, 1
%1437 = shl i32 %1436, 9
%1438 = or i32 %1433, %1437
%1439 = load i32, i32* %7
%1440 = ashr i32 %1439, 10
%1441 = and i32 %1440, 1
%1442 = shl i32 %1441, 8
%1443 = or i32 %1438, %1442
%1444 = load i32, i32* %7
%1445 = ashr i32 %1444, 7
%1446 = and i32 %1445, 1
%1447 = shl i32 %1446, 7
%1448 = or i32 %1443, %1447
%1449 = load i32, i32* %7
%1450 = ashr i32 %1449, 6
%1451 = and i32 %1450, 1
%1452 = shl i32 %1451, 6
%1453 = or i32 %1448, %1452
%1454 = load i32, i32* %7
%1455 = ashr i32 %1454, 5
%1456 = and i32 %1455, 1
%1457 = shl i32 %1456, 5
%1458 = or i32 %1453, %1457
%1459 = load i32, i32* %7
%1460 = ashr i32 %1459, 4
%1461 = and i32 %1460, 1
%1462 = shl i32 %1461, 4
%1463 = or i32 %1458, %1462
%1464 = load i32, i32* %7
%1465 = ashr i32 %1464, 3
%1466 = and i32 %1465, 1
%1467 = shl i32 %1466, 3
%1468 = or i32 %1463, %1467
%1469 = load i32, i32* %7
%1470 = ashr i32 %1469, 2
%1471 = and i32 %1470, 1
%1472 = shl i32 %1471, 2
%1473 = or i32 %1468, %1472
%1474 = load i32, i32* %7
%1475 = ashr i32 %1474, 1
%1476 = and i32 %1475, 1
%1477 = shl i32 %1476, 1
%1478 = or i32 %1473, %1477
%1479 = load i32, i32* %7
%1480 = ashr i32 %1479, 0
%1481 = and i32 %1480, 1
%1482 = shl i32 %1481, 0
%1483 = or i32 %1478, %1482
store i32 %1483, i32* %7
br label %1484
1484: ; preds = %1404, %1401
%1485 = load i32, i32* %27
%1486 = icmp ne i32 %1485, 0
br i1 %1486, label %1567, label %1487
1487: ; preds = %1484
%1488 = load i32, i32* %7
%1489 = ashr i32 %1488, 15
%1490 = and i32 %1489, 1
%1491 = shl i32 %1490, 15
%1492 = load i32, i32* %7
%1493 = ashr i32 %1492, 14
%1494 = and i32 %1493, 1
%1495 = shl i32 %1494, 14
%1496 = or i32 %1491, %1495
%1497 = load i32, i32* %7
%1498 = ashr i32 %1497, 13
%1499 = and i32 %1498, 1
%1500 = shl i32 %1499, 13
%1501 = or i32 %1496, %1500
%1502 = load i32, i32* %7
%1503 = ashr i32 %1502, 12
%1504 = and i32 %1503, 1
%1505 = shl i32 %1504, 12
%1506 = or i32 %1501, %1505
%1507 = load i32, i32* %7
%1508 = ashr i32 %1507, 11
%1509 = and i32 %1508, 1
%1510 = shl i32 %1509, 11
%1511 = or i32 %1506, %1510
%1512 = load i32, i32* %7
%1513 = ashr i32 %1512, 10
%1514 = and i32 %1513, 1
%1515 = shl i32 %1514, 10
%1516 = or i32 %1511, %1515
%1517 = load i32, i32* %7
%1518 = ashr i32 %1517, 9
%1519 = and i32 %1518, 1
%1520 = shl i32 %1519, 9
%1521 = or i32 %1516, %1520
%1522 = load i32, i32* %7
%1523 = ashr i32 %1522, 8
%1524 = and i32 %1523, 1
%1525 = shl i32 %1524, 8
%1526 = or i32 %1521, %1525
%1527 = load i32, i32* %7
%1528 = ashr i32 %1527, 4
%1529 = and i32 %1528, 1
%1530 = shl i32 %1529, 7
%1531 = or i32 %1526, %1530
%1532 = load i32, i32* %7
%1533 = ashr i32 %1532, 5
%1534 = and i32 %1533, 1
%1535 = shl i32 %1534, 6
%1536 = or i32 %1531, %1535
%1537 = load i32, i32* %7
%1538 = ashr i32 %1537, 7
%1539 = and i32 %1538, 1
%1540 = shl i32 %1539, 5
%1541 = or i32 %1536, %1540
%1542 = load i32, i32* %7
%1543 = ashr i32 %1542, 6
%1544 = and i32 %1543, 1
%1545 = shl i32 %1544, 4
%1546 = or i32 %1541, %1545
%1547 = load i32, i32* %7
%1548 = ashr i32 %1547, 3
%1549 = and i32 %1548, 1
%1550 = shl i32 %1549, 3
%1551 = or i32 %1546, %1550
%1552 = load i32, i32* %7
%1553 = ashr i32 %1552, 2
%1554 = and i32 %1553, 1
%1555 = shl i32 %1554, 2
%1556 = or i32 %1551, %1555
%1557 = load i32, i32* %7
%1558 = ashr i32 %1557, 1
%1559 = and i32 %1558, 1
%1560 = shl i32 %1559, 1
%1561 = or i32 %1556, %1560
%1562 = load i32, i32* %7
%1563 = ashr i32 %1562, 0
%1564 = and i32 %1563, 1
%1565 = shl i32 %1564, 0
%1566 = or i32 %1561, %1565
store i32 %1566, i32* %7
br label %1567
1567: ; preds = %1487, %1484
%1568 = load i32, i32* %31
%1569 = icmp ne i32 %1568, 0
br i1 %1569, label %1650, label %1570
1570: ; preds = %1567
%1571 = load i32, i32* %7
%1572 = ashr i32 %1571, 15
%1573 = and i32 %1572, 1
%1574 = shl i32 %1573, 15
%1575 = load i32, i32* %7
%1576 = ashr i32 %1575, 14
%1577 = and i32 %1576, 1
%1578 = shl i32 %1577, 14
%1579 = or i32 %1574, %1578
%1580 = load i32, i32* %7
%1581 = ashr i32 %1580, 13
%1582 = and i32 %1581, 1
%1583 = shl i32 %1582, 13
%1584 = or i32 %1579, %1583
%1585 = load i32, i32* %7
%1586 = ashr i32 %1585, 12
%1587 = and i32 %1586, 1
%1588 = shl i32 %1587, 12
%1589 = or i32 %1584, %1588
%1590 = load i32, i32* %7
%1591 = ashr i32 %1590, 11
%1592 = and i32 %1591, 1
%1593 = shl i32 %1592, 11
%1594 = or i32 %1589, %1593
%1595 = load i32, i32* %7
%1596 = ashr i32 %1595, 10
%1597 = and i32 %1596, 1
%1598 = shl i32 %1597, 10
%1599 = or i32 %1594, %1598
%1600 = load i32, i32* %7
%1601 = ashr i32 %1600, 9
%1602 = and i32 %1601, 1
%1603 = shl i32 %1602, 9
%1604 = or i32 %1599, %1603
%1605 = load i32, i32* %7
%1606 = ashr i32 %1605, 8
%1607 = and i32 %1606, 1
%1608 = shl i32 %1607, 8
%1609 = or i32 %1604, %1608
%1610 = load i32, i32* %7
%1611 = ashr i32 %1610, 7
%1612 = and i32 %1611, 1
%1613 = shl i32 %1612, 7
%1614 = or i32 %1609, %1613
%1615 = load i32, i32* %7
%1616 = ashr i32 %1615, 6
%1617 = and i32 %1616, 1
%1618 = shl i32 %1617, 6
%1619 = or i32 %1614, %1618
%1620 = load i32, i32* %7
%1621 = ashr i32 %1620, 5
%1622 = and i32 %1621, 1
%1623 = shl i32 %1622, 5
%1624 = or i32 %1619, %1623
%1625 = load i32, i32* %7
%1626 = ashr i32 %1625, 4
%1627 = and i32 %1626, 1
%1628 = shl i32 %1627, 4
%1629 = or i32 %1624, %1628
%1630 = load i32, i32* %7
%1631 = ashr i32 %1630, 0
%1632 = and i32 %1631, 1
%1633 = shl i32 %1632, 3
%1634 = or i32 %1629, %1633
%1635 = load i32, i32* %7
%1636 = ashr i32 %1635, 3
%1637 = and i32 %1636, 1
%1638 = shl i32 %1637, 2
%1639 = or i32 %1634, %1638
%1640 = load i32, i32* %7
%1641 = ashr i32 %1640, 2
%1642 = and i32 %1641, 1
%1643 = shl i32 %1642, 1
%1644 = or i32 %1639, %1643
%1645 = load i32, i32* %7
%1646 = ashr i32 %1645, 1
%1647 = and i32 %1646, 1
%1648 = shl i32 %1647, 0
%1649 = or i32 %1644, %1648
store i32 %1649, i32* %7
br label %1650
1650: ; preds = %1570, %1567
br label %1651
1651: ; preds = %1650, %184
%1652 = load i32, i32* %7
%1653 = load i32, i32* %9
%1654 = call i32 @final_decrypt(i32 %1652, i32 %1653)
ret i32 %1654
}

LLVM IR (-O2):
define i32 @parametric_decode(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5) {
%7 = and i32 %3, 1
%8 = xor i32 %7, 1
%9 = lshr i32 %4, 5
%10 = and i32 %9, 1
%11 = xor i32 %10, 1
%12 = and i32 %1, 1
%13 = lshr i32 %5, 1
%14 = and i32 %13, 1
%15 = lshr i32 %3, 7
%16 = and i32 %15, 1
%17 = lshr i32 %3, 1
%18 = and i32 %17, 1
%19 = lshr i32 %1, 1
%20 = and i32 %19, 1
%21 = lshr i32 %4, 7
%22 = and i32 %21, 1
%23 = lshr i32 %3, 3
%24 = and i32 %23, 1
%25 = lshr i32 %1, 2
%26 = and i32 %25, 1
%27 = lshr i32 %5, 7
%28 = and i32 %27, 1
%29 = lshr i32 %3, 4
%30 = and i32 %29, 1
%31 = lshr i32 %1, 3
%32 = and i32 %31, 1
%33 = and i32 %4, 1
%34 = lshr i32 %5, 3
%35 = and i32 %34, 1
%36 = lshr i32 %1, 4
%37 = and i32 %36, 1
%38 = lshr i32 %4, 3
%39 = and i32 %38, 1
%40 = and i32 %5, 1
%41 = lshr i32 %1, 5
%42 = and i32 %41, 1
%43 = lshr i32 %5, 5
%44 = and i32 %43, 1
%45 = lshr i32 %3, 6
%46 = and i32 %45, 1
%47 = xor i32 %46, %42
%48 = lshr i32 %1, 6
%49 = and i32 %48, 1
%50 = lshr i32 %4, 1
%51 = and i32 %50, 1
%52 = lshr i32 %4, 6
%53 = and i32 %52, 1
%54 = lshr i32 %1, 7
%55 = lshr i32 %4, 4
%56 = xor i32 %55, %54
%57 = and i32 %56, 1
%58 = and i32 %0, 57344
%59 = icmp eq i32 %58, 0
br i1 %59, label %60, label %72
60: ; preds = %6
%61 = shl i32 %0, 3
%62 = and i32 %61, 32768
%63 = lshr i32 %0, 1
%64 = and i32 %63, 16384
%65 = and i32 %63, 8192
%66 = and i32 %63, 4096
%67 = and i32 %0, 4095
%68 = or i32 %67, %64
%69 = or i32 %68, %62
%70 = or i32 %69, %65
%71 = or i32 %70, %66
br label %526
72: ; preds = %6
%73 = and i32 %0, 32768
%74 = icmp eq i32 %73, 0
br i1 %74, label %158, label %75
75: ; preds = %72
%76 = and i32 %3, 4
%77 = icmp ne i32 %76, 0
%78 = and i32 %0, 8
%79 = icmp eq i32 %78, 0
%80 = and i1 %79, %77
%81 = xor i32 %0, 9232
%82 = select i1 %80, i32 %81, i32 %0
%83 = and i32 %82, 4
%84 = icmp eq i32 %83, 0
%85 = xor i32 %82, 34
%86 = select i1 %84, i32 %85, i32 %82
%87 = icmp eq i32 %20, %24
%88 = and i32 %86, 4096
%89 = icmp eq i32 %88, 0
%90 = select i1 %87, i1 %89, i1 false
%91 = xor i32 %86, 2120
%92 = select i1 %90, i32 %91, i32 %86
%93 = icmp ne i32 %8, 0
%94 = icmp ne i32 %12, %18
%95 = or i1 %93, %94
%96 = xor i32 %92, 16641
%97 = select i1 %95, i32 %92, i32 %96
%98 = icmp eq i32 %26, %30
br i1 %98, label %99, label %113
99: ; preds = %75
%100 = shl i32 %97, 3
%101 = and i32 %100, 4096
%102 = lshr i32 %97, 3
%103 = and i32 %102, 512
%104 = shl i32 %97, 5
%105 = and i32 %104, 128
%106 = lshr i32 %97, 5
%107 = and i32 %106, 4
%108 = and i32 %97, 60795
%109 = or i32 %108, %101
%110 = or i32 %109, %103
%111 = or i32 %110, %105
%112 = or i32 %111, %107
br label %113
113: ; preds = %99, %75
%114 = phi i32 [ %97, %75 ], [ %112, %99 ]
%115 = and i32 %114, 32768
%116 = shl i32 %114, 5
%117 = and i32 %116, 16384
%118 = or i32 %117, %115
%119 = shl i32 %114, 3
%120 = and i32 %119, 8192
%121 = or i32 %118, %120
%122 = lshr i32 %114, 1
%123 = and i32 %122, 4096
%124 = or i32 %121, %123
%125 = shl i32 %114, 8
%126 = and i32 %125, 2048
%127 = or i32 %124, %126
%128 = lshr i32 %114, 2
%129 = and i32 %128, 1024
%130 = or i32 %127, %129
%131 = shl i32 %114, 9
%132 = and i32 %131, 512
%133 = or i32 %130, %132
%134 = lshr i32 %114, 6
%135 = and i32 %134, 256
%136 = or i32 %133, %135
%137 = shl i32 %114, 1
%138 = and i32 %137, 128
%139 = or i32 %136, %138
%140 = and i32 %137, 64
%141 = or i32 %139, %140
%142 = and i32 %119, 32
%143 = or i32 %141, %142
%144 = lshr i32 %114, 7
%145 = and i32 %144, 16
%146 = or i32 %143, %145
%147 = lshr i32 %114, 5
%148 = and i32 %147, 8
%149 = or i32 %146, %148
%150 = and i32 %137, 4
%151 = or i32 %149, %150
%152 = lshr i32 %114, 3
%153 = and i32 %152, 2
%154 = or i32 %151, %153
%155 = and i32 %144, 1
%156 = or i32 %154, %155
%157 = xor i32 %156, 25953
br label %158
158: ; preds = %113, %72
%159 = phi i32 [ %157, %113 ], [ %0, %72 ]
%160 = and i32 %159, 16384
%161 = icmp eq i32 %160, 0
br i1 %161, label %247, label %162
162: ; preds = %158
%163 = and i32 %3, 32
%164 = icmp eq i32 %163, 0
%165 = and i32 %159, 2048
%166 = icmp eq i32 %165, 0
%167 = select i1 %164, i1 true, i1 %166
%168 = xor i32 %159, 36936
%169 = select i1 %167, i32 %159, i32 %168
%170 = icmp ne i32 %32, %33
%171 = and i32 %169, 4
%172 = icmp eq i32 %171, 0
%173 = select i1 %170, i1 true, i1 %172
%174 = xor i32 %169, 514
%175 = select i1 %173, i32 %169, i32 %174
%176 = icmp ne i32 %49, %51
%177 = and i32 %175, 1024
%178 = icmp eq i32 %177, 0
%179 = select i1 %176, i1 true, i1 %178
%180 = xor i32 %175, 4
%181 = select i1 %179, i32 %175, i32 %180
%182 = icmp ne i32 %47, 0
%183 = icmp ne i32 %12, %16
%184 = or i1 %183, %182
%185 = xor i32 %181, 2209
%186 = select i1 %184, i32 %181, i32 %185
%187 = and i32 %4, 4
%188 = icmp eq i32 %187, 0
br i1 %188, label %203, label %189
189: ; preds = %162
%190 = shl i32 %186, 3
%191 = and i32 %190, 8192
%192 = lshr i32 %186, 3
%193 = and i32 %192, 1024
%194 = shl i32 %186, 4
%195 = and i32 %194, 256
%196 = lshr i32 %186, 4
%197 = and i32 %196, 16
%198 = and i32 %186, 56047
%199 = or i32 %198, %191
%200 = or i32 %199, %193
%201 = or i32 %200, %195
%202 = or i32 %201, %197
br label %203
203: ; preds = %189, %162
%204 = phi i32 [ %186, %162 ], [ %202, %189 ]
%205 = shl i32 %204, 2
%206 = and i32 %205, 32768
%207 = and i32 %204, 16384
%208 = or i32 %206, %207
%209 = shl i32 %204, 6
%210 = and i32 %209, 8192
%211 = or i32 %208, %210
%212 = shl i32 %204, 12
%213 = and i32 %212, 4096
%214 = or i32 %211, %213
%215 = shl i32 %204, 3
%216 = and i32 %215, 2048
%217 = or i32 %214, %216
%218 = shl i32 %204, 4
%219 = and i32 %218, 1024
%220 = or i32 %217, %219
%221 = shl i32 %204, 5
%222 = and i32 %221, 512
%223 = or i32 %220, %222
%224 = and i32 %209, 256
%225 = or i32 %223, %224
%226 = and i32 %209, 128
%227 = or i32 %225, %226
%228 = lshr i32 %204, 9
%229 = and i32 %228, 64
%230 = or i32 %227, %229
%231 = and i32 %205, 32
%232 = or i32 %230, %231
%233 = lshr i32 %204, 7
%234 = and i32 %233, 16
%235 = or i32 %232, %234
%236 = and i32 %228, 8
%237 = or i32 %235, %236
%238 = lshr i32 %204, 8
%239 = and i32 %238, 4
%240 = or i32 %237, %239
%241 = lshr i32 %204, 4
%242 = and i32 %241, 2
%243 = or i32 %240, %242
%244 = and i32 %228, 1
%245 = or i32 %243, %244
%246 = xor i32 %245, 13603
br label %247
247: ; preds = %203, %158
%248 = phi i32 [ %246, %203 ], [ %159, %158 ]
%249 = and i32 %248, 8192
%250 = icmp eq i32 %249, 0
br i1 %250, label %342, label %251
251: ; preds = %247
%252 = icmp ne i32 %37, %39
%253 = and i32 %248, 256
%254 = icmp eq i32 %253, 0
%255 = select i1 %252, i1 true, i1 %254
%256 = xor i32 %248, 16912
%257 = select i1 %255, i32 %248, i32 %256
%258 = icmp ne i32 %20, %22
%259 = and i32 %257, 64
%260 = icmp eq i32 %259, 0
%261 = select i1 %258, i1 true, i1 %260
%262 = xor i32 %257, 128
%263 = select i1 %261, i32 %257, i32 %262
%264 = icmp ne i32 %57, 0
%265 = and i32 %263, 1
%266 = icmp eq i32 %265, 0
%267 = select i1 %264, i1 true, i1 %266
%268 = xor i32 %263, 4362
%269 = select i1 %267, i32 %263, i32 %268
%270 = icmp ne i32 %37, %40
%271 = icmp ne i32 %12, %14
%272 = or i1 %270, %271
%273 = xor i32 %269, 64
%274 = select i1 %272, i32 %269, i32 %273
%275 = icmp ne i32 %11, 0
%276 = icmp ne i32 %49, %53
%277 = or i1 %276, %275
%278 = xor i32 %274, 1028
%279 = select i1 %277, i32 %274, i32 %278
%280 = icmp eq i32 %47, 0
br i1 %280, label %281, label %295
281: ; preds = %251
%282 = shl i32 %279, 15
%283 = and i32 %282, 32768
%284 = lshr i32 %279, 4
%285 = and i32 %284, 2048
%286 = lshr i32 %279, 6
%287 = and i32 %286, 32
%288 = lshr i32 %279, 5
%289 = and i32 %288, 1
%290 = and i32 %279, 30686
%291 = or i32 %290, %283
%292 = or i32 %291, %285
%293 = or i32 %292, %287
%294 = or i32 %293, %289
br label %295
295: ; preds = %281, %251
%296 = phi i32 [ %279, %251 ], [ %294, %281 ]
%297 = shl i32 %296, 5
%298 = and i32 %297, 32768
%299 = shl i32 %296, 12
%300 = and i32 %299, 16384
%301 = and i32 %296, 8192
%302 = and i32 %297, 4096
%303 = shl i32 %296, 3
%304 = and i32 %303, 2048
%305 = shl i32 %296, 10
%306 = and i32 %305, 1024
%307 = shl i32 %296, 6
%308 = and i32 %307, 512
%309 = lshr i32 %296, 6
%310 = and i32 %309, 256
%311 = shl i32 %296, 1
%312 = and i32 %311, 128
%313 = lshr i32 %296, 9
%314 = and i32 %313, 64
%315 = shl i32 %296, 4
%316 = and i32 %315, 32
%317 = lshr i32 %296, 7
%318 = and i32 %317, 16
%319 = and i32 %309, 8
%320 = lshr i32 %296, 2
%321 = and i32 %320, 4
%322 = lshr i32 %296, 4
%323 = and i32 %322, 2
%324 = lshr i32 %296, 12
%325 = and i32 %324, 1
%326 = or i32 %300, %301
%327 = or i32 %326, %298
%328 = or i32 %327, %302
%329 = or i32 %328, %304
%330 = or i32 %329, %306
%331 = or i32 %330, %308
%332 = or i32 %331, %310
%333 = or i32 %332, %312
%334 = or i32 %333, %314
%335 = or i32 %334, %316
%336 = or i32 %335, %318
%337 = or i32 %336, %319
%338 = or i32 %337, %321
%339 = or i32 %338, %323
%340 = or i32 %339, %325
%341 = xor i32 %340, 39333
br label %342
342: ; preds = %295, %247
%343 = phi i32 [ %341, %295 ], [ %248, %247 ]
%344 = shl i32 %343, 10
%345 = and i32 %344, 32768
%346 = lshr i32 %343, 1
%347 = and i32 %346, 16384
%348 = lshr i32 %343, 2
%349 = and i32 %348, 4096
%350 = shl i32 %343, 5
%351 = and i32 %350, 2048
%352 = and i32 %344, 1024
%353 = and i32 %348, 256
%354 = shl i32 %343, 3
%355 = and i32 %354, 128
%356 = lshr i32 %343, 5
%357 = and i32 %356, 64
%358 = shl i32 %343, 4
%359 = and i32 %358, 32
%360 = shl i32 %343, 2
%361 = and i32 %360, 16
%362 = lshr i32 %343, 9
%363 = and i32 %362, 8
%364 = and i32 %346, 4
%365 = lshr i32 %343, 6
%366 = and i32 %365, 2
%367 = lshr i32 %343, 8
%368 = and i32 %367, 1
%369 = and i32 %343, 8704
%370 = or i32 %369, %347
%371 = or i32 %370, %345
%372 = or i32 %371, %349
%373 = or i32 %372, %351
%374 = or i32 %373, %352
%375 = or i32 %374, %353
%376 = or i32 %375, %355
%377 = or i32 %376, %357
%378 = or i32 %377, %359
%379 = or i32 %378, %361
%380 = or i32 %379, %363
%381 = or i32 %380, %364
%382 = or i32 %381, %366
%383 = or i32 %382, %368
%384 = xor i32 %383, 34815
%385 = and i32 %5, 4
%386 = icmp eq i32 %385, 0
br i1 %386, label %420, label %387
387: ; preds = %342
%388 = and i32 %343, 8192
%389 = shl i32 %384, 9
%390 = and i32 %389, 32768
%391 = and i32 %384, 1024
%392 = and i32 %384, 512
%393 = shl i32 %384, 3
%394 = and i32 %393, 256
%395 = and i32 %384, 128
%396 = lshr i32 %384, 9
%397 = and i32 %396, 64
%398 = lshr i32 %384, 3
%399 = and i32 %398, 32
%400 = and i32 %384, 16
%401 = and i32 %384, 8
%402 = and i32 %384, 4
%403 = and i32 %384, 2
%404 = and i32 %384, 1
%405 = or i32 %347, %388
%406 = or i32 %405, %349
%407 = or i32 %406, %351
%408 = or i32 %407, %391
%409 = or i32 %408, %392
%410 = or i32 %409, %395
%411 = or i32 %410, %400
%412 = or i32 %411, %401
%413 = or i32 %412, %402
%414 = or i32 %413, %403
%415 = or i32 %414, %404
%416 = or i32 %415, %390
%417 = or i32 %416, %394
%418 = or i32 %417, %397
%419 = or i32 %418, %399
br label %420
420: ; preds = %387, %342
%421 = phi i32 [ %384, %342 ], [ %419, %387 ]
%422 = and i32 %5, 64
%423 = icmp eq i32 %422, 0
br i1 %423, label %434, label %424
424: ; preds = %420
%425 = shl i32 %421, 2
%426 = and i32 %425, 16384
%427 = lshr i32 %421, 1
%428 = and i32 %427, 8192
%429 = and i32 %427, 4096
%430 = and i32 %421, 36863
%431 = or i32 %430, %426
%432 = or i32 %431, %428
%433 = or i32 %432, %429
br label %434
434: ; preds = %424, %420
%435 = phi i32 [ %421, %420 ], [ %433, %424 ]
%436 = icmp eq i32 %8, 0
br i1 %436, label %437, label %451
437: ; preds = %434
%438 = shl i32 %435, 8
%439 = and i32 %438, 1024
%440 = lshr i32 %435, 3
%441 = and i32 %440, 128
%442 = shl i32 %435, 2
%443 = and i32 %442, 4
%444 = lshr i32 %435, 7
%445 = and i32 %444, 1
%446 = and i32 %435, 64378
%447 = or i32 %446, %439
%448 = or i32 %447, %441
%449 = or i32 %448, %443
%450 = or i32 %449, %445
br label %451
451: ; preds = %437, %434
%452 = phi i32 [ %435, %434 ], [ %450, %437 ]
%453 = icmp eq i32 %32, %35
br i1 %453, label %454, label %468
454: ; preds = %451
%455 = shl i32 %452, 5
%456 = and i32 %455, 512
%457 = lshr i32 %452, 5
%458 = and i32 %457, 16
%459 = shl i32 %452, 2
%460 = and i32 %459, 8
%461 = lshr i32 %452, 2
%462 = and i32 %461, 2
%463 = and i32 %452, 64997
%464 = or i32 %463, %456
%465 = or i32 %464, %458
%466 = or i32 %465, %460
%467 = or i32 %466, %462
br label %468
468: ; preds = %454, %451
%469 = phi i32 [ %452, %451 ], [ %467, %454 ]
%470 = icmp eq i32 %26, %28
br i1 %470, label %471, label %479
471: ; preds = %468
%472 = shl i32 %469, 2
%473 = and i32 %472, 16384
%474 = lshr i32 %469, 2
%475 = and i32 %474, 4096
%476 = and i32 %469, 45055
%477 = or i32 %476, %473
%478 = or i32 %477, %475
br label %479
479: ; preds = %471, %468
%480 = phi i32 [ %469, %468 ], [ %478, %471 ]
%481 = and i32 %5, 16
%482 = icmp eq i32 %481, 0
br i1 %482, label %495, label %483
483: ; preds = %479
%484 = shl i32 %480, 2
%485 = and i32 %484, 2048
%486 = and i32 %484, 1024
%487 = lshr i32 %480, 2
%488 = and i32 %487, 512
%489 = and i32 %487, 256
%490 = and i32 %480, 61695
%491 = or i32 %490, %485
%492 = or i32 %491, %486
%493 = or i32 %492, %488
%494 = or i32 %493, %489
br label %495
495: ; preds = %483, %479
%496 = phi i32 [ %480, %479 ], [ %494, %483 ]
%497 = icmp eq i32 %42, %44
br i1 %497, label %498, label %511
498: ; preds = %495
%499 = shl i32 %496, 3
%500 = and i32 %499, 128
%501 = shl i32 %496, 1
%502 = and i32 %501, 64
%503 = lshr i32 %496, 2
%504 = and i32 %503, 32
%505 = and i32 %503, 16
%506 = and i32 %496, 65295
%507 = or i32 %506, %500
%508 = or i32 %507, %502
%509 = or i32 %508, %504
%510 = or i32 %509, %505
br label %511
511: ; preds = %498, %495
%512 = phi i32 [ %496, %495 ], [ %510, %498 ]
%513 = icmp eq i32 %11, 0
br i1 %513, label %514, label %526
514: ; preds = %511
%515 = and i32 %512, 65520
%516 = shl i32 %512, 3
%517 = and i32 %516, 8
%518 = or i32 %517, %515
%519 = lshr i32 %512, 1
%520 = and i32 %519, 4
%521 = or i32 %518, %520
%522 = and i32 %519, 2
%523 = or i32 %521, %522
%524 = and i32 %519, 1
%525 = or i32 %523, %524
br label %526
526: ; preds = %511, %514, %60
%527 = phi i32 [ %71, %60 ], [ %512, %511 ], [ %525, %514 ]
%528 = tail call i32 @final_decrypt(i32 %527, i32 %2)
ret i32 %528
}