分类 Reverse 下的文章

careful

题目给出了一个恶意样本,请分析出样本请求服务器的域名(flag的形式为DASCTF{md5(域名)}) 其中md5值都是小写

拖入IDA,发现是一个解析域名,并建立TCP链接的过程,建立这个链接后,recv通过拼接,来CreateProcessA,运行恶意代码。
2024-06-18T08:04:29.png
显然htons是端口(8888),inet_addr函数获取的是ip地址,ip地址是从gethostbyname函数来的。

  for ( i = 0; i < v4; ++i )
    name[i] = __ROR1__(*((_BYTE *)v13 + i), i & 7);

name的解密过程是上述这样的,我们动调后可以发现是welcome_toxxxxxx.com,我们尝试了一下是错误的答案。
通过x64dbg动态分析,我们可以发现调用了这个函数
2024-06-18T08:09:23.png
我们发现这个函数的调用堆栈有initterm,通过学习这个后,我们可以发现是全局变量的初始化过程。
2024-06-18T08:10:44.png
这个函数掌管了全局变量的初始化,可以注意到401010这个函数返回了一个BOOL,我们大概可以写出伪代码。

BOOL a = sub_401010();
int main(){
 ...
}

这样的话,sub_401010()函数会在main函数运行之前抢先运行,这样也就达到了提前修改代码(SMC)的目的。
SMC会把gethostbyname()函数的前5个字节jmp到下面这个函数
2024-06-18T08:13:04.png

name[0] = *a1 ^ 0x3D;
name[1] = a1[1] ^ 0x10;
name[2] = a1[2] ^ 0x1F;
name[3] = a1[3] ^ 0x17;
name[4] = a1[4] ^ 0x30;
name[5] = a1[5] ^ 0x2C;
name[6] = a1[6] ^ 0xB;
name[7] = a1[7];
name[8] = a1[8] ^ 0x35;
name[9] = a1[9] ^ 0x60;
name[10] = a1[10] ^ 0x16;
name[11] = a1[11] ^ 0x2C;
name[12] = a1[12] ^ 0x51;
name[13] = a1[13] ^ 0x43;
name[14] = a1[14] ^ 8;
name[15] = a1[15] ^ 0x45;
name[16] = a1[16] ^ 0x57;
name[17] = a1[17];
name[18] = a1[18];
name[19] = a1[19];
name[20] = a1[20];
name[21] = a1[21];

显然,通过SMC,动态修改了gethostbyname的行为,并且最后真正调用了gethostbyname
2024-06-18T08:14:06.png
相当于这是一个Hook,动态调试后,我们拿到真正的字符串

Just_An_APIH00k11.com

2024-06-18T08:15:22.png

DASCTF{f18566f93963f72f463fdfa2d163c37c}

R4ndom

程序在__libc_csu_init里面分别偷偷调用了a和b函数。
a函数负责进行ptrace反调试
2024-06-18T08:00:00.png
b函数则初始化了srand
2024-06-18T08:00:34.png
写一个cpp(在linux下运行,因为win和linux下rand不一样)
收集randTable(count=42)

#include <iostream>
using namespace std;

int main(){
        cout << "count:";
        int c;
        cin >> c;
        cout << "[";
        for(int i = 0;i < c; i++)
        {
                if(i != 0) cout << ", ";
                cout << rand();
        }

        cout << "]";
        return 0;
}

然后从程序里面抄出来Table放z3里面,并使用z3的Array和Select实现对于表的取值

table = [...]
z3Table = Array('z3-table', BitVecSort(8), BitVecSort(8))
for i in range(len(table)): s.add(z3Table[i] == table[i])
然后使用Select(x, i)  # x[i]
from z3 import *
table = [0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16]
randTable = [1339546161, 401979842, 1084912717, 882247430, 1048050849, 1950252444, 1188894224, 1035316485, 1004145938, 292996994, 698777994, 1572612448, 187344395, 1998928827, 490869405, 1976471722, 861192779, 1683160727, 1968082326, 1836887756, 1806801098, 176220730, 2616407, 375557835, 1798606494, 1079742625, 657352025, 1384338308, 1249182411, 600742620, 1626386373, 441244924, 1002722462, 563815442, 1323492354, 2050773311, 366584239, 364902931, 938606148, 1370730177, 657899925, 1637384142] 
ans = [0x3513AB8AB2D7E6EE, 0x2EEDBA9CB9C97B02, 0x16E4F8C8EEFA4FBD, 0x383014F4983B6382, 0xEA32360C3D843607, 0xA655]

aa = b""
for i in ans:
    aa += i.to_bytes(8, 'little')
ans = list(aa)

s = Solver()
x = [BitVec(f"x{i}", 8) for i in range(42)]

table_z3 = Array('t1', BitVecSort(8), BitVecSort(8))
for i in range(len(table)): s.add(table_z3[i] == table[i])

for i in range(42):
    v3 = x[i]
    v4 = randTable[i]
    s.add(Select(table_z3, (16 * ((v3 + v4 % 255) >> 4) + 15) & (v3 + v4 % 255)) == ans[i])
    s.add(x[i] >= 0x20)
    s.add(x[i] <= 0x7f)

print(s.check())
m = s.model()
for i in range(42):
    print(chr(m[x[i]].as_long()), end='')
sat
flag{B8452786-DD8E-412C-E355-2B6F27DAB5F9}

nSMC

嵌套分支SMC
网页的两分钟限制可以把js reset去掉,然后10分钟手动续一次容器,手撕。
手撕方法:Ctrl+N手动设置RIP寄存器,然后走解密函数,递归地走解密函数。
然后通过xref反向查找到最顶层,拿到每一层的if条件。
gy5r64K3RxrZWkXJ7P6XVo93KxDmbrRI
发现这个是Correct!
然后开一个新的页面,把challenge-id改成最开始的id,提交,就过了

R3CTF{AU7OMATE_EVeRy7hInG_In_It_6714e11d6406}

baby_rop

在主函数read后,栈被整个换掉了,可以清楚看到栈上的逻辑,我们可以定位到strlen函数,发现它的返回进入了一个My_Cmp函数,这个函数生成随机数,并和另一个magic异或,这个值再异或strlen的值,最后看结果是不是0,然后会操纵跳转,我们可以知道,这两个数异或的值就是正确值,得到flag长度32,然后,我们再经过调试,发现它把flag的每8位 先异或 0x343230324E494448 再加上 0x343230324E494448 ,最后的值还是走My_Cmp函数进行正确性判断,我们就可以写出z3脚本

from z3 import *
from Crypto.Util.number import *
x = [BitVec(f"x{i}", 64) for i in range(4)]
s = Solver()
magic = 0x343230324E494448 
s.add((x[0] ^ magic) + magic == 0x0000000011DB2A3F^0x9A7BA6984AB8636B)
s.add((x[1] ^ magic) + magic == 0x0000000030836D0F^0x8F739F7345DC15CF)
s.add((x[2] ^ magic) + magic == 0x000000000AD48145^0x399F7938C150EA1A)
s.add((x[3] ^ magic) + magic == 0x000000001ECB02BB^0x7D454145674F5DD5)

print(s.check())
m = s.model()
result = b""
for i in range(4):
    result += long_to_bytes(m[x[i]].as_long())[::-1]

print(result)
# b'DASCTF{R0p_is_so_cr34y_1n_re!!!}'

FinalEncrypt

进去后发现是ChaCha加密,然后发现时间戳决定密钥,我们先根据这个rand自己写一个根据时间戳生成key的程序

#include <iostream>
#include <ios>
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
        int a;
        std::cin >> a;
        srand(a);
        uint32_t mykey[32];
        for(int i = 0; i < 32; ++i){
                mykey[i] = rand();
        }
        char* cb = (char*)mykey;
        for(int i = 0;i < 64;i++)
        {
                printf("%02x", (int)cb[i] & 0xff);
        }
        return 0;
}

这个程序必须在linux下才能正常运行(rand和windows下的不一样),然后我们注意到,*.enc的两个文件,它们可以在属性中看到修改时间,精确到秒,我们就可以直接获取key了,解密这两个文件
2024-06-02T10:31:47.png
2024-06-02T10:31:54.png
然后,分析exe,发现exe里面也是一个根据时间决定一个码表的,而加密结果就是加密文本对于码表的索引值的数据,我们就可以根据上面的时间戳,对于这个时间戳附近进行爆破(生成box的算法直接从ida扣出来用)。
Exp


#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctime>
#include <iostream>

__int64 __fastcall __ROR1__(unsigned __int8 a1, char a2)
{
        return (unsigned __int8)(((int)a1 >> a2) | (a1 << (8 - a2)));
}

