// File: /workspace/github_cpp_makefile_star2_O2/Sherhang[P]redis-for-cpp/demo3.cpp
// Function: main
int main()
{
    Redis redis;
    string ip="127.0.0.1", pwd="";
    int port = 6379;
    redis.init(ip, port, pwd);
    redis.connect();
    
    {
        cout<<"测试set, get, del:"<<endl;
        redis.set((string)"today", "sunday");//原函数是const，不加转换也可以
        string day;
        day = redis.get("today");
        cout<<day<<endl;
        int ret;
        ret=redis.del("today");
        cout<<"del "<<ret<<"个 today"<<endl;
        day = redis.get("today");
        if(day.empty())
            cout<<"not exist key today"<<endl;
    }
    {
        cout<<"测试mset,mget:"<<endl;
        vector<string> keys={"a","b","c","d","e"};
        vector<string> values={"AA","BB","CC","DD","EE"};
        if(redis.mset(keys,values))
            cout<<"mset success"<<endl;
        redis.mget(keys,values);
        copy(values.begin(),values.end(),ostream_iterator<string>(cout," "));cout<<endl;
        values.clear();
        cout<<"测试scan:"<<endl;
        cout<<"next cursor is "<<redis.scan(0,"",-1,values)<<endl;
        cout<<"scan keys "<<endl;
        copy(values.begin(),values.end(),ostream_iterator<string>(cout," "));cout<<endl;
        for(int i=0; i<keys.size(); ++i)
        {
            redis.del(keys[i]);
        }
    }
    {
        cout<<"测试incr, incrBy, incrByFloat, decr, decrBy"<<endl;
        redis.set("num", "0");
        int ret = redis.incr("num");
        cout<<"incr, num is "<<ret<<endl;
        ret = redis.incrby("num", 3);
        cout<<"incryBy 3, num is "<<ret<<endl;
        ret = redis.decr("num");
        cout<<"decr, num is "<<ret<<endl;
        ret = redis.decrby("num", 5);
        cout<<"decrBy 5, num is "<<ret<<endl;
        float retf = redis.incrbyfloat("num", -0.82);
        cout<<"-0.82, num is "<<retf<<endl;
        ret = redis.incrby("z", -3);
        string value;
        value = redis.get("z");
        cout<<"不存在key测试"<<endl<<value<<" "<<ret<<endl;
        redis.del("num");
        redis.del("z");
    }
    {
        cout<<"zAdd, zCard, zCount 测试："<<endl;
        map<string, string> zset;
        zset["010"]="ab";
        zset["011"]="cd";
        zset["012"]="ef";
        int ret=redis.zadd("zset",zset);
        cout<<"成功添加元素个数："<<ret<<endl;
        int count = redis.zcard("zset");
        cout<<"zset中元素个数是："<<count<<endl;
        int num = redis.zcount("zset",10, 12);
        cout<<"zset中分数在[10,12]的元素有"<<num<<"个"<<endl;
        redis.del("zset");

        cout<<"zIncrBy测试："<<endl;
        map<string,string> z;
        z["21"]="a";
        string score=redis.zincrby("zset",10,"a");
        cout<<"new score is "<<score<<endl;
        redis.del("zset");
    
        cout<<"zRange, zRevRange测试："<<endl;
        redis.zadd("zset",zset);
        vector<string> values;
        cout<< redis.zrange("zset",0,-1,values)<<endl;
        copy(values.begin(), values.end(),ostream_iterator<string>(cout," "));cout<<endl;
        redis.zrevrange("zset", 0, -1, values, true);
        copy(values.begin(), values.end(), ostream_iterator<string>(cout," "));cout<<endl;

        cout<<"zScore测试："<<endl;
        string sc = redis.zscore("zset","ab");
        cout<<sc<<endl;
    
        cout<<"zScan测试："<<endl;
        map<string,string> sm;
        cout<<"next cusor "<<redis.zscan("zset",0,"",10,sm)<<endl;
        for(map<string,string>::iterator it=sm.begin();it!=sm.end();++it)
        {
            cout<<it->first<<" "<<it->second<<endl;
        }
        cout<<endl;
        redis.del("zset");
    }
    {
        cout<<"lrange测试："<<endl;
        for(int i=0;i<10; ++i)
        {
            string cmd = "lpush list1 000"+redis.num2str<int>(i);
            redis.exec(cmd);
        }
        vector<string> v;
        redis.lrange("list1", 0, -1, v);
        copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));cout<<endl;
        redis.del("list1");
    }
    {
        cout<<"hmset,hgetall测试："<<endl;
        vector<string> k={"h1","h2","h3","h4"};
        vector<string> v={"hv1","hv2","hv3","hv4"};
        redis.hmset("hash",k,v);
        map<string, string> hash;
        redis.hgetall("hash",hash);
        for(map<string,string>::iterator it=hash.begin();it!=hash.end();++it)
        {
            cout<<it->first<<" "<<it->second<<endl;

        }
        cout<<endl;
        cout<<"hscan测试："<<endl;
        map<string,string> kv;
        cout<<"next cusor "<<redis.hscan("hash",0,"h?",10,kv)<<endl;
        for(map<string,string>::iterator it=kv.begin();it!=kv.end();++it)
        {
            cout<<it->first<<" "<<it->second<<endl;
        }
        cout<<endl;
        redis.del("hash");
    }
    {
        cout<<"exec测试: "<<endl;
        vector<string> v;
        redis.exec("set exec success");
        cout<<redis.get("exec")<<endl;
        redis.exec("zrange zset1 0 -1", v);
        cout<<"v.size() = "<<v.size()<<endl;
        copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));cout<<endl;
        redis.exec("scan 0 ", v);
        copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));cout<<endl;
        redis.exec("sadd set1 201");
        redis.exec("sadd set1 202");
        redis.exec("sadd set1 203");
        redis.exec("sadd set1 204");
        redis.exec("sadd set1 205");
        cout<<"sscan测试："<<endl;
        cout<<"next cursor is "<<redis.sscan("set1",0,"*0*",3,v)<<endl;
        copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));cout<<endl;

    }
    {
        cout<<"execScan测试："<<endl;
        vector<string> v;
        redis.execScan("scan 0",v);cout<<"scan 0"<<endl;
        copy(v.begin(),v.end(), ostream_iterator<string>(cout, " "));cout<<endl;
        redis.execScan("sscan set1 0",v);cout<<"sscan set1 0 count 10"<<endl;
        copy(v.begin(),v.end(), ostream_iterator<string>(cout, " "));cout<<endl;
        redis.execScan("hscan hash1 0 count 10",v);cout<<"hscan hash1 0 count 10"<<endl;
        copy(v.begin(),v.end(), ostream_iterator<string>(cout, " "));cout<<endl;
        redis.execScan("zscan zset1 0",v);cout<<"zscan zset 0"<<endl;
        copy(v.begin(),v.end(), ostream_iterator<string>(cout, " "));cout<<endl;
        cout<<"无效命令测试："<<endl;
        cout<<"返回值："<<redis.exec("sse ysh",v)<<endl;
        copy(v.begin(),v.end(), ostream_iterator<string>(cout, " "));cout<<endl;

    }
    //    cout<<"context exists"<<endl;
    redis.disconnect();//如非必要，不要使用这个接口
    //cout<<redis.get("string1")<<endl;//已经断开连接，会内存溢出
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x338, %rsp            # imm = 0x338
leaq 0x198(%rsp), %rdi
callq 0x6270
leaq 0xf857(%rip), %rsi      # 0x13018
leaq 0x248(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x3120
leaq 0xfe82(%rip), %rsi      # 0x1365c
leaq 0x228(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x248(%rsp), %rsi
leaq 0x228(%rsp), %rcx
movl $0x18eb, %edx           # imm = 0x18EB
callq 0x632e
leaq 0x198(%rsp), %rdi
callq 0x635a
movq 0x167b6(%rip), %rdi     # 0x19fd8
leaq 0xf7f9(%rip), %rsi      # 0x13022
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0xf81e(%rip), %rsi      # 0x1305b
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0xf7e4(%rip), %rsi      # 0x13037
leaq 0x10(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x74e4
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0x88(%rsp), %r12
movq %r12, -0x10(%r12)
andq $0x0, -0x8(%r12)
movb $0x0, (%r12)
leaq 0xf7ac(%rip), %rsi      # 0x1305b
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x10(%rsp), %rdi
leaq 0x198(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x75e0
leaq 0x78(%rsp), %rbx
leaq 0x10(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x33e0
movq %r14, %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x166d2(%rip), %rdi     # 0x19fd8
movq %rbx, %rsi
callq 0x3310
movq %rax, %rdi
callq 0x3180
leaq 0xf73e(%rip), %rsi      # 0x1305b
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x667a
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3160
movq 0x16686(%rip), %rdi     # 0x19fd8
leaq 0xf6e5(%rip), %rsi      # 0x1303e
callq 0x3340
movq %rax, %rdi
movl %ebx, %esi
callq 0x3550
leaq 0xf6d4(%rip), %rsi      # 0x13043
movq %rax, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0xf6d5(%rip), %rsi      # 0x1305b
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x10(%rsp), %rdi
leaq 0x198(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x75e0
leaq 0x78(%rsp), %rbx
leaq 0x10(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x33e0
movq %r14, %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x3160
cmpq $0x0, 0x8(%rbx)
jne 0x39f8
movq 0x165f4(%rip), %rdi     # 0x19fd8
leaq 0xf662(%rip), %rsi      # 0x1304d
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x165cf(%rip), %rbx     # 0x19fd8
leaq 0xf651(%rip), %rsi      # 0x13061
movq %rbx, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0x10290(%rip), %rsi     # 0x13cb7
leaq 0x78(%rsp), %r14
leaq 0x40(%rsp), %rdx
movq %r14, %rdi
callq 0x3120
leaq 0x98(%rsp), %r15
leaq 0x10272(%rip), %rsi     # 0x13cba
leaq 0x120(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xb8(%rsp), %r15
leaq 0x10244(%rip), %rsi     # 0x13cab
leaq 0x160(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xd8(%rsp), %r15
leaq 0x10569(%rip), %rsi     # 0x13fef
leaq 0x140(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xf8(%rsp), %r15
leaq 0xfb4c(%rip), %rsi      # 0x135f1
leaq 0x208(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0x10(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $0x5
popq %rdx
leaq 0x180(%rsp), %rcx
callq 0x5a4a
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x3ad5
leaq 0xf57f(%rip), %rsi      # 0x13072
leaq 0x78(%rsp), %r14
leaq 0x120(%rsp), %rdx
movq %r14, %rdi
callq 0x3120
leaq 0x98(%rsp), %r15
leaq 0xf55e(%rip), %rsi      # 0x13075
leaq 0x160(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xb8(%rsp), %r15
leaq 0xf542(%rip), %rsi      # 0x13078
leaq 0x140(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xd8(%rsp), %r15
leaq 0xf526(%rip), %rsi      # 0x1307b
leaq 0x208(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xf8(%rsp), %r15
leaq 0xf50a(%rip), %rsi      # 0x1307e
leaq 0x180(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0x40(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $0x5
popq %rdx
leaq 0xf(%rsp), %rcx
callq 0x5a4a
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x3ba1
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x7692
testb %al, %al
je 0x3bee
movq 0x163fe(%rip), %rdi     # 0x19fd8
leaq 0xf4a0(%rip), %rsi      # 0x13081
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x779e
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x328(%rsp), %rcx
movq %rbx, (%rcx)
leaq 0xf6e0(%rip), %r14      # 0x13301
movq %r14, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x163a2(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0x40(%rsp), %rdi
callq 0x5aa2
movq 0x1638c(%rip), %rdi     # 0x19fd8
leaq 0xf43b(%rip), %rsi      # 0x1308e
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x16371(%rip), %rdi     # 0x19fd8
leaq 0xf42c(%rip), %rsi      # 0x1309a
callq 0x3340
movq %rax, %rbx
leaq 0xf9df(%rip), %rsi      # 0x1365c
leaq 0x78(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rdx
pushq $-0x1
popq %rcx
leaq 0x40(%rsp), %r8
xorl %esi, %esi
callq 0x6baa
movq %rbx, %rdi
movl %eax, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x1630a(%rip), %rbx     # 0x19fd8
leaq 0xf3d5(%rip), %rsi      # 0x130aa
movq %rbx, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x318(%rsp), %rcx
movq %rbx, (%rcx)
movq %r14, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x162c9(%rip), %rdi     # 0x19fd8
callq 0x3180
xorl %r14d, %r14d
leaq 0x198(%rsp), %rbx
xorl %r15d, %r15d
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rax
subq %rsi, %rax
sarq $0x5, %rax
cmpq %r15, %rax
jbe 0x3d4c
addq %r14, %rsi
movq %rbx, %rdi
callq 0x667a
incq %r15
addq $0x20, %r14
jmp 0x3d22
leaq 0x40(%rsp), %rdi
callq 0x5aaa
leaq 0x10(%rsp), %rdi
callq 0x5aaa
movq 0x16271(%rip), %rdi     # 0x19fd8
leaq 0xf347(%rip), %rsi      # 0x130b5
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0xf361(%rip), %rsi      # 0x130e3
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0xf5ed(%rip), %rsi      # 0x13385
leaq 0x10(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x74e4
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0xf307(%rip), %rsi      # 0x130e3
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x790c
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x161c7(%rip), %rdi     # 0x19fd8
leaq 0xf2cf(%rip), %rsi      # 0x130e7
callq 0x3340
movq %rax, %rdi
movl %ebx, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0xf2ad(%rip), %rsi      # 0x130e3
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $0x3
popq %rdx
callq 0x7978
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x1616a(%rip), %rdi     # 0x19fd8
leaq 0xf280(%rip), %rsi      # 0x130f5
callq 0x3340
movq %rax, %rdi
movl %ebx, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0xf250(%rip), %rsi      # 0x130e3
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x7b98
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x16110(%rip), %rdi     # 0x19fd8
leaq 0xf239(%rip), %rsi      # 0x13108
callq 0x3340
movq %rax, %rdi
movl %ebx, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0xf1f6(%rip), %rsi      # 0x130e3
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $0x5
popq %rdx
callq 0x7c04
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x160b3(%rip), %rdi     # 0x19fd8
leaq 0xf1ea(%rip), %rsi      # 0x13116
callq 0x3340
movq %rax, %rdi
movl %ebx, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0xf199(%rip), %rsi      # 0x130e3
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
movss 0xf096(%rip), %xmm0     # 0x13004
callq 0x7a6e
movss %xmm0, 0x204(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x1604b(%rip), %rdi     # 0x19fd8
leaq 0xf194(%rip), %rsi      # 0x13128
callq 0x3340
movq %rax, %rdi
movss 0x204(%rsp), %xmm0
callq 0x3280
movq %rax, %rdi
callq 0x3180
leaq 0xf17e(%rip), %rsi      # 0x13137
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $-0x3
popq %rdx
callq 0x7978
movq %rax, %r14
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq 0x3160
movq %r12, (%rbx)
andq $0x0, 0x8(%rbx)
movb $0x0, 0x10(%rbx)
leaq 0xf137(%rip), %rsi      # 0x13137
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x10(%rsp), %rdi
leaq 0x198(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x75e0
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rbx
movq %rbx, %rsi
callq 0x33e0
movq %rbx, %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x15f84(%rip), %rdi     # 0x19fd8
leaq 0xf0de(%rip), %rsi      # 0x13139
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0x78(%rsp), %rsi
movq %rax, %rdi
callq 0x3310
leaq 0xf285(%rip), %rbx      # 0x13301
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3340
movq %rax, %rdi
movl %r14d, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0xf042(%rip), %rsi      # 0x130e3
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x667a
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0xf064(%rip), %rsi      # 0x13137
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x667a
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x15ec9(%rip), %rdi     # 0x19fd8
leaq 0xf036(%rip), %rsi      # 0x1314c
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0x80(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0xf026(%rip), %rsi      # 0x1316d
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x5acc
leaq 0xeffe(%rip), %rsi      # 0x1316a
movq %rax, %rdi
callq 0x35b0
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0xefef(%rip), %rsi      # 0x13174
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x5acc
leaq 0xefc7(%rip), %rsi      # 0x13171
movq %rax, %rdi
callq 0x35b0
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0xefb8(%rip), %rsi      # 0x1317b
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x5acc
leaq 0xef90(%rip), %rsi      # 0x13178
movq %rax, %rdi
callq 0x35b0
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0xef7e(%rip), %rsi      # 0x1317f
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x7cfa
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x3160
movq 0x15d9d(%rip), %rdi     # 0x19fd8
leaq 0xef42(%rip), %rsi      # 0x13184
callq 0x3340
movq %rax, %rdi
movl %r14d, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0xef1e(%rip), %rsi      # 0x1317f
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x7e2a
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x3160
movq 0x15d42(%rip), %rdi     # 0x19fd8
leaq 0xef03(%rip), %rsi      # 0x131a0
callq 0x3340
movq %rax, %rdi
movl %r14d, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0xeec3(%rip), %rsi      # 0x1317f
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movsd 0xed28(%rip), %xmm0     # 0x13008
movsd 0xed28(%rip), %xmm1     # 0x13010
callq 0x7e96
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x3160
movq 0x15cd7(%rip), %rdi     # 0x19fd8
leaq 0xeeb2(%rip), %rsi      # 0x131ba
callq 0x3340
movq %rax, %rdi
movl %r14d, %esi
callq 0x3550
leaq 0xeebf(%rip), %rsi      # 0x131de
movq %rax, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0xee49(%rip), %rsi      # 0x1317f
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x667a
leaq 0x10(%rsp), %rdi
callq 0x3160
movq 0x15c70(%rip), %rdi     # 0x19fd8
leaq 0xee73(%rip), %rsi      # 0x131e2
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0x18(%rsp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0xee56(%rip), %rsi      # 0x131f3
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x5acc
leaq 0xf8f2(%rip), %rsi      # 0x13cb7
movq %rax, %rdi
callq 0x35b0
leaq 0x40(%rsp), %rdi
callq 0x3160
leaq 0xeda1(%rip), %rsi      # 0x1317f
leaq 0x40(%rsp), %rdi
leaq 0x140(%rsp), %rdx
callq 0x3120
leaq 0xf8c0(%rip), %rsi      # 0x13cb7
leaq 0x160(%rsp), %rdi
leaq 0x208(%rsp), %rdx
callq 0x3120
leaq 0x120(%rsp), %rdi
leaq 0x198(%rsp), %rsi
leaq 0x40(%rsp), %rdx
movsd 0xebdf(%rip), %xmm0     # 0x13008
leaq 0x160(%rsp), %rcx
callq 0x8034
leaq 0x160(%rsp), %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x15b84(%rip), %rdi     # 0x19fd8
leaq 0xed9b(%rip), %rsi      # 0x131f6
callq 0x3340
leaq 0x120(%rsp), %rsi
movq %rax, %rdi
callq 0x3310
movq %rax, %rdi
callq 0x3180
leaq 0xed00(%rip), %rsi      # 0x1317f
leaq 0x40(%rsp), %rdi
leaq 0x160(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x667a
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x15b24(%rip), %rdi     # 0x19fd8
leaq 0xed49(%rip), %rsi      # 0x13204
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0xecb0(%rip), %rsi      # 0x1317f
leaq 0x40(%rsp), %rdi
leaq 0x160(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x7cfa
leaq 0x40(%rsp), %rdi
callq 0x3160
xorps %xmm0, %xmm0
movaps %xmm0, 0x180(%rsp)
andq $0x0, 0x190(%rsp)
leaq 0xec62(%rip), %rsi      # 0x1317f
leaq 0x40(%rsp), %rdi
leaq 0x160(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x40(%rsp), %rsi
pushq $-0x1
popq %rcx
leaq 0x180(%rsp), %r8
xorl %edx, %edx
xorl %r9d, %r9d
callq 0x81b0
movzbl %al, %esi
movq 0x15a7d(%rip), %r14     # 0x19fd8
movq %r14, %rdi
callq 0x3530
movq %rax, %rdi
callq 0x3180
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x180(%rsp), %rsi
movq 0x188(%rsp), %rdx
leaq 0x308(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x40(%rsp), %rdi
callq 0x5a83
movq 0x15a33(%rip), %r14     # 0x19fd8
movq %r14, %rdi
callq 0x3180
leaq 0xebcb(%rip), %rsi      # 0x1317f
leaq 0x40(%rsp), %rdi
leaq 0x160(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x40(%rsp), %rsi
pushq $-0x1
popq %rcx
leaq 0x180(%rsp), %r8
pushq $0x1
popq %r9
xorl %edx, %edx
callq 0x83a4
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x180(%rsp), %rsi
movq 0x188(%rsp), %rdx
leaq 0x2f8(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x40(%rsp), %rdi
callq 0x5a83
movq 0x159b5(%rip), %rdi     # 0x19fd8
callq 0x3180
movq 0x159a9(%rip), %rdi     # 0x19fd8
leaq 0xebe9(%rip), %rsi      # 0x1321f
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0xeb35(%rip), %rsi      # 0x1317f
leaq 0x40(%rsp), %rdi
leaq 0x208(%rsp), %rdx
callq 0x3120
leaq 0xeb07(%rip), %rsi      # 0x1316a
leaq 0x140(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x3120
leaq 0x160(%rsp), %rdi
leaq 0x198(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0x140(%rsp), %rcx
callq 0x88d6
leaq 0x140(%rsp), %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x15923(%rip), %rdi     # 0x19fd8
leaq 0x160(%rsp), %rsi
callq 0x3310
movq %rax, %rdi
callq 0x3180
movq 0x15907(%rip), %rdi     # 0x19fd8
leaq 0xeb57(%rip), %rsi      # 0x1322f
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0x48(%rsp), %r12
andl $0x0, (%r12)
andq $0x0, 0x8(%r12)
movq %r12, 0x10(%r12)
movq %r12, 0x18(%r12)
andq $0x0, 0x20(%r12)
movq 0x158cc(%rip), %rdi     # 0x19fd8
leaq 0xeb2b(%rip), %rsi      # 0x1323e
callq 0x3340
movq %rax, %rbx
leaq 0xea5d(%rip), %rsi      # 0x1317f
leaq 0x140(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x3120
leaq 0xef21(%rip), %rsi      # 0x1365c
leaq 0x208(%rsp), %rdi
leaq 0x11f(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x140(%rsp), %rsi
leaq 0x208(%rsp), %rcx
pushq $0xa
popq %r8
leaq 0x40(%rsp), %r9
xorl %edx, %edx
callq 0x89a0
movq %rbx, %rdi
movl %eax, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0x208(%rsp), %rdi
callq 0x3160
leaq 0x140(%rsp), %rdi
callq 0x3160
movq 0x58(%rsp), %r15
movq 0x15828(%rip), %r14     # 0x19fd8
leaq 0xeb4a(%rip), %rbx      # 0x13301
cmpq %r12, %r15
je 0x47f4
leaq 0x20(%r15), %rsi
movq %r14, %rdi
callq 0x3310
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3340
leaq 0x40(%r15), %rsi
movq %rax, %rdi
callq 0x3310
movq %rax, %rdi
callq 0x3180
movq %r15, %rdi
callq 0x3250
movq %rax, %r15
jmp 0x47b7
movq 0x157dd(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0xe978(%rip), %rsi      # 0x1317f
leaq 0x140(%rsp), %rdi
leaq 0x208(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x667a
leaq 0x140(%rsp), %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x5bd8
leaq 0x160(%rsp), %rdi
callq 0x3160
leaq 0x180(%rsp), %rdi
callq 0x5aaa
leaq 0x120(%rsp), %rdi
callq 0x3160
leaq 0x10(%rsp), %rdi
callq 0x5bd8
leaq 0x78(%rsp), %rdi
callq 0x5bd8
movq 0x1574e(%rip), %rdi     # 0x19fd8
leaq 0xe9b9(%rip), %rsi      # 0x1324a
callq 0x3340
movq %rax, %rdi
callq 0x3180
xorl %eax, %eax
leaq 0x10(%rsp), %r15
leaq 0x198(%rsp), %r12
leaq 0x40(%rsp), %r13
leaq 0xe9a1(%rip), %rbp      # 0x1325a
leaq 0x78(%rsp), %r14
movl %eax, 0x40(%rsp)
cmpl $0xa, %eax
jge 0x4906
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x5b56
movq %r14, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x5b32
movq %r15, %rdi
callq 0x3160
movq %r12, %rdi
movq %r14, %rsi
callq 0x91c2
movq %r14, %rdi
callq 0x3160
movl 0x40(%rsp), %eax
incl %eax
jmp 0x48be
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
andq $0x0, 0x20(%rsp)
leaq 0xe94f(%rip), %rsi      # 0x1326a
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $-0x1
popq %rcx
leaq 0x10(%rsp), %r8
xorl %edx, %edx
callq 0x984a
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x2e8(%rsp), %rcx
movq 0x1566f(%rip), %rax     # 0x19fd8
movq %rax, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x15657(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0xe8dd(%rip), %rsi      # 0x1326a
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x667a
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0x10(%rsp), %rdi
callq 0x5aaa
movq 0x1560f(%rip), %rdi     # 0x19fd8
leaq 0xe8a0(%rip), %rsi      # 0x13270
callq 0x3340
movq %rax, %rdi
callq 0x3180
leaq 0xe8a3(%rip), %rsi      # 0x13287
leaq 0x78(%rsp), %r14
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x3120
leaq 0x98(%rsp), %r15
leaq 0xe885(%rip), %rsi      # 0x1328a
leaq 0x40(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xb8(%rsp), %r15
leaq 0xe86c(%rip), %rsi      # 0x1328d
leaq 0x120(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xd8(%rsp), %r15
leaq 0xe850(%rip), %rsi      # 0x13290
leaq 0x140(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0x160(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $0x4
popq %rdx
leaq 0x208(%rsp), %rcx
callq 0x5a4a
pushq $0x60
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x4a70
leaq 0xe805(%rip), %rsi      # 0x13293
leaq 0x78(%rsp), %r14
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x3120
leaq 0x98(%rsp), %r15
leaq 0xe7e8(%rip), %rsi      # 0x13297
leaq 0x40(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xb8(%rsp), %r15
leaq 0xe7d0(%rip), %rsi      # 0x1329b
leaq 0x120(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0xd8(%rsp), %r15
leaq 0xe7b5(%rip), %rsi      # 0x1329f
leaq 0x208(%rsp), %rdx
movq %r15, %rdi
callq 0x3120
leaq 0x140(%rsp), %rdi
leaq 0x78(%rsp), %rsi
pushq $0x4
popq %rdx
leaq 0x180(%rsp), %rcx
callq 0x5a4a
pushq $0x60
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x4b1a
leaq 0xe76b(%rip), %rsi      # 0x132a3
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x160(%rsp), %rdx
leaq 0x140(%rsp), %rcx
callq 0x9018
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq 0x3160
andl $0x0, 0x8(%rbx)
andq $0x0, 0x10(%rbx)
leaq 0x80(%rsp), %rax
movq %rax, 0x18(%rbx)
movq %rax, 0x20(%rbx)
andq $0x0, 0x28(%rbx)
leaq 0xe708(%rip), %rsi      # 0x132a3
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x92f8
leaq 0x10(%rsp), %rdi
callq 0x3160
movq 0x90(%rsp), %r15
movq 0x153fe(%rip), %rbx     # 0x19fd8
leaq 0xe720(%rip), %r14      # 0x13301
leaq 0x80(%rsp), %rax
cmpq %rax, %r15
je 0x4c26
leaq 0x20(%r15), %rsi
movq %rbx, %rdi
callq 0x3310
movq %rax, %rdi
movq %r14, %rsi
callq 0x3340
leaq 0x40(%r15), %rsi
movq %rax, %rdi
callq 0x3310
movq %rax, %rdi
callq 0x3180
movq %r15, %rdi
callq 0x3250
movq %rax, %r15
jmp 0x4be1
movq 0x153ab(%rip), %rdi     # 0x19fd8
callq 0x3180
movq 0x1539f(%rip), %rdi     # 0x19fd8
leaq 0xe668(%rip), %rsi      # 0x132a8
callq 0x3340
movq %rax, %rdi
callq 0x3180
andl $0x0, 0x18(%rsp)
andq $0x0, 0x20(%rsp)
leaq 0x18(%rsp), %rax
movq %rax, 0x28(%rsp)
movq %rax, 0x30(%rsp)
andq $0x0, 0x38(%rsp)
movq 0x15364(%rip), %rdi     # 0x19fd8
leaq 0xe5c3(%rip), %rsi      # 0x1323e
callq 0x3340
movq %rax, %rbx
leaq 0xe619(%rip), %rsi      # 0x132a3
leaq 0x40(%rsp), %rdi
leaq 0x208(%rsp), %rdx
callq 0x3120
leaq 0xe614(%rip), %rsi      # 0x132b7
leaq 0x120(%rsp), %rdi
leaq 0x180(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0x120(%rsp), %rcx
pushq $0xa
popq %r8
leaq 0x10(%rsp), %r9
xorl %edx, %edx
callq 0x943a
movq %rbx, %rdi
movl %eax, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0x120(%rsp), %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x3160
movq 0x28(%rsp), %r15
movq 0x152c6(%rip), %r14     # 0x19fd8
leaq 0xe5e8(%rip), %rbx      # 0x13301
leaq 0x18(%rsp), %rax
cmpq %rax, %r15
je 0x4d5b
leaq 0x20(%r15), %rsi
movq %r14, %rdi
callq 0x3310
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3340
leaq 0x40(%r15), %rsi
movq %rax, %rdi
callq 0x3310
movq %rax, %rdi
callq 0x3180
movq %r15, %rdi
callq 0x3250
movq %rax, %r15
jmp 0x4d19
movq 0x15276(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0xe535(%rip), %rsi      # 0x132a3
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x667a
leaq 0x40(%rsp), %rdi
callq 0x3160
leaq 0x10(%rsp), %rdi
callq 0x5bd8
leaq 0x78(%rsp), %rdi
callq 0x5bd8
leaq 0x140(%rsp), %rdi
callq 0x5aaa
leaq 0x160(%rsp), %rdi
callq 0x5aaa
movq 0x15207(%rip), %rdi     # 0x19fd8
leaq 0xe4e2(%rip), %rsi      # 0x132ba
callq 0x3340
movq %rax, %rdi
callq 0x3180
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
andq $0x0, 0x50(%rsp)
leaq 0xe4cd(%rip), %rsi      # 0x132c7
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x91c2
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0xe4ac(%rip), %rsi      # 0x132d8
leaq 0x10(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0x78(%rsp), %rdi
leaq 0x198(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x75e0
movq 0x1517c(%rip), %rdi     # 0x19fd8
leaq 0x78(%rsp), %rsi
callq 0x3310
movq %rax, %rdi
callq 0x3180
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0xe454(%rip), %rsi      # 0x132dd
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x6442
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x15118(%rip), %r14     # 0x19fd8
leaq 0xe428(%rip), %rsi      # 0x132ef
movq %r14, %rdi
callq 0x3340
movq 0x48(%rsp), %rsi
subq 0x40(%rsp), %rsi
sarq $0x5, %rsi
movq %rax, %rdi
callq 0x3240
movq %rax, %rdi
callq 0x3180
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x2d8(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x150c1(%rip), %r14     # 0x19fd8
movq %r14, %rdi
callq 0x3180
leaq 0xe3d5(%rip), %rsi      # 0x132fb
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x6442
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x2c8(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x15058(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0xe377(%rip), %rsi      # 0x13303
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x91c2
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0xe353(%rip), %rsi      # 0x13311
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x91c2
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0xe32f(%rip), %rsi      # 0x1331f
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x91c2
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0xe30b(%rip), %rsi      # 0x1332d
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x91c2
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0xe2e7(%rip), %rsi      # 0x1333b
leaq 0x78(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x91c2
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x14f52(%rip), %rdi     # 0x19fd8
leaq 0xe2bc(%rip), %rsi      # 0x13349
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x14f37(%rip), %r14     # 0x19fd8
leaq 0xdff2(%rip), %rsi      # 0x1309a
movq %r14, %rdi
callq 0x3340
movq %rax, %r15
leaq 0xe29e(%rip), %rsi      # 0x13358
leaq 0x78(%rsp), %rdi
leaq 0x120(%rsp), %rdx
callq 0x3120
leaq 0xe28a(%rip), %rsi      # 0x1335d
leaq 0x10(%rsp), %rdi
leaq 0x160(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rcx
pushq $0x3
popq %r8
leaq 0x40(%rsp), %r9
xorl %edx, %edx
callq 0x8db0
movq %r15, %rdi
movl %eax, %esi
callq 0x3550
movq %rax, %rdi
callq 0x3180
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x2b8(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x14e81(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0x40(%rsp), %rdi
callq 0x5aaa
movq 0x14e6b(%rip), %rdi     # 0x19fd8
leaq 0xe1ed(%rip), %rsi      # 0x13361
callq 0x3340
movq %rax, %rdi
callq 0x3180
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
andq $0x0, 0x20(%rsp)
leaq 0xe1dd(%rip), %rsi      # 0x13373
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x6d9a
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x14e0b(%rip), %r14     # 0x19fd8
leaq 0xe19f(%rip), %rsi      # 0x13373
movq %r14, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x2a8(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x14dca(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0xe160(%rip), %rsi      # 0x1337a
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x6d9a
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x14d87(%rip), %r14     # 0x19fd8
leaq 0xe12f(%rip), %rsi      # 0x13387
movq %r14, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x298(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x14d46(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0xe0ff(%rip), %rsi      # 0x1339d
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x6d9a
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x14d03(%rip), %r14     # 0x19fd8
leaq 0xe0c1(%rip), %rsi      # 0x1339d
movq %r14, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x288(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x14cc2(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0xe092(%rip), %rsi      # 0x133b4
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x6d9a
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x14c7f(%rip), %r14     # 0x19fd8
leaq 0xe062(%rip), %rsi      # 0x133c2
movq %r14, %rdi
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x278(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x14c3e(%rip), %rdi     # 0x19fd8
callq 0x3180
movq 0x14c32(%rip), %rdi     # 0x19fd8
leaq 0xe022(%rip), %rsi      # 0x133cf
callq 0x3340
movq %rax, %rdi
callq 0x3180
movq 0x14c17(%rip), %r14     # 0x19fd8
leaq 0xe01d(%rip), %rsi      # 0x133e5
movq %r14, %rdi
callq 0x3340
movq %rax, %r15
leaq 0xe018(%rip), %rsi      # 0x133f2
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x3120
leaq 0x198(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x6442
movzbl %al, %esi
movq %r15, %rdi
callq 0x3530
movq %rax, %rdi
callq 0x3180
leaq 0x78(%rsp), %rdi
callq 0x3160
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x268(%rsp), %rcx
movq %r14, (%rcx)
movq %rbx, 0x8(%rcx)
leaq 0x78(%rsp), %rdi
callq 0x5a83
movq 0x14b91(%rip), %rdi     # 0x19fd8
callq 0x3180
leaq 0x10(%rsp), %rdi
callq 0x5aaa
leaq 0x198(%rsp), %rdi
callq 0x6630
leaq 0x228(%rsp), %rdi
callq 0x3160
leaq 0x248(%rsp), %rdi
callq 0x3160
leaq 0x198(%rsp), %rdi
callq 0x62dc
xorl %eax, %eax
addq $0x338, %rsp            # imm = 0x338
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x595b
jmp 0x595b
jmp 0x595b
jmp 0x5893
jmp 0x595b
jmp 0x595b
jmp 0x5893
jmp 0x595b
jmp 0x595b
jmp 0x5893
jmp 0x595b
jmp 0x595b
jmp 0x5893
jmp 0x595b
jmp 0x594d
jmp 0x5538
jmp 0x594d
jmp 0x5538
jmp 0x594d
jmp 0x5538
jmp 0x594d
jmp 0x5538
jmp 0x594d
jmp 0x5538
jmp 0x594d
jmp 0x5538
jmp 0x594d
jmp 0x594d
jmp 0x5538
jmp 0x594d
jmp 0x594d
jmp 0x5538
jmp 0x594d
movq %rax, %rbx
jmp 0x585a
jmp 0x594d
movq %rax, %rbx
jmp 0x58b2
jmp 0x594d
jmp 0x554c
jmp 0x599a
movq %rax, %rbx
jmp 0x58d1
jmp 0x599a
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3160
jmp 0x59ac
jmp 0x59a9
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
jmp 0x59b6
movq %rax, %rbx
jmp 0x59b6
movq %rax, %rbx
pushq $0x60
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x5591
jmp 0x59c3
jmp 0x55b1
jmp 0x55b1
movq %rax, %rbx
addq $-0x20, %r15
movq %r15, %rdi
callq 0x3160
cmpq %r14, %r15
jne 0x55b4
jmp 0x59c3
movq %rax, %rbx
jmp 0x59c3
movq %rax, %rbx
pushq $0x60
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x55d9
jmp 0x5a1a
jmp 0x55f9
jmp 0x55f9
movq %rax, %rbx
addq $-0x20, %r15
movq %r15, %rdi
callq 0x3160
cmpq %r14, %r15
jne 0x55fc
jmp 0x5a1a
jmp 0x597e
jmp 0x5893
jmp 0x595b
jmp 0x595b
jmp 0x595b
jmp 0x5893
jmp 0x595b
jmp 0x563c
jmp 0x59d2
movq %rax, %rbx
jmp 0x58f5
jmp 0x59d2
movq %rax, %rbx
leaq 0x140(%rsp), %rdi
callq 0x3160
jmp 0x590a
jmp 0x5907
jmp 0x5931
jmp 0x5931
jmp 0x5907
jmp 0x5931
jmp 0x5931
jmp 0x5931
jmp 0x5688
jmp 0x593b
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x3160
jmp 0x59f9
jmp 0x593b
movq %rax, %rbx
leaq 0x160(%rsp), %rdi
callq 0x3160
jmp 0x586e
jmp 0x586b
jmp 0x56bb
movq %rax, %rbx
jmp 0x5a06
jmp 0x587c
jmp 0x5943
jmp 0x587c
jmp 0x5943
jmp 0x587c
jmp 0x5943
jmp 0x587c
jmp 0x5943
jmp 0x5943
jmp 0x5943
jmp 0x5943
jmp 0x5821
jmp 0x5962
jmp 0x5821
jmp 0x5962
jmp 0x5812
jmp 0x5962
jmp 0x5962
jmp 0x597e
jmp 0x5962
jmp 0x597e
jmp 0x5962
jmp 0x597e
jmp 0x5962
jmp 0x597e
jmp 0x5962
jmp 0x597e
jmp 0x5962
jmp 0x597e
jmp 0x5821
jmp 0x5962
jmp 0x597e
jmp 0x5986
jmp 0x5986
jmp 0x5986
movq %rax, %rbx
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x577b
jmp 0x5993
jmp 0x579d
jmp 0x579d
jmp 0x579d
movq %rax, %rbx
addq $-0x20, %r15
movq %r15, %rdi
callq 0x3160
cmpq %r14, %r15
jne 0x57a0
jmp 0x5993
jmp 0x595b
movq %rax, %rbx
movl $0x80, %r14d
leaq (%rsp,%r14), %rdi
addq $0x78, %rdi
callq 0x3160
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x57c4
jmp 0x5a1a
jmp 0x57e6
jmp 0x57e6
jmp 0x57e6
movq %rax, %rbx
addq $-0x20, %r15
movq %r15, %rdi
callq 0x3160
cmpq %r14, %r15
jne 0x57e9
jmp 0x5a1a
jmp 0x597e
jmp 0x5812
jmp 0x5962
jmp 0x5821
jmp 0x5962
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
jmp 0x5829
jmp 0x5962
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3160
jmp 0x5965
jmp 0x5962
jmp 0x597e
movq %rax, %rbx
jmp 0x5a27
movq %rax, %rbx
jmp 0x5a34
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
leaq 0x10(%rsp), %rdi
jmp 0x58b7
jmp 0x599a
jmp 0x59d2
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
jmp 0x5a01
jmp 0x587c
jmp 0x587c
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3160
jmp 0x5a10
jmp 0x5962
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
jmp 0x5993
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3160
leaq 0x78(%rsp), %rdi
callq 0x3160
jmp 0x5950
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x3160
leaq 0x40(%rsp), %rdi
callq 0x3160
jmp 0x599d
jmp 0x59a9
movq %rax, %rbx
leaq 0x208(%rsp), %rdi
callq 0x3160
leaq 0x140(%rsp), %rdi
callq 0x3160
jmp 0x59d5
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
jmp 0x59e7
jmp 0x5943
jmp 0x5943
jmp 0x597e
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3160
jmp 0x5989
movq %rax, %rbx
jmp 0x59df
movq %rax, %rbx
jmp 0x59ec
jmp 0x5962
movq %rax, %rbx
jmp 0x59f9
movq %rax, %rbx
jmp 0x5a10
jmp 0x5962
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
jmp 0x59cb
jmp 0x5986
jmp 0x597e
movq %rax, %rbx
jmp 0x5993
jmp 0x597e
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
jmp 0x5974
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3160
jmp 0x5a1a
movq %rax, %rbx
jmp 0x5a1a
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x5aaa
leaq 0x10(%rsp), %rdi
jmp 0x59cb
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x5bd8
jmp 0x59ac
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x5bd8
leaq 0x140(%rsp), %rdi
callq 0x5aaa
leaq 0x160(%rsp), %rdi
callq 0x5aaa
jmp 0x5a1a
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x5bd8
leaq 0x160(%rsp), %rdi
callq 0x3160
leaq 0x180(%rsp), %rdi
callq 0x5aaa
leaq 0x120(%rsp), %rdi
callq 0x3160
leaq 0x10(%rsp), %rdi
callq 0x5bd8
leaq 0x78(%rsp), %rdi
callq 0x5bd8
leaq 0x228(%rsp), %rdi
callq 0x3160
leaq 0x248(%rsp), %rdi
callq 0x3160
leaq 0x198(%rsp), %rdi
callq 0x62dc
movq %rbx, %rdi
callq 0x3560
nop