int main() {
        unsigned int v3; // eax
        char Str[8]; // [rsp+20h] [rbp-60h] BYREF
        char v6[56]; // [rsp+28h] [rbp-58h] BYREF
        int v7; // [rsp+60h] [rbp-20h]
        char v8[260]; // [rsp+70h] [rbp-10h] BYREF
        int v9; // [rsp+174h] [rbp+F4h]
        int v10; // [rsp+178h] [rbp+F8h]
        int v11; // [rsp+17Ch] [rbp+FCh]
        int v12; // [rsp+180h] [rbp+100h]
        int v13; // [rsp+184h] [rbp+104h]
        int v14; // [rsp+188h] [rbp+108h]
        int v15; // [rsp+18Ch] [rbp+10Ch]
        int v16; // [rsp+190h] [rbp+110h]
        char v17; // [rsp+195h] [rbp+115h]
        char v18; // [rsp+196h] [rbp+116h]
        char v19; // [rsp+197h] [rbp+117h]
        int i; // [rsp+198h] [rbp+118h]
        unsigned __int8 v21; // [rsp+19Ch] [rbp+11Ch]
        char v22; // [rsp+19Dh] [rbp+11Dh]
        char v23; // [rsp+19Eh] [rbp+11Eh]
        char v24; // [rsp+19Fh] [rbp+11Fh]

        //e07816e1dba1da61536634bef2c3b6346d533cc3b6b834e3beb634c80264143c34e36400bb4daa6902ff643414e3b8344dff6634b8b66db6bbc33834143461ab147e04

        for (int i = 1715097600; i < 1717309574; i++)
        {
                srand(i);
                do
                        v19 = rand();
                while (!v19);
                memset(v8, 0, 0x100ui64);
                v8[0] = v19;
                v22 = 1;
                v21 = 1;
                do
                {
                        if (v22 < 0)
                                v24 = 27;
                        else
                                v24 = 0;
                        v22 ^= v24 ^ (2 * v22);
                        v18 = (2 * v21) ^ (4 * ((2 * v21) ^ v21)) ^ v21;
                        v17 = v18 ^ (16 * v18);
                        if (v17 < 0)
                                v23 = 9;
                        else
                                v23 = 0;
                        v21 = v23 ^ v17;
                        v16 = (unsigned __int8)(v23 ^ v17);
                        v16 = __ROR1__(v23 ^ v17, 7);
                        v15 = v16 ^ (unsigned __int8)(v21 ^ v8[0]);
                        v14 = v21;
                        v14 = __ROR1__(v21, 6);
                        v13 = v15 ^ v14;
                        v12 = v21;
                        v12 = __ROR1__(v21, 5);
                        v11 = v13 ^ v12;
                        v10 = v21;
                        v10 = __ROR1__(v21, 4);
                        v9 = v11 ^ v10;
                        v8[v22] = v11 ^ v10;
                } while (v22 != 1);
                unsigned char hexData[67] = {
                        0xE0, 0x78, 0x16, 0xE1, 0xDB, 0xA1, 0xDA, 0x61, 0x53, 0x66, 0x34, 0xBE, 0xF2, 0xC3, 0xB6, 0x34,
                        0x6D, 0x53, 0x3C, 0xC3, 0xB6, 0xB8, 0x34, 0xE3, 0xBE, 0xB6, 0x34, 0xC8, 0x02, 0x64, 0x14, 0x3C,
                        0x34, 0xE3, 0x64, 0x00, 0xBB, 0x4D, 0xAA, 0x69, 0x02, 0xFF, 0x64, 0x34, 0x14, 0xE3, 0xB8, 0x34,
                        0x4D, 0xFF, 0x66, 0x34, 0xB8, 0xB6, 0x6D, 0xB6, 0xBB, 0xC3, 0x38, 0x34, 0x14, 0x34, 0x61, 0xAB,
                        0x14, 0x7E, 0x04
                };

                unsigned char result[67] = {};
                bool flag = true;
                for (int j = 0; j < 67; j++)
                {
                        bool notFound = true;
                        for (int k = 0; k < 0x90; k++)
                        {
                                if ((unsigned char)v8[k] == (unsigned char)hexData[j])
                                {
                                        result[j] = k;
                                        notFound = false;
                                        break;
                                }
                        }
                        if (notFound)
                        {
                                flag = false;
                                break;
                        }
                }
                
                if (flag)
                {
                        std::cout << i << std::endl;
                }
                if (flag && result[0] == 'D' && result[1] == 'A' && result[2] == 'S' && result[3] == 'C' && result[4] == 'T')
                {
                        flag = true;
                        std::cout << result << std::endl;
                }
                else
                {
                        flag = false;
                }
                if (flag)
                {
                        std::cout << "ok" << std::endl;
                }

        }

        return 0;
}
DASCTF{7ou_h@ve_5o1ved_4he_fina1_4ncrypti0n_a4d_y0u_de5erv3_a_7lag}

PPTT

首先,通过Hook VirtualProtect函数,可以注意到程序有动态代码段修改行为,且调用者是RCTF.exe(主程序段),再通过栈回溯可以注意到,strcmp函数被修改,后续调用的strcmp会让第二个参数的一个确定的字节+1。
2024-05-30T08:07:35.png
通过IDA里面的分析,可以了解到,在最后的大IF语句中,有一个strcmp,Str2是用户输入经过打乱后的值(只取11个字节以后),Str1则是字符串常量值,经过动态调试(IDA里面静态无法进行观察),可以发现strcmp对Str1进行了一些修改,通过反着打乱值,并且通过RCTF{}这样的模式,我们可以确定flag是RCTF{sj***emqrp****tyua},注意,s字符是r字符在strcmp函数中+1而来的
2024-05-30T08:08:16.png
所以我们可以了解,flag只有7位需要知道了,由于在已知中没有大写字符和数字,我们推测全部都是小写字符(并且如果加上所有字符,那么复杂度是非常大的),下面我们观察对于flag的其他判定规则。
2024-05-30T08:08:26.png
经过反复动态调试和确认后,我们可以注意到上下两个图,v10的LODWORD和HIDWORD分别表示了两个开关,当v10不为0但是v10低位为0的时候,才能通过最后的IF判定,所以我们可以确定,下图第一个if的条件是假的,不能成立的。
2024-05-30T08:09:00.png
拿到打乱的顺序列表后,我们有z3-solver

from z3 import *
from Crypto.Util.number import *
from copy import deepcopy
from typing import List

def solve():
    s = Solver()
    x = z3_create_bvs("x", 3, 64)
    v23 = x[0]
    v24 = x[1]
    v25 = x[2]
    
    v20 = v24 & v23
    v19 = (v24 & v23 | v25 & v23) + 65670
    v18 = (v25 & v23 ^ v25 & v24) - 1131796
    v17 = v24 & v23 ^ v25 & v23
    
    s.add((v24 & v23 & (~(v24 | v23) | v25 & v23 | v25 & v24 & ~v18) | v25 & v24 & v18) != 1732474390)
    s.add((v23 ^ (v20 & ~v18 | v20 & ~v19 | v17 & v19 | v25 & v23 & ~v18)) == 0x400010000622000)
    s.add((v18 ^ (v19 - v20)) == 0x2100A0203EFBB8B)
    s.add((v17 ^ v19 ^ v20) == 0x4083102108E)
    s.add((v19 ^ v17) - v18 == 0x1551566F3C6485ED)
    s.add((v18 ^ v19 ^ v25 & v24) == 0x40836ECAB9A)
    s.add((v17 ^ v20) - v18 == 0x3E51566F3C718563)
    s.add(v23 - v24 == 0x1AEFF6FDFC121BF1)
    s.add((v25 + v24 + v23) % 10 == 8)
    z3_all_bv_is_printable(s, [v23, v24, v25])
    
    v23_s = '*p*qyeam'
    v24_s = 'sT*u{**R'
    v25_s = '}CtF*js*'
    for i in range(8):
        if v23_s[i] != '*':
            s.add(v23 & (0xff << (i*8)) == ord(v23_s[i]) << (i*8))
        if v24_s[i] != '*':
            s.add(v24 & (0xff << (i*8)) == ord(v24_s[i]) << (i*8))
        if v25_s[i] != '*':
            s.add(v25 & (0xff << (i*8)) == ord(v25_s[i]) << (i*8))
    
    # answers
    while s.check() == sat:
        m = s.model()
        z3_exclude(s, x, m)
        result = z3_concat_bv_aslong(x, m).decode()
        sbox = [15, 17, 9, 19, 12, 8, 21, 23, 13, 20, 5, 7, 3, 22, 1, 2, 0, 10, 14, 18, 4, 11, 6, 16]
        assert(len(sbox) == len(result))
        for i in range(len(result)):
            print(result[sbox[i]], end='')
        print('')

# Create BitVectors
def z3_create_bvs(name: str, size: int, bvLen: int):
    x = [BitVec(f"{name}{i}", bvLen) for i in range(size)]
    return x

# Copy var
def z3_copy(var: ExprRef):
    return deepcopy(var)

# exclude curr solve to get all solvers
def z3_exclude(solver: Solver, var: List[BitVecRef], model: ModelRef):
    for i in var:
        solver.add(i != model[i])

# concat bitvec(i32/i64) to a byte array
def z3_concat_bv_aslong(var: List[BitVecRef], model: ModelRef) -> bytes:
    ans = b''
    for i in var:
        ans += long_to_bytes(model[i].as_long())[::-1]
    return ans

# filter: printable
def z3_all_bv_is_printable(solver: Solver, var: List[BitVecRef]) -> None:
    for v in var:
        for i in range(v.size() // 8):
            solver.add((v >> (i*8)) & 0xff >= 0x20)
            solver.add((v >> (i*8)) & 0xff <= 0x7f)

if __name__ == '__main__':
    solve()

bloker_vm

本题相当于一个SEH VM,并且它开了个自己,自己调试自己(通过IDA分析,CreateMutex如果发现已经开了,就走另一个地方,不走正常main函数),不过我们只需要在每个vm handler中下断点,(因为这个程序其实是不存在反调试的,只是异常会让程序跑飞),然后研究输入会如何进行变换即可,通过分析,还好RC4是标准RC4,不过有一个细节点就是,RC4的Key是一个字符串,而最后一个字符是不取的,因为有长度限制,我们即可写出EXP:
2024-05-30T08:19:58.png

from z3 import *
from Crypto.Util.number import *
from copy import deepcopy
from typing import List

def solve():
    s = Solver()
    x = z3_create_bvs('x', 25, 8)
    y = z3_copy(x)
    for i in range(25):
        x[i] ^= 0x7d
        x[i] = (x[i] << 6) | (x[i] >> 2)  & 0x3f

    # a通过动态调试获得,并通过CyberChef进行RC4解密,密钥注意最后一个没有y
    # #https://gchq.github.io/CyberChef/#recipe=RC4(%7B'option':'UTF8','string':'thisisyoursecretke'%7D,'Hex','Hex')&input=ODAwNUUzMkYxODJGQzU4QzI1NzBCQzA1MUM0RkYyMDJFNTNFMDIyRkU1MTFBM0Mw&oeol=NEL
    a = bytes.fromhex("cb8f4ace810788c707c701884606c7028688c744848506c300")
    for i in range(len(a)):
        s.add(a[i] == x[i])
    # result = Z3_get_string_bytes()
    while s.check() == sat:
        m = s.model()
        z3_exclude(s, y, m)
        result = z3_concat_bv_aslong(y, m)
        print(result) 

# Create BitVectors
def z3_create_bvs(name: str, size: int, bvLen: int):
    x = [BitVec(f"{name}{i}", bvLen) for i in range(size)]
    return x

# Copy var
def z3_copy(var: ExprRef):
    return deepcopy(var)

# exclude curr solve to get all solvers
def z3_exclude(solver: Solver, var: List[BitVecRef], model: ModelRef):
    for i in var:
        solver.add(i != model[i])

# concat bitvec(i32/i64) to a byte array
def z3_concat_bv_aslong(var: List[BitVecRef], model: ModelRef) -> bytes:
    ans = b''
    for i in var:
        ans += long_to_bytes(model[i].as_long())[::-1]
    return ans

# filter: printable
def z3_all_bv_is_printable(solver: Solver, var: List[BitVecRef]) -> None:
    for v in var:
        for i in range(v.size() // 8):
            solver.add((v >> (i*8)) & 0xff >= 0x20)
            solver.add((v >> (i*8)) & 0xff <= 0x7f)

if __name__ == '__main__':
    solve()
# b'RCTF{a_baby_debug_bloker}'

re2

这道题是个Linux下的异常处理,但是挺迷惑的
在sub_401210有个base64解码,不过解码规则是第一个4字节解出来三个字节,第二个4字节解出两个字节,依次递减
flag通过r14, r15传到异常处理程序里,然后处理完再通过r13传回来,r13=0的时候就对了
现在问题是调试断不到有效函数里,疑似在库里有额外的长度检查和字符检查之类的
通过eh_frame段的异常处理栈帧来引导加密逻辑的:
$ readelf -wF re2
...
$ readelf -wf re2

在 eh_Frame 的结果里,sub_4011a0的栈回溯里有个tea的sum值2654435769 = 0x9e3779b9,还有几个 OP 是 11223344
感觉是main里触发了异常之后进入的第一个处理逻辑

000000a8 00000000000a0080 00000024 FDE cie=00000088 pc=00000000004011a0..000000000040120b 
  Augmentation data:     48 23 4a 00 
  DW_CFA_advance_loc: 1 to 00000000004011a1 
  DW_CFA_def_cfa_offset: 16 
  DW_CFA_offset: r6 (rbp) at cfa-16 
  DW_CFA_advance_loc: 3 to 00000000004011a4 
  DW_CFA_def_cfa_register: r6 (rbp) 
  DW_CFA_advance_loc: 4 to 00000000004011a8 
  DW_CFA_val_expression: r13 (r13) (DW_OP_lit11; DW_OP_lit22; DW_OP_constu: 33; DW_OP_constu: 44; DW_OP_constu: 2654435769; DW_OP_reg15 (r15); DW_OP_r
eg14 (r14); DW_OP_lit0; DW_OP_pick: 3; DW_OP_skip: 8; DW_OP_le; (Unknown location op 0xae)) 
  DW_CFA_advance_loc1: 89 to 0000000000401201 
  DW_CFA_def_cfa: r7 (rsp) ofs 8 
  DW_CFA_advance_loc: 1 to 0000000000401202 
  DW_CFA_def_cfa: r6 (rbp) ofs 16 
  DW_CFA_nop

https://github.com/go-delve/delve/blob/master/pkg/dwarf/op/opcodes.go
中间有花指令,去了不少花:

from ida_bytes import *

addr = 0x402241
while addr < 0x4A2347:
    addr += 1
    if get_byte(addr) == 0x2F and get_byte(addr + 2) == 0x00:
        patch_length = get_byte(addr + 1)
        patch_start = addr + 3
        for i in range(patch_start, patch_start + patch_length):
            patch_byte(i, 0x96)

找到了 巨大虚拟机

DW_OP_lit11;  # 经过调试,11 22 33 44 为TEA的Key
DW_OP_lit22; 
DW_OP_constu: 33; 
DW_OP_constu: 44; 
DW_OP_constu: 2654435769;  # 注意到这个是标准TEA加密的 delta.
DW_OP_reg15 (r15); 
DW_OP_reg14 (r14); 
DW_OP_lit0; 
DW_OP_pick: 3;  
DW_OP_plus;  
DW_OP_dup; 
DW_OP_pick: 3; 
DW_OP_dup; 
DW_OP_constu: 9246453814144344100; 
DW_OP_constu: 3482419137767051305; 
DW_OP_or; 
DW_OP_swap; 
DW_OP_drop; 
DW_OP_constu: 3355170828548290441; 
DW_OP_constu: 12456870883039105005; 
DW_OP_xor; 
.... 此处省略14w行 不过值得注意的是,后面的左右移动是没有被混淆的,也就是基本上没有垃圾,而左移64次,很容易让人联想到TEA

https://github.com/aclements/libelfin/blob/master/dwarf/expr.cc#L32 这是一个虚拟机实现
清理①下

a = open('clear1.txt').read().split('\n')
before = len(a)
a = [*map(str.strip, a)]
k = 0
cleared = ""
while k < len(a):
    if a[k].startswith('DW_OP_lit0;'):
        cleared += 'DW_OP_constu: 0;\n'
        k+=1
    elif a[k].startswith('DW_OP_lit1;'):
        cleared += 'DW_OP_constu: 1;\n'
        k+=1
    elif a[k].startswith('DW_OP_lit2;'):
        cleared += 'DW_OP_constu: 2;\n'
        k+=1
    elif a[k].startswith('DW_OP_lit3;'):
        cleared += 'DW_OP_constu: 3;\n'
        k+=1
    elif a[k].startswith('DW_OP_lit4;'):
        cleared += 'DW_OP_constu: 4;\n'
        k+=1
    elif a[k].startswith('DW_OP_lit5;'):
        cleared += 'DW_OP_constu: 5;\n'
        k+=1
    elif a[k].startswith('DW_OP_lit6;'):
        cleared += 'DW_OP_constu: 6;\n'
        k+=1
    elif a[k].startswith('DW_OP_constu') and a[k+1].startswith('DW_OP_constu') and a[k+2].startswith('DW_OP_rot') and a[k+3].startswith('DW_OP_drop') and a[k+4].startswith('DW_OP_drop'):
        k+= 5
    elif a[k].startswith('DW_OP_constu') and a[k+1].startswith('DW_OP_constu'):
        if a[k+2].startswith('DW_OP_swap'):
            cleared += a[k+1] +"\n" + a[k]+"\n"
            k += 3
        elif a[k+2].startswith('DW_OP_xor'):
            zz = len('DW_OP_constu: ')
            cleared += 'DW_OP_constu: ' + str(0xffffffffffffffff & (int(a[k][::-1][1:][::-1][zz:]) ^ int(a[k+1][::-1][1:][::-1][zz:])))+ ";\n"
            k += 3
        elif a[k+2].startswith('DW_OP_or'):
            zz = len('DW_OP_constu: ')
            cleared += 'DW_OP_constu: ' + str(0xffffffffffffffff & (int(a[k][::-1][1:][::-1][zz:]) | int(a[k+1][::-1][1:][::-1][zz:])))+ ";\n"
            k += 3
        elif a[k+2].startswith('DW_OP_and'):
            zz = len('DW_OP_constu: ')
            cleared += 'DW_OP_constu: ' + str(0xffffffffffffffff &(int(a[k][::-1][1:][::-1][zz:]) & int(a[k+1][::-1][1:][::-1][zz:])))+ ";\n"
            k += 3
        elif a[k+2].startswith('DW_OP_plus'):
            zz = len('DW_OP_constu: ')
            cleared += 'DW_OP_constu: ' + str(0xffffffffffffffff &(int(a[k][::-1][1:][::-1][zz:]) + int(a[k+1][::-1][1:][::-1][zz:])))+ ";\n"
            k += 3
        elif a[k+2].startswith('DW_OP_minus'):
            zz = len('DW_OP_constu: ')
            cleared += 'DW_OP_constu: ' + str(0xffffffffffffffff &(int(a[k][::-1][1:][::-1][zz:]) - int(a[k+1][::-1][1:][::-1][zz:])))+ ";\n"
            k += 3
        else:
            cleared += a[k] + '\n'
    elif a[k].startswith('DW_OP_constu') and a[k+1].startswith('DW_OP_not'):
        zz = len('DW_OP_constu: ')
        cleared += 'DW_OP_constu: ' + str(0xffffffffffffffff & (~int(a[k][::-1][1:][::-1][zz:]))) + ";\n"
        k += 2
    elif a[k].startswith('DW_OP_constu') and a[k+1].startswith('DW_OP_drop;'):
        k += 2
    elif a[k].startswith('DW_OP_constu') and a[k+1].startswith('DW_OP_swap;') and a[k+2].startswith('DW_OP_drop'):
        cleared += a[k+2] + '\n' + a[k] + '\n'
        k += 3
    elif a[k].startswith('DW_OP_constu') and a[k+1].startswith('DW_OP_dup'):
        zz = len('DW_OP_constu: ')
        cleared += a[k] + '\n' + a[k]  + '\n'
        k += 2
    elif a[k].startswith('DW_OP_dup') and a[k+1].startswith('DW_OP_drop'):
        k += 2
    elif a[k].startswith('DW_OP_rot;') and a[k+1].startswith('DW_OP_drop;') and a[k+2].startswith('DW_OP_drop;'):
        k += 3
    else:
        cleared += a[k] + '\n'
    k+=1

cleared = cleared[::-1][1:][::-1]

after = len(cleared.split('\n'))
print("cleared:", before - after)
cleared.strip() 
# 打开文件进行写入,如果文件不存在将会被创建
with open('clear1.txt', 'w') as file:
    file.write(cleared)

但是如此清理是有问题的,因为bra指令会改程序流程(往前/后跳转的字节数),所以不能这么去,只能通过调试解决:
输入通过硬件断点下断,运行能找到调用的地方,然后跟输入的值,再下硬件断点,然后运行,会跑到vm虚拟机的地方,然后删掉之前的硬件断点就可以开始调试了
2024-05-30T08:25:05.png
通过看字节码的key和deatle猜出是tea加密,在众多垃圾字节里面找到了少量shr和shl,可以通过这个定位加密开始的位置。偶然发现neg只有两个指令,在程序下断点验证发现这里是check。
调试VM的时候,由于vm对xor和add有非常多的垃圾指令,就很难让人定位到中间的那一部分(v0 + sum),所以指南观察旁边两部分,但是通过多次的动态调试,发现数据在最后2轮的时候有些许不同,在0x1e轮时,数据变了1,刚开始是一位整个加减1,但是发现v0--后,v1变化很大,而给中间括号的里面东西+1后,发现完美符合了结果,然后在最后一轮循环的时候(0x1f)轮,发现数据变化更大,猜测里面可能+2了,加上后,结果完美符合,然后最后在虚拟机指令neg的地方下断点,然后再在add的地方下断点(这样可以防止中间的一堆垃圾指令,感觉就是出题人防止你发现中间的sum旁边不小心加了1),然后就可以看到两个结果加起来,右边是我们魔改tea加密后的值,而左边的值x不知道是干啥的,但是把结果设置为0(总共进行了四次),然后发现就是对的(虚拟机退出后值是0就是答案正确),所以x很显然就是结果的负数,两个加起来为0就是正确,所以就有以下的EXP:

#include <iostream>
#include <stdint.h>

void encrypt(uint64_t* v, uint32_t* k) {
    uint64_t sum = 0;
    uint64_t v0 = v[0], v1 = v[1];
    uint32_t delta = 0x9e3779b9;
    uint32_t k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];

    for (int i = 0; i < 32; i++) {
        sum += delta;
        if (i == 0x1e)
        {
            v0 += ((v1 << 4) + k0) ^ (v1 + sum + 1) ^ ((v1 >> 5) + k1);
            v1 += ((v0 << 4) + k2) ^ (v0 + sum + 1) ^ ((v0 >> 5) + k3);
        }
        else if (i == 0x1f)
        {
            v0 += ((v1 << 4) + k0) ^ (v1 + sum + 2) ^ ((v1 >> 5) + k1);
            v1 += ((v0 << 4) + k2) ^ (v0 + sum + 2) ^ ((v0 >> 5) + k3);
        }
        else
        {
            v0 += ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);
            v1 += ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);
        }
    }
    v[0] = v0;
    v[1] = v1;
}

void decrypt(uint64_t* v, uint32_t* k) {
    uint64_t sum = 0;
    uint64_t v0 = v[0], v1 = v[1];
    uint32_t delta = 0x9e3779b9;
    uint32_t k0 = k[0], k1 = k[1], k2 = k[2], k3 = k[3];
    for (int i = 0; i < 32; i++) {
        sum += delta;
    }

    for (int i = 31; i >= 0; i--) {
        if (i == 0x1e)
        {
            v1 -= ((v0 << 4) + k2) ^ (v0 + sum + 1) ^ ((v0 >> 5) + k3);
            v0 -= ((v1 << 4) + k0) ^ (v1 + sum + 1) ^ ((v1 >> 5) + k1);
        }
        else if (i == 0x1f)
        {
            v1 -= ((v0 << 4) + k2) ^ (v0 + sum + 2) ^ ((v0 >> 5) + k3);
            v0 -= ((v1 << 4) + k0) ^ (v1 + sum + 2) ^ ((v1 >> 5) + k1);
        }
        else
        {
            v1 -= ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);
            v0 -= ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);
        }
        sum -= delta;
    }
    v[0] = v0;
    v[1] = v1;
}


int main()
{
    // v的值是从add那边扣出来的,后面加个0是为了方便输出字符串
    uint64_t v[3] = { -(int64_t)0xAD48DD59067C4282 , -(int64_t)0x323F2D5A909AF1A6, 0 };
    // key的值是通过调试,发现在右移/左移后,加上了它们,就是tea的逻辑
    uint32_t k[4] = { 11, 22, 33 ,44 };
    //encrypt(v, k);
    decrypt(v, k);
    std::cout << (unsigned char*)v;
    // We1c0me_7o_RCtF!
    return 0;
}

2048

逆向以及调试可得每次得分最大不能超过当前分数, 并且出一个 2048 就 win 一次, 选择直接当 2048 高手随便玩个几轮, 从 1w 分玩个几轮即可直接干到一伯 w , 得分够了退出即可得 flag .
2024-05-30T08:36:35.png

Noval cython

python3.10 import check_secret help(check_secret)能看到基本函数和数据

Help on module check_secret:

NAME
    check_secret

FUNCTIONS
    POINTER(...)

    addressof(...)
        addressof(C instance) -> integer
        Return the address of the C instance internal buffer

    algorithm1(...)

    algorithm2(...)

    algorithm3(...)

    algorithm4(...)

    algorithm5(...)

    algorithm6(...)

    algorithm7(...)

    algorithm8(...)

    alignment(...)
        alignment(C type) -> integer
        alignment(C instance) -> integer
        Return the alignment requirements of a C instance

    byref(...)
        byref(C instance[, offset=0]) -> byref-object
        Return a pointer lookalike to a C instance, only usable
        as function argument

    check(...)

    encrypt(...)

    get_errno(...)

    pointer(...)

    resize(...)
        Resize the memory buffer of a ctypes instance

    set_errno(...)

    sizeof(...)
        sizeof(C type) -> integer
        sizeof(C instance) -> integer
        Return the size in bytes of a C instance

DATA
    DEFAULT_MODE = 0
    RTLD_GLOBAL = 256
    RTLD_LOCAL = 0
    __test__ = {}
    cdll = <ctypes.LibraryLoader object>
    enc = [1386864498, 2877138732, 1628978326, 881564191, 1437614165, 4227...
    haha = [1272471749, 2262110437, 697301573, 1088211398]
    i = 3
    map = {'add': <built-in function algorithm1>, 'div': <built-in functio...
    memmove = <CFunctionType object>
    memset = <CFunctionType object>
    pydll = <ctypes.LibraryLoader object>
    pythonapi = <PyDLL 'None', handle 7f806481d2e0>
    sbox = [12, 17, 10, 6, 5, 27, 31, 15, 11, 8, 13, 21, 24, 1, 26, 22, 9,...
    xixi = [3540658286, 3391361277, 1321275334, 3918321625]

FILE
    /home/*******/check_secret.cpython-310-x86_64-linux-gnu.so

覆盖encrypt函数,打印参数观察,发现共有8次encrypt,每两次中间会使用sbox打乱顺序
覆盖掉map函数,由于encrypt函数不可直接看,但是map里面的东西是encrypt会进行调用的,所以可以分析出它的算法。通过分析:encrypt函数里会调用algorithm1-8,实际类似一个vm,打log看发现是TEA, Delta是0x12345678

import check_secret
from z3 import *

x = [BitVec(f"x{i}", 8) for i in range(4)]

def myAdd(a, b):
    print(f"{hex(a+b)}={hex(a)}+{hex(b)}")
    return (a+b)
def mySub(a, b):
    print(f"{hex(a-b)}={hex(a)}-{hex(b)}")
    return (a-b)
def myDiv(a, b):
    print(f"{hex(a//b)}={hex(a)}//{hex(b)}")
    return (a//b)
def myXor(a, b):
    print(f"{hex(a^b)}={hex(a)}^{hex(b)}")
    return (a^b)
def myMul(a, b):
    print(f"{hex(a*b)}={hex(a)}*{hex(b)}")
    return (a^b)
def myRsl(a, b):
    print(f"{hex((a<<b) & 0xffffffff)}={hex(a)}<<{hex(b)}")
    return ((a<<b) & 0xffffffff)
def myRsr(a, b):
    print(f"{hex(a>>b & 0xffffffff)}={hex(a)}>>{hex(b)}")
    return ((a>>b) & 0xffffffff)
def myMod(a, b):
    print(f"{hex(a%b)}={hex(a)}%{hex(b)}")
    return (a%b)

check_secret.map['add'] = myAdd
check_secret.map['sub'] = mySub
check_secret.map['div'] = myDiv
check_secret.map['xor'] = myXor
check_secret.map['mul'] = myMul
check_secret.map['rsl'] = myRsl
check_secret.map['rsr'] = myRsr
check_secret.map['mod'] = myMod

check_secret.encrypt([0xaaaaaaaa,0xbbbbbbbb,0xcccccccc,0xdddddddd], check_secret.xixi)
# print(check_secret.check('11111111111111111111111111111111'))
0xbbbbbbb0=0xbbbbbbbb<<0x4
0x18ec5e41e=0xbbbbbbb0+0xd30a286e
0xbbbbbbbb=0xbbbbbbbb+0x0
0x1357e5fa5=0x18ec5e41e^0xbbbbbbbb
0x5dddddd=0xbbbbbbbb>>0x5
0xd001eeda=0x5dddddd+0xca2410fd
0x1e57fb17f=0x1357e5fa5^0xd001eeda
0x2902a5c29=0xaaaaaaaa+0x1e57fb17f
0x12345678=0x0+0x12345678
0x2a5c290=0x902a5c29<<0x4
0x5166d256=0x2a5c290+0x4ec10fc6
0xa25eb2a1=0x902a5c29+0x12345678
0xf33860f7=0x5166d256^0xa25eb2a1
....
0x10411dd45=0x1e96dd8b3^0xed7c05f6
0x1d6f673f6=0xd2e496b1+0x10411dd45

对此我写了一个脚本来简化逻辑

s = open('./vmtrace.log').read()

cleared = s.split('\n')
clear = []
for i in range(len(cleared)):
    a, b = cleared[i].split('=')
    clear += [(a, b)]

finalList = []
for i, v in enumerate(clear):
    targ, expr = v
    replaced = False
    for j in range(i+1, len(clear)):
        a, b = clear[j]
        if b.find(targ) != -1:
            replaced = True
            b = b.replace(targ, "(" + expr + ")")
            clear[j] = a, b
    if not replaced:
        finalList.append((targ, expr))

for i in finalList:
    print(i)

得到简化的逻辑

('0x2902a5c29', '0xaaaaaaaa+(((((0xbbbbbbbb+0x0)<<0x4)+0xd30a286e)^(0xbbbbbbbb+0x0))^(((0xbbbbbbbb+0x0)>>0x5)+0xca2410fd))')
('0x1ea11d16c', '0x902a5c29+((((((0xbbbbbbbb+0x0)+((((0x902a5c29<<0x4)+0x4ec10fc6)^(0x902a5c29+(0x0+0x12345678)))^((0x902a5c29>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^(((0xbbbbbbbb+0x0)+((((0x902a5c29<<0x4)+0x4ec10fc6)^(0x902a5c29+(0x0+0x12345678)))^((0x902a5c29>>0x5)+0xe98cd7d9)))+(0x0+0x12345678)))^((((0xbbbbbbbb+0x0)+((((0x902a5c29<<0x4)+0x4ec10fc6)^(0x902a5c29+(0x0+0x12345678)))^((0x902a5c29>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd))')
('0x1ea6b44c6', '((0xbbbbbbbb+0x0)+((((0x902a5c29<<0x4)+0x4ec10fc6)^(0x902a5c29+(0x0+0x12345678)))^((0x902a5c29>>0x5)+0xe98cd7d9)))+((((0xea11d16c<<0x4)+0x4ec10fc6)^(0xea11d16c+((0x0+0x12345678)+(0x0+0x12345678))))^((0xea11d16c>>0x5)+0xe98cd7d9))')
('0x1902cbfc7', '0xea11d16c+((((0xea6b44c6<<0x4)+0xd30a286e)^(0xea6b44c6+((0x0+0x12345678)+(0x0+0x12345678))))^((0xea6b44c6>>0x5)+0xca2410fd))')
('0x163b63794', '0xea6b44c6+((((0x902cbfc7<<0x4)+0x4ec10fc6)^(0x902cbfc7+(((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))))^((0x902cbfc7>>0x5)+0xe98cd7d9))')
('0x1e9ac19b2', '0x902cbfc7+((((0x63b63794<<0x4)+0xd30a286e)^(0x63b63794+(((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))))^((0x63b63794>>0x5)+0xca2410fd))')
('0x18edc1966', '0x63b63794+((((0xe9ac19b2<<0x4)+0x4ec10fc6)^(0xe9ac19b2+((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xe9ac19b2>>0x5)+0xe98cd7d9))')
('0x2c3a855f2', '0xe9ac19b2+((((0x8edc1966<<0x4)+0xd30a286e)^(0x8edc1966+((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x8edc1966>>0x5)+0xca2410fd))')
('0x2071e8b8a', '0x8edc1966+((((0xc3a855f2<<0x4)+0x4ec10fc6)^(0xc3a855f2+(((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xc3a855f2>>0x5)+0xe98cd7d9))')
('0x2b03435a7', '0xc3a855f2+((((0x71e8b8a<<0x4)+0xd30a286e)^(0x71e8b8a+(((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x71e8b8a>>0x5)+0xca2410fd))')
('0x1a782bb51', '0x71e8b8a+((((0xb03435a7<<0x4)+0x4ec10fc6)^(0xb03435a7+((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xb03435a7>>0x5)+0xe98cd7d9))')
('0x1411d6f2f', '0xb03435a7+((((0xa782bb51<<0x4)+0xd30a286e)^(0xa782bb51+((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xa782bb51>>0x5)+0xca2410fd))')
('0x2d8f9ed17', '(0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))+(((((0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^((0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x1ba5af061', '(0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0xa782bb51+((((0x411d6f2f<<0x4)+0x4ec10fc6)^(0x411d6f2f+(((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x411d6f2f>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+((((0xd8f9ed17<<0x4)+0xd30a286e)^(0xd8f9ed17+((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xd8f9ed17>>0x5)+0xca2410fd))')
('0x21e182d2a', '0xd8f9ed17+((((0xba5af061<<0x4)+0x4ec10fc6)^(0xba5af061+(((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xba5af061>>0x5)+0xe98cd7d9))')
('0x278d20e6b', '0xba5af061+((((0x1e182d2a<<0x4)+0xd30a286e)^(0x1e182d2a+(((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x1e182d2a>>0x5)+0xca2410fd))')
('0x136881e4b', '0x1e182d2a+((((0x78d20e6b<<0x4)+0x4ec10fc6)^(0x78d20e6b+((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x78d20e6b>>0x5)+0xe98cd7d9))')
('0x195993075', '0x78d20e6b+((((0x36881e4b<<0x4)+0xd30a286e)^(0x36881e4b+((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x36881e4b>>0x5)+0xca2410fd))')
('0x1523d7022', '0x36881e4b+((((0x95993075<<0x4)+0x4ec10fc6)^(0x95993075+(((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x95993075>>0x5)+0xe98cd7d9))')
('0x1b5c3222f', '0x95993075+((((0x523d7022<<0x4)+0xd30a286e)^(0x523d7022+(((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x523d7022>>0x5)+0xca2410fd))')
('0x2283c5db5', '0x523d7022+((((0xb5c3222f<<0x4)+0x4ec10fc6)^(0xb5c3222f+((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xb5c3222f>>0x5)+0xe98cd7d9))')
('0x154c8bd30', '0xb5c3222f+((((0x283c5db5<<0x4)+0xd30a286e)^(0x283c5db5+((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x283c5db5>>0x5)+0xca2410fd))')
('0x15e4b3c01', '0x283c5db5+((((0x54c8bd30<<0x4)+0x4ec10fc6)^(0x54c8bd30+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x54c8bd30>>0x5)+0xe98cd7d9))')
('0x22cd286c5', '0x5e4b3c01+(((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x111111108', '((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678)')
('0x2175de85a', '((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+(((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+0x11111108))^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd))')
('0x17f922c05', '((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))+(((((0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))+(0x11111108+(0x0+0x12345678))))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^((0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))+(0x11111108+(0x0+0x12345678))))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))+(0x11111108+(0x0+0x12345678))))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x24128629a', '(0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))+(0x11111108+(0x0+0x12345678))))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+0xd30a286e)^(0x5e4b3c01+(((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x5e4b3c01>>0x5)+0xca2410fd)))+((((0x2cd286c5<<0x4)+0xd30a286e)^(0x2cd286c5+((((((((((((((0x0+0x12345678)+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cd286c5>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9)))+((((0x175de85a<<0x4)+0x4ec10fc6)^(0x175de85a+(0x11111108+(0x0+0x12345678))))^((0x175de85a>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+((((0x7f922c05<<0x4)+0xd30a286e)^(0x7f922c05+((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))))^((0x7f922c05>>0x5)+0xca2410fd))')
('0x12cfddbd3', '0x4128629a+(((((0x7f922c05+((((0x4128629a<<0x4)+0x4ec10fc6)^(0x4128629a+(((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x4128629a>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x7f922c05+((((0x4128629a<<0x4)+0x4ec10fc6)^(0x4128629a+(((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x4128629a>>0x5)+0xe98cd7d9)))+(((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x7f922c05+((((0x4128629a<<0x4)+0x4ec10fc6)^(0x4128629a+(((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x4128629a>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd))')
('0x1f423cd80', '(0x7f922c05+((((0x4128629a<<0x4)+0x4ec10fc6)^(0x4128629a+(((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x4128629a>>0x5)+0xe98cd7d9)))+((((0x2cfddbd3<<0x4)+0x4ec10fc6)^(0x2cfddbd3+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2cfddbd3>>0x5)+0xe98cd7d9))')
('0x1fe53ddb7', '0xf423cd80+(((((0x2cfddbd3+((((0xf423cd80<<0x4)+0xd30a286e)^(0xf423cd80+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xf423cd80>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^((0x2cfddbd3+((((0xf423cd80<<0x4)+0xd30a286e)^(0xf423cd80+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xf423cd80>>0x5)+0xca2410fd)))+(((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x2cfddbd3+((((0xf423cd80<<0x4)+0xd30a286e)^(0xf423cd80+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xf423cd80>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x211bc9ede', '0xfe53ddb7+((((((0x2cfddbd3+((((0xf423cd80<<0x4)+0xd30a286e)^(0xf423cd80+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xf423cd80>>0x5)+0xca2410fd)))+((((0xfe53ddb7<<0x4)+0xd30a286e)^(0xfe53ddb7+(((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xfe53ddb7>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^(((0x2cfddbd3+((((0xf423cd80<<0x4)+0xd30a286e)^(0xf423cd80+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xf423cd80>>0x5)+0xca2410fd)))+((((0xfe53ddb7<<0x4)+0xd30a286e)^(0xfe53ddb7+(((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xfe53ddb7>>0x5)+0xca2410fd)))+((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((((0x2cfddbd3+((((0xf423cd80<<0x4)+0xd30a286e)^(0xf423cd80+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xf423cd80>>0x5)+0xca2410fd)))+((((0xfe53ddb7<<0x4)+0xd30a286e)^(0xfe53ddb7+(((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xfe53ddb7>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x16c187b70', '((0x2cfddbd3+((((0xf423cd80<<0x4)+0xd30a286e)^(0xf423cd80+((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xf423cd80>>0x5)+0xca2410fd)))+((((0xfe53ddb7<<0x4)+0xd30a286e)^(0xfe53ddb7+(((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xfe53ddb7>>0x5)+0xca2410fd)))+((((0x11bc9ede<<0x4)+0xd30a286e)^(0x11bc9ede+((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x11bc9ede>>0x5)+0xca2410fd))')
('0x111ef5390', '0x11bc9ede+((((0x6c187b70<<0x4)+0x4ec10fc6)^(0x6c187b70+(((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x6c187b70>>0x5)+0xe98cd7d9))')
('0x1053aa687', '0x6c187b70+((((0x11ef5390<<0x4)+0xd30a286e)^(0x11ef5390+(((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x11ef5390>>0x5)+0xca2410fd))')
('0x14a3f0e60', '(0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))+(((((0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^((0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+(((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x212dd8d34', '(0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x11ef5390+((((0x53aa687<<0x4)+0x4ec10fc6)^(0x53aa687+((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x53aa687>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+((((0x4a3f0e60<<0x4)+0xd30a286e)^(0x4a3f0e60+(((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x4a3f0e60>>0x5)+0xca2410fd))')
('0x22d62c152', '(0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))+(((((0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^((0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+(((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x13c3ff952', '(0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+0x4ec10fc6)^(0x12dd8d34+((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x12dd8d34>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd)))+((((0x2d62c152<<0x4)+0xd30a286e)^(0x2d62c152+(((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x2d62c152>>0x5)+0xca2410fd))')  
('0x10bce2611', '0x2d62c152+((((0x3c3ff952<<0x4)+0x4ec10fc6)^(0x3c3ff952+((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x3c3ff952>>0x5)+0xe98cd7d9))')
('0x1ee7d493c', '0x3c3ff952+((((0xbce2611<<0x4)+0xd30a286e)^(0xbce2611+((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xbce2611>>0x5)+0xca2410fd))')
('0x1a35b9c36', '0xee7d493c+(((((0xbce2611+((((0xee7d493c<<0x4)+0x4ec10fc6)^(0xee7d493c+(((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xee7d493c>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0xbce2611+((((0xee7d493c<<0x4)+0x4ec10fc6)^(0xee7d493c+(((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xee7d493c>>0x5)+0xe98cd7d9)))+(((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^(((0xbce2611+((((0xee7d493c<<0x4)+0x4ec10fc6)^(0xee7d493c+(((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xee7d493c>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd))')
('0x10fedcb98', '(((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678)')
('0x11106065b', '(0xbce2611+((((0xee7d493c<<0x4)+0x4ec10fc6)^(0xee7d493c+(((((((((((((0x11111108+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0xee7d493c>>0x5)+0xe98cd7d9)))+((((0xa35b9c36<<0x4)+0x4ec10fc6)^(0xa35b9c36+0xfedcb98))^((0xa35b9c36>>0x5)+0xe98cd7d9))')
('0x148954659', '0x1106065b+(((((0xa35b9c36+((((0x1106065b<<0x4)+0xd30a286e)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+0xca2410fd)))<<0x4)+0x4ec10fc6)^((0xa35b9c36+((((0x1106065b<<0x4)+0xd30a286e)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+0xca2410fd)))+(0xfedcb98+(0x0+0x12345678))))^(((0xa35b9c36+((((0x1106065b<<0x4)+0xd30a286e)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+0xca2410fd)))>>0x5)+0xe98cd7d9))')
('0x2a71219b0', '(0xa35b9c36+((((0x1106065b<<0x4)+0xd30a286e)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+0xca2410fd)))+((((0x48954659<<0x4)+0xd30a286e)^(0x48954659+(0xfedcb98+(0x0+0x12345678))))^((0x48954659>>0x5)+0xca2410fd))')
('0x17de5c3a5', '0xa71219b0+(((((0x48954659+((((0xa71219b0<<0x4)+0x4ec10fc6)^(0xa71219b0+((0xfedcb98+(0x0+0x12345678))+(0x0+0x12345678))))^((0xa71219b0>>0x5)+0xe98cd7d9)))<<0x4)+0xd30a286e)^((0x48954659+((((0xa71219b0<<0x4)+0x4ec10fc6)^(0xa71219b0+((0xfedcb98+(0x0+0x12345678))+(0x0+0x12345678))))^((0xa71219b0>>0x5)+0xe98cd7d9)))+((0xfedcb98+(0x0+0x12345678))+(0x0+0x12345678))))^(((0x48954659+((((0xa71219b0<<0x4)+0x4ec10fc6)^(0xa71219b0+((0xfedcb98+(0x0+0x12345678))+(0x0+0x12345678))))^((0xa71219b0>>0x5)+0xe98cd7d9)))>>0x5)+0xca2410fd))')
('0x1d6f673f6', '(0x48954659+((((0xa71219b0<<0x4)+0x4ec10fc6)^(0xa71219b0+((0xfedcb98+(0x0+0x12345678))+(0x0+0x12345678))))^((0xa71219b0>>0x5)+0xe98cd7d9)))+((((0x7de5c3a5<<0x4)+0x4ec10fc6)^(0x7de5c3a5+(((0xfedcb98+(0x0+0x12345678))+(0x0+0x12345678))+(0x0+0x12345678))))^((0x7de5c3a5>>0x5)+0xe98cd7d9))')

再手动处理一下得到

('0x2902a5c29', 'v1+(((((b2+0x0)<<0x4)+k1)^(b2+0x0))^(((b2+0x0)>>0x5)+k2))')
('0x1ea11d16c', '0x902a5c29+((((((b2+0x0)+((((0x902a5c29<<0x4)+k3)^(0x902a5c29+delta))^((0x902a5c29>>0x5)+k4)))<<0x4)+k1)^(((b2+0x0)+((((0x902a5c29<<0x4)+k3)^(0x902a5c29+delta))^((0x902a5c29>>0x5)+k4)))+delta))^((((b2+0x0)+((((0x902a5c29<<0x4)+k3)^(0x902a5c29+delta))^((0x902a5c29>>0x5)+k4)))>>0x5)+k2))')
('0x1ea6b44c6', '((b2+0x0)+((((0x902a5c29<<0x4)+k3)^(0x902a5c29+delta))^((0x902a5c29>>0x5)+k4)))+((((0xea11d16c<<0x4)+k3)^(0xea11d16c+(delta+delta)))^((0xea11d16c>>0x5)+k4))')
('0x1902cbfc7', '0xea11d16c+((((0xea6b44c6<<0x4)+k1)^(0xea6b44c6+(delta+delta)))^((0xea6b44c6>>0x5)+k2))')
('0x163b63794', '0xea6b44c6+((((0x902cbfc7<<0x4)+k3)^(0x902cbfc7+((delta+delta)+delta)))^((0x902cbfc7>>0x5)+k4))')
('0x1e9ac19b2', '0x902cbfc7+((((0x63b63794<<0x4)+k1)^(0x63b63794+((delta+delta)+delta)))^((0x63b63794>>0x5)+k2))')
('0x18edc1966', '0x63b63794+((((0xe9ac19b2<<0x4)+k3)^(0xe9ac19b2+(((delta+delta)+delta)+delta)))^((0xe9ac19b2>>0x5)+k4))')
('0x2c3a855f2', '0xe9ac19b2+((((0x8edc1966<<0x4)+k1)^(0x8edc1966+(((delta+delta)+delta)+delta)))^((0x8edc1966>>0x5)+k2))')
('0x2071e8b8a', '0x8edc1966+((((0xc3a855f2<<0x4)+k3)^(0xc3a855f2+((((delta+delta)+delta)+delta)+delta)))^((0xc3a855f2>>0x5)+k4))')
('0x2b03435a7', '0xc3a855f2+((((0x71e8b8a<<0x4)+k1)^(0x71e8b8a+((((delta+delta)+delta)+delta)+delta)))^((0x71e8b8a>>0x5)+k2))')
('0x1a782bb51', '0x71e8b8a+((((0xb03435a7<<0x4)+k3)^(0xb03435a7+(((((delta+delta)+delta)+delta)+delta)+delta)))^((0xb03435a7>>0x5)+k4))')
('0x1411d6f2f', '0xb03435a7+((((0xa782bb51<<0x4)+k1)^(0xa782bb51+(((((delta+delta)+delta)+delta)+delta)+delta)))^((0xa782bb51>>0x5)+k2))')
('0x2d8f9ed17', '(0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))+(((((0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))<<0x4)+k1)^((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^(((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))>>0x5)+k2)))<<0x4)+k3)^((0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))<<0x4)+k1)^((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^(((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))>>0x5)+k2)))+(((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))<<0x4)+k1)^((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^(((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))>>0x5)+k2)))>>0x5)+k4))')
('0x1ba5af061', '(0x411d6f2f+(((((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))<<0x4)+k1)^((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^(((0xa782bb51+((((0x411d6f2f<<0x4)+k3)^(0x411d6f2f+((((((delta+delta)+delta)+delta)+delta)+delta)+delta)))^((0x411d6f2f>>0x5)+k4)))>>0x5)+k2)))+((((0xd8f9ed17<<0x4)+k1)^(0xd8f9ed17+(((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xd8f9ed17>>0x5)+k2))')
('0x21e182d2a', '0xd8f9ed17+((((0xba5af061<<0x4)+k3)^(0xba5af061+((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xba5af061>>0x5)+k4))')
('0x278d20e6b', '0xba5af061+((((0x1e182d2a<<0x4)+k1)^(0x1e182d2a+((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x1e182d2a>>0x5)+k2))')
('0x136881e4b', '0x1e182d2a+((((0x78d20e6b<<0x4)+k3)^(0x78d20e6b+(((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x78d20e6b>>0x5)+k4))')
('0x195993075', '0x78d20e6b+((((0x36881e4b<<0x4)+k1)^(0x36881e4b+(((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x36881e4b>>0x5)+k2))')
('0x1523d7022', '0x36881e4b+((((0x95993075<<0x4)+k3)^(0x95993075+((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x95993075>>0x5)+k4))')
('0x1b5c3222f', '0x95993075+((((0x523d7022<<0x4)+k1)^(0x523d7022+((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x523d7022>>0x5)+k2))')
('0x2283c5db5', '0x523d7022+((((0xb5c3222f<<0x4)+k3)^(0xb5c3222f+(((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xb5c3222f>>0x5)+k4))')
('0x154c8bd30', '0xb5c3222f+((((0x283c5db5<<0x4)+k1)^(0x283c5db5+(((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x283c5db5>>0x5)+k2))')
('0x15e4b3c01', '0x283c5db5+((((0x54c8bd30<<0x4)+k3)^(0x54c8bd30+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x54c8bd30>>0x5)+k4))')
('0x22cd286c5', '0x5e4b3c01+(((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))<<0x4)+k3)^((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))>>0x5)+k4))')
('0x111111108', '(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta')
('0x2175de85a', '((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+(((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))<<0x4)+k1)^((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+0x11111108))^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))>>0x5)+k2))')
('0x17f922c05', '((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))+(((((0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))<<0x4)+k1)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))+(0x11111108+delta)))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))>>0x5)+k2)))<<0x4)+k3)^((0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))<<0x4)+k1)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))+(0x11111108+delta)))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))>>0x5)+k2)))+((0x11111108+delta)+delta)))^(((0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))<<0x4)+k1)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))+(0x11111108+delta)))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))>>0x5)+k2)))>>0x5)+k4))')
('0x24128629a', '(0x175de85a+((((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))<<0x4)+k1)^(((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))+(0x11111108+delta)))^((((0x2cd286c5+((((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))<<0x4)+k3)^(((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))+0x11111108))^((((0x54c8bd30+((((0x5e4b3c01<<0x4)+k1)^(0x5e4b3c01+((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x5e4b3c01>>0x5)+k2)))+((((0x2cd286c5<<0x4)+k1)^(0x2cd286c5+(((((((((((((delta+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2cd286c5>>0x5)+k2)))>>0x5)+k4)))+((((0x175de85a<<0x4)+k3)^(0x175de85a+(0x11111108+delta)))^((0x175de85a>>0x5)+k4)))>>0x5)+k2)))+((((0x7f922c05<<0x4)+k1)^(0x7f922c05+((0x11111108+delta)+delta)))^((0x7f922c05>>0x5)+k2))')
('0x12cfddbd3', '0x4128629a+(((((0x7f922c05+((((0x4128629a<<0x4)+k3)^(0x4128629a+(((0x11111108+delta)+delta)+delta)))^((0x4128629a>>0x5)+k4)))<<0x4)+k1)^((0x7f922c05+((((0x4128629a<<0x4)+k3)^(0x4128629a+(((0x11111108+delta)+delta)+delta)))^((0x4128629a>>0x5)+k4)))+(((0x11111108+delta)+delta)+delta)))^(((0x7f922c05+((((0x4128629a<<0x4)+k3)^(0x4128629a+(((0x11111108+delta)+delta)+delta)))^((0x4128629a>>0x5)+k4)))>>0x5)+k2))')
('0x1f423cd80', '(0x7f922c05+((((0x4128629a<<0x4)+k3)^(0x4128629a+(((0x11111108+delta)+delta)+delta)))^((0x4128629a>>0x5)+k4)))+((((0x2cfddbd3<<0x4)+k3)^(0x2cfddbd3+((((0x11111108+delta)+delta)+delta)+delta)))^((0x2cfddbd3>>0x5)+k4))')
('0x1fe53ddb7', '0xf423cd80+(((((0x2cfddbd3+((((0xf423cd80<<0x4)+k1)^(0xf423cd80+((((0x11111108+delta)+delta)+delta)+delta)))^((0xf423cd80>>0x5)+k2)))<<0x4)+k3)^((0x2cfddbd3+((((0xf423cd80<<0x4)+k1)^(0xf423cd80+((((0x11111108+delta)+delta)+delta)+delta)))^((0xf423cd80>>0x5)+k2)))+(((((0x11111108+delta)+delta)+delta)+delta)+delta)))^(((0x2cfddbd3+((((0xf423cd80<<0x4)+k1)^(0xf423cd80+((((0x11111108+delta)+delta)+delta)+delta)))^((0xf423cd80>>0x5)+k2)))>>0x5)+k4))')
('0x211bc9ede', '0xfe53ddb7+((((((0x2cfddbd3+((((0xf423cd80<<0x4)+k1)^(0xf423cd80+((((0x11111108+delta)+delta)+delta)+delta)))^((0xf423cd80>>0x5)+k2)))+((((0xfe53ddb7<<0x4)+k1)^(0xfe53ddb7+(((((0x11111108+delta)+delta)+delta)+delta)+delta)))^((0xfe53ddb7>>0x5)+k2)))<<0x4)+k3)^(((0x2cfddbd3+((((0xf423cd80<<0x4)+k1)^(0xf423cd80+((((0x11111108+delta)+delta)+delta)+delta)))^((0xf423cd80>>0x5)+k2)))+((((0xfe53ddb7<<0x4)+k1)^(0xfe53ddb7+(((((0x11111108+delta)+delta)+delta)+delta)+delta)))^((0xfe53ddb7>>0x5)+k2)))+((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)))^((((0x2cfddbd3+((((0xf423cd80<<0x4)+k1)^(0xf423cd80+((((0x11111108+delta)+delta)+delta)+delta)))^((0xf423cd80>>0x5)+k2)))+((((0xfe53ddb7<<0x4)+k1)^(0xfe53ddb7+(((((0x11111108+delta)+delta)+delta)+delta)+delta)))^((0xfe53ddb7>>0x5)+k2)))>>0x5)+k4))')
('0x16c187b70', '((0x2cfddbd3+((((0xf423cd80<<0x4)+k1)^(0xf423cd80+((((0x11111108+delta)+delta)+delta)+delta)))^((0xf423cd80>>0x5)+k2)))+((((0xfe53ddb7<<0x4)+k1)^(0xfe53ddb7+(((((0x11111108+delta)+delta)+delta)+delta)+delta)))^((0xfe53ddb7>>0x5)+k2)))+((((0x11bc9ede<<0x4)+k1)^(0x11bc9ede+((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)))^((0x11bc9ede>>0x5)+k2))')
('0x111ef5390', '0x11bc9ede+((((0x6c187b70<<0x4)+k3)^(0x6c187b70+(((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x6c187b70>>0x5)+k4))')
('0x1053aa687', '0x6c187b70+((((0x11ef5390<<0x4)+k1)^(0x11ef5390+(((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x11ef5390>>0x5)+k2))')
('0x14a3f0e60', '(0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))+(((((0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))<<0x4)+k1)^((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))>>0x5)+k2)))<<0x4)+k3)^((0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))<<0x4)+k1)^((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))>>0x5)+k2)))+(((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))<<0x4)+k1)^((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))>>0x5)+k2)))>>0x5)+k4))')
('0x212dd8d34', '(0x53aa687+(((((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))<<0x4)+k1)^((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x11ef5390+((((0x53aa687<<0x4)+k3)^(0x53aa687+((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x53aa687>>0x5)+k4)))>>0x5)+k2)))+((((0x4a3f0e60<<0x4)+k1)^(0x4a3f0e60+(((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x4a3f0e60>>0x5)+k2))')
('0x22d62c152', '(0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))+(((((0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))<<0x4)+k1)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))>>0x5)+k2)))<<0x4)+k3)^((0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))<<0x4)+k1)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))>>0x5)+k2)))+(((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))<<0x4)+k1)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))>>0x5)+k2)))>>0x5)+k4))')
('0x13c3ff952', '(0x12dd8d34+(((((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))<<0x4)+k1)^((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0x4a3f0e60+((((0x12dd8d34<<0x4)+k3)^(0x12dd8d34+((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x12dd8d34>>0x5)+k4)))>>0x5)+k2)))+((((0x2d62c152<<0x4)+k1)^(0x2d62c152+(((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x2d62c152>>0x5)+k2))')  
('0x10bce2611', '0x2d62c152+((((0x3c3ff952<<0x4)+k3)^(0x3c3ff952+((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0x3c3ff952>>0x5)+k4))')
('0x1ee7d493c', '0x3c3ff952+((((0xbce2611<<0x4)+k1)^(0xbce2611+((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xbce2611>>0x5)+k2))')
('0x1a35b9c36', '0xee7d493c+(((((0xbce2611+((((0xee7d493c<<0x4)+k3)^(0xee7d493c+(((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xee7d493c>>0x5)+k4)))<<0x4)+k1)^((0xbce2611+((((0xee7d493c<<0x4)+k3)^(0xee7d493c+(((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xee7d493c>>0x5)+k4)))+(((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^(((0xbce2611+((((0xee7d493c<<0x4)+k3)^(0xee7d493c+(((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xee7d493c>>0x5)+k4)))>>0x5)+k2))')
('0x10fedcb98', '(((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta')
('0x11106065b', '(0xbce2611+((((0xee7d493c<<0x4)+k3)^(0xee7d493c+(((((((((((((0x11111108+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)+delta)))^((0xee7d493c>>0x5)+k4)))+((((0xa35b9c36<<0x4)+k3)^(0xa35b9c36+0xfedcb98))^((0xa35b9c36>>0x5)+k4))')
('0x148954659', '0x1106065b+(((((0xa35b9c36+((((0x1106065b<<0x4)+k1)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+k2)))<<0x4)+k3)^((0xa35b9c36+((((0x1106065b<<0x4)+k1)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+k2)))+(0xfedcb98+delta)))^(((0xa35b9c36+((((0x1106065b<<0x4)+k1)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+k2)))>>0x5)+k4))')
('0x2a71219b0', '(0xa35b9c36+((((0x1106065b<<0x4)+k1)^(0x1106065b+0xfedcb98))^((0x1106065b>>0x5)+k2)))+((((0x48954659<<0x4)+k1)^(0x48954659+(0xfedcb98+delta)))^((0x48954659>>0x5)+k2))')
('0x17de5c3a5', '0xa71219b0+(((((0x48954659+((((0xa71219b0<<0x4)+k3)^(0xa71219b0+((0xfedcb98+delta)+delta)))^((0xa71219b0>>0x5)+k4)))<<0x4)+k1)^((0x48954659+((((0xa71219b0<<0x4)+k3)^(0xa71219b0+((0xfedcb98+delta)+delta)))^((0xa71219b0>>0x5)+k4)))+((0xfedcb98+delta)+delta)))^(((0x48954659+((((0xa71219b0<<0x4)+k3)^(0xa71219b0+((0xfedcb98+delta)+delta)))^((0xa71219b0>>0x5)+k4)))>>0x5)+k2))')
('0x1d6f673f6', '(0x48954659+((((0xa71219b0<<0x4)+k3)^(0xa71219b0+((0xfedcb98+delta)+delta)))^((0xa71219b0>>0x5)+k4)))+((((0x7de5c3a5<<0x4)+k3)^(0x7de5c3a5+(((0xfedcb98+delta)+delta)+delta)))^((0x7de5c3a5>>0x5)+k4))')

中间断掉的过程,很可能是程序内部自己进行的加法运算,不过已经问题不大了。

有很明显的TEA的逻辑,我们可以得到

delta = 0x12345678
k = ['0xd30a286e', '0xca2410fd', '0x4ec10fc6', '0xe98cd7d9']
这里的k是xixi,当然它加密后还会走一波,以haha作为key

解TEA:

#include <stdint.h>
#include <stdio.h>

void decrypt (uint32_t* v, uint32_t* k) {
    uint32_t v0=v[0], v1=v[1], sum=0x12345678*(32), i;  /* set up */
    uint32_t delta=0x12345678;                     /* a key schedule constant */
    uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];   /* cache key */
    for (i=0; i<32; i++) {                         /* basic cycle start */
        v1 -= ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3);
        v0 -= ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1);
        sum -= delta;
    }                                              /* end cycle */
    v[0]=v0; v[1]=v1;
}

int main() {
    uint32_t v[] = {1386864498, 2877138732, 1628978326, 881564191, 1437614165, 4227562200, 1606883458, 3679355295};
    uint32_t k1[] = {3540658286, 3391361277, 1321275334, 3918321625}; // xixi 
    uint32_t k2[] = {1272471749, 2262110437, 697301573, 1088211398}; // haha
    for (int i = 0; i < 8; i += 2) {
        decrypt((uint16_t *)v+i, k2);
    } 
    for (int i = 0; i < 8; i += 2) {
        decrypt((uint16_t *)v+i, k1);
    }
    puts(v);
}
// 3t00n3}Cv_l_@l1Cnyh1g0fgt_3{hann

恢复顺序

sbox = [12, 17, 10, 6, 5, 27, 31, 15, 11, 8, 13, 21, 24, 1, 26, 22, 9, 16, 18, 25, 29, 19, 0, 3, 7, 14, 30, 4, 23, 2, 28, 20]
MA = [sbox.index(i) for i in range(32)]
s = "3t00n3}Cv_l_@l1Cnyh1g0fgt_3{hann"
flag = ""
for i in MA:
    flag+=s[i]
print(flag)
# flag{n0t_n0v3l_Cyth0n_Ch@113ng3}