// File: /workspace/github_cpp_makefile_star2_O3/hariguchi[P]rtacl/unitTest.cpp
// Function: v4rawTest()
static void
v4rawTest ()
{
    /*
     * Sample ACL tuple and ACL entry (host byte order)
     */
    struct aclTuple {
        ipv4a sa;               // source IPv4 address
        ipv4a da;               // destination IPv4 address
        u16 sp;                 // source port number
        u16 dp;                 // destination port number
        u8 proto;               // IP protocol (TCP, UDP, etc.)
        u8 dscp;                // DSCP
    };
    struct aclEnt {
        aclTuple min;           // lower bound
        aclTuple max;           // upper bound
    };

    aclEnt ent[10];
    rtacl::db<rtacl::ipv4a> acl;
    rtacl::entry<rtacl::ipv4a> rtAclEnt;

    /*
     * Insert 10 ACL entries into R-tree
     */
    memset(ent, 0, sizeof(ent));
    size_t i;
    for (i = 0; i < elementsof(ent); ++i) {
        rtacl::tuple<rtacl::ipv4a>& min = rtAclEnt.first.min_corner();
        rtacl::tuple<rtacl::ipv4a>& max = rtAclEnt.first.max_corner();

        ent[i].min.sa = 0x0a010000 + (i << 8); // 10.1.i.0
        ent[i].max.sa = ent[i].min.sa + 10;    // 10.1.i.10
        ent[i].min.da = 0;
        ent[i].max.da = ~0;
        ent[i].min.sp = 0;
        ent[i].max.sp = ~0;
        ent[i].min.dp = 80;     // http
        ent[i].max.dp = 80;
        ent[i].min.proto = 6;   // TCP
        ent[i].max.proto = 6;
        ent[i].min.dscp = 0;
        ent[i].max.dscp = ~0;
        /*
         * sa: 10.1.i.0 - 10.1.i.10,
         * da: 0.0.0.0  - 255.255.255.255
         * sp: 0 - 65535
         * dp: 80
         * proto: TCP (6)
         * dscp: 0 - 255
         */
        acl.makeMin(ent[i].min.sa, ent[i].min.da,
                    ent[i].min.sp, ent[i].min.dp,
                    ent[i].min.proto, ent[i].min.dscp, min);
        acl.makeMax(ent[i].max.sa, ent[i].max.da,
                    ent[i].max.sp, ent[i].max.dp,
                    ent[i].max.proto, ent[i].max.dscp, max);
        rtAclEnt.second = reinterpret_cast<uintptr_t>(ent + i);
        acl.insert(rtAclEnt);
    }
    std::cout << (bfmt("size: %ld, i: %ld\n") % acl.size() % i).str();
    assert(i == acl.size());
    /*
     * Show all ACL entries
     */
    rtacl::result<rtacl::ipv4a> r = acl.dump();
    for (auto it : r) {
        rtacl::entry<rtacl::ipv4a> e;
        rtacl::tuple<rtacl::ipv4a>& min = e.first.min_corner();
        rtacl::tuple<rtacl::ipv4a>& max = e.first.max_corner();
        aclEnt* p = reinterpret_cast<aclEnt*>(it.second);
        acl.makeMin(p->min.sa, p->min.da,
                    p->min.sp, p->min.dp,
                    p->min.proto, p->min.dscp, min);
        acl.makeMax(p->max.sa, p->max.da,
                    p->max.sp, p->max.dp,
                    p->max.proto, p->max.dscp, max);
        std::cout << (bfmt("rtree: %s\nacl:   %s\n")
                      % rtacl::range2str(it.first)
                      % rtacl::range2str(e.first)).str();
    }
    /*
     * ACL match test (match)
     */
    for (i = 0; i < elementsof(ent); ++i) {
        rtacl::tuple<rtacl::ipv4a> key;
        acl.makeKey(ent[i].min.sa + 1, ent[i].min.da,
                    ent[i].min.sp, ent[i].min.dp,
                    ent[i].min.proto, ent[i].min.dscp, key);
        rtacl::result<rtacl::ipv4a> result = acl.find(key);
        if (result.size() != 1) {
            std::cout << "Error: no match. key: ";
            std::cout << (bfmt("%s\n") % rtacl::tuple2str(key)).str();
        }
        for (auto r : result) {
            assert(reinterpret_cast<uintptr_t>(ent + i) == r.second);
            std::cout << (bfmt("ent: %p, result: 0x%lx\n")
                          % (ent + i)
                          % r.second).str();
        }
    }
    /*
     * ACL match test (unmatch)
     */
    for (i = 0; i < elementsof(ent); ++i) {
        rtacl::tuple<rtacl::ipv4a> key;
        acl.makeKey(ent[i].min.sa + 11, ent[i].min.da,
                    ent[i].min.sp, ent[i].min.dp,
                    ent[i].min.proto, ent[i].min.dscp, key);
        rtacl::result<rtacl::ipv4a> result = acl.find(key);
        if (result.size() == 0) {
            std::cout << "no match (correct): key: ";
            std::cout << (bfmt("%s\n") % rtacl::tuple2str(key)).str();
        } else {
            std::cout << "Error: matched: key: ";
            std::cout << (bfmt("%s\n") % rtacl::tuple2str(key)).str();

            for (auto it : result) {
                std::cout << (bfmt("%s, %p\n")
                              % rtacl::range2str(it.first)
                              % it.second).str();
            }
        }
    }
    /*
     * Remove ACL entries
     */
    for (i = 0; i < elementsof(ent); ++i) {
        rtacl::entry<rtacl::ipv4a> e;
        rtacl::tuple<rtacl::ipv4a>& min = e.first.min_corner();
        rtacl::tuple<rtacl::ipv4a>& max = e.first.max_corner();
        acl.makeMin(ent[i].min.sa, ent[i].min.da,
                    ent[i].min.sp, ent[i].min.dp,
                    ent[i].min.proto, ent[i].min.dscp, min);
        acl.makeMax(ent[i].max.sa, ent[i].max.da,
                    ent[i].max.sp, ent[i].max.dp,
                    ent[i].max.proto, ent[i].max.dscp, max);
        e.second = reinterpret_cast<uintptr_t>(ent + i);
        bool rc = acl.remove(e);
        if (rc) {
            std::cout << (bfmt("size: %2ld: ") % acl.size()).str();

            rtacl::tuple<rtacl::ipv4a> key;
            acl.makeKey(ent[i].min.sa + 1, ent[i].min.da,
                        ent[i].min.sp, ent[i].min.dp,
                        ent[i].min.proto, ent[i].min.dscp, key);
            rtacl::result<rtacl::ipv4a> result = acl.find(key);
            if (result.size() == 0) {
                std::cout << (bfmt("no match (correct): key: %s\n")
                              % rtacl::tuple2str(key)).str();
            } else {
                std::cout << (bfmt("Error: matched: key: %s\n")
                              % rtacl::tuple2str(key)).str();
                for (auto it : result) {
                    std::cout << (bfmt("%s, %p\n")
                                  % rtacl::range2str(it.first)
                                  % it.second).str();
                }
            }
        } else {
            std::cout << (bfmt("Error: failed to remove acl entry: %s %ld\n")
                          % rtacl::range2str(e.first)
                          % e.second).str();
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x488, %rsp            # imm = 0x488
xorl %r12d, %r12d
leaq 0x1a0(%rsp), %rax
movq %r12, 0x10(%rax)
pxor %xmm0, %xmm0
movdqa %xmm0, (%rax)
movl $0x40002, 0x18(%rax)    # imm = 0x40002
movw $0x2, 0x1c(%rax)
leaq 0x340(%rsp), %rdi
movl $0x140, %edx            # imm = 0x140
xorl %esi, %esi
callq 0x4110
leaq 0x2e0(%rsp), %r14
movq %r12, 0x8(%rsp)
movabsq $0x100000000, %r15      # imm = 0x100000000
leaq 0x2d8(%rsp), %rbx
movl %r12d, %eax
shll $0x8, %eax
movl %eax, %ecx
orl $0xa010000, %ecx        # imm = 0xA010000
shlq $0x5, %r12
leaq (%rsp,%r12), %rdx
addq $0x340, %rdx            # imm = 0x340
movl %ecx, (%rdx)
movl %eax, %ecx
orl $0xa01000a, %ecx        # imm = 0xA01000A
movl %ecx, 0x10(%rdx)
movl $0x0, 0x4(%rdx)
movl $0xffffffff, 0x14(%rdx) # imm = 0xFFFFFFFF
movw $0x0, 0x8(%rdx)
movw $0xffff, 0x18(%rdx)     # imm = 0xFFFF
movl $0x60050, 0xa(%rdx)     # imm = 0x60050
movl $0xff060050, 0x1a(%rdx) # imm = 0xFF060050
leal 0xa00ffff(%rax), %ecx
movq %rcx, 0x2d8(%rsp)
pcmpeqd %xmm0, %xmm0
movdqu %xmm0, (%r14)
movq $0x4f, 0x2f0(%rsp)
movq $0x5, 0x2f8(%rsp)
movq $-0x1, 0x300(%rsp)
orl $0xa01000b, %eax        # imm = 0xA01000B
movq %rax, 0x308(%rsp)
movq %r15, 0x310(%rsp)
movq $0x10000, 0x318(%rsp) # imm = 0x10000
movq $0x51, 0x320(%rsp)
movq $0x7, 0x328(%rsp)
movq $0x100, 0x330(%rsp) # imm = 0x100
movq %rdx, 0x338(%rsp)
leaq 0x1a0(%rsp), %rdi
movq %rbx, %rsi
callq 0x9f12
movq 0x8(%rsp), %r12
incq %r12
movq %r12, 0x8(%rsp)
cmpq $0xa, %r12
jb 0x6ded
leaq 0x1e980(%rip), %rsi     # 0x25875
leaq 0x40(%rsp), %rdi
callq 0xa028
movq 0x1a0(%rsp), %rax
leaq 0x148(%rsp), %rcx
movq %rax, (%rcx)
leaq 0x1c0(%rsp), %rsi
movq %rcx, (%rsi)
leaq 0xb67d(%rip), %rax      # 0x125a1
movq %rax, 0x8(%rsi)
leaq 0xb673(%rip), %rax      # 0x125a2
movq %rax, 0x10(%rsi)
leaq 0x40(%rsp), %rdi
callq 0x114e1
leaq 0x8(%rsp), %rcx
leaq 0x1c0(%rsp), %rsi
movq %rcx, (%rsi)
leaq 0xb656(%rip), %rcx      # 0x125aa
movq %rcx, 0x8(%rsi)
leaq 0xb64c(%rip), %rcx      # 0x125ab
movq %rcx, 0x10(%rsi)
movq %rax, %rdi
callq 0x114e1
leaq 0x230(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x230(%rsp), %rsi
movq 0x238(%rsp), %rdx
movq 0x6702b(%rip), %rdi     # 0x6dfc0
callq 0x4250
leaq 0x240(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6fbb
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x6fda
leaq 0x118(%rsp), %r14
movq %r14, %rdi
callq 0x42c0
movb $0x0, -0x8(%r14)
leaq 0x66797(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x701b
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %rcx
cmoveq %rax, %rcx
movq (%rcx), %rsi
subq %rdi, %rsi
callq 0x4210
leaq 0xf0(%rsp), %r14
movb $0x0, 0x10(%r14)
movq $0x0, 0x8(%r14)
pxor %xmm0, %xmm0
movdqu %xmm0, -0x30(%r14)
movdqu %xmm0, -0x20(%r14)
movdqu %xmm0, -0x10(%r14)
movq 0x66f63(%rip), %rax     # 0x6dfb0
addq $0x10, %rax
movq %rax, 0x38(%rsp)
movq %rax, -0x38(%r14)
movq %r14, %rdi
callq 0x42c0
movq -0x60(%r14), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x7083
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x70b3
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
xorl %eax, %eax
movq %rax, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq %rax, 0x78(%rsp)
leaq 0x40(%rsp), %rdi
callq 0xe8ac
movq 0x8(%rsp), %rax
cmpq 0x1a0(%rsp), %rax
jne 0x917d
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x230(%rsp)
movq %rax, 0x238(%rsp)
movq %rax, 0x240(%rsp)
movq %rax, 0x248(%rsp)
movq %rax, 0x250(%rsp)
movq %rax, 0x258(%rsp)
incq %rax
movq %rax, 0x260(%rsp)
movq %rax, 0x268(%rsp)
movq %rax, 0x270(%rsp)
movq %rax, 0x278(%rsp)
movq %rax, 0x280(%rsp)
movq %rax, 0x288(%rsp)
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x7560
leaq 0x40(%rsp), %rsi
movq %rbx, (%rsi)
leaq 0x1a0(%rsp), %rax
movq %rax, 0x8(%rsi)
movq %rax, 0x10(%rsi)
callq 0x12982
movq 0x1b0(%rsp), %rax
pxor %xmm0, %xmm0
movdqa %xmm0, 0x2c0(%rsp)
movq $0x0, 0x2d0(%rsp)
testq %rax, %rax
je 0x7579
leaq 0x48(%rsp), %rdx
leaq 0x1a0(%rsp), %rcx
movq %rcx, -0x8(%rdx)
leaq 0x230(%rsp), %rsi
movl $0xc, %ecx
movq %rdx, %rdi
rep  movsq (%rsi), %es:(%rdi)
leaq 0x2c0(%rsp), %rcx
movq %rcx, 0x60(%rdx)
movq $0x0, 0x68(%rdx)
leaq 0x40(%rsp), %rsi
movq %rax, %rdi
callq 0x12d50
movq 0x2c0(%rsp), %rbx
movq 0x2c8(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpq %rax, %rbx
je 0x7579
leaq 0x118(%rsp), %r14
leaq 0x230(%rsp), %rbp
leaq 0x40(%rsp), %r15
movl $0xd, %ecx
movq %rbp, %rdi
movq %rbx, %rsi
rep  movsq (%rsi), %es:(%rdi)
pxor %xmm1, %xmm1
movdqa %xmm1, 0x210(%rsp)
movdqa %xmm1, 0x200(%rsp)
movdqa %xmm1, 0x1f0(%rsp)
movdqa %xmm1, 0x1e0(%rsp)
movdqa %xmm1, 0x1d0(%rsp)
movdqa %xmm1, 0x1c0(%rsp)
movq $0x0, 0x220(%rsp)
movq 0x290(%rsp), %rax
movzwl 0x8(%rax), %ecx
movzwl 0xa(%rax), %edx
movzbl 0xc(%rax), %esi
movzbl 0xd(%rax), %edi
movq (%rax), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
pcmpeqd %xmm2, %xmm2
paddq %xmm2, %xmm0
movdqa %xmm0, 0x1c0(%rsp)
decq %rcx
movq %rcx, 0x1d0(%rsp)
decq %rdx
movq %rdx, 0x1d8(%rsp)
decq %rsi
movq %rsi, 0x1e0(%rsp)
decq %rdi
movq %rdi, 0x1e8(%rsp)
movzbl 0x1c(%rax), %ecx
movzbl 0x1d(%rax), %edx
movq 0x10(%rax), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
psubq %xmm2, %xmm0
movdqa %xmm0, 0x1f0(%rsp)
movd 0x18(%rax), %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
psubd %xmm2, %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqa %xmm0, 0x200(%rsp)
incq %rcx
movq %rcx, 0x210(%rsp)
incq %rdx
movq %rdx, 0x218(%rsp)
movq %r15, %r13
movq %r15, %rdi
leaq 0x1e59d(%rip), %rsi     # 0x258b6
callq 0xa028
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movq %rbp, %r15
movq %rbp, %rsi
callq 0xa3cb
movq %r12, 0x120(%rsp)
leaq 0xbe9a(%rip), %rax      # 0x131da
movq %rax, 0x128(%rsp)
leaq 0xbe8c(%rip), %rax      # 0x131db
movq %rax, 0x130(%rsp)
movq %r13, %rdi
leaq 0x120(%rsp), %r12
movq %r12, %rsi
callq 0x114e1
movq %rax, %rbp
movq %r12, %rdi
leaq 0x1c0(%rsp), %rsi
callq 0xa3cb
movq %r12, 0x180(%rsp)
leaq 0xbe4e(%rip), %rax      # 0x131da
movq %rax, 0x188(%rsp)
leaq 0xbe40(%rip), %rax      # 0x131db
movq %rax, 0x190(%rsp)
movq %rbp, %rdi
leaq 0x180(%rsp), %rsi
callq 0x114e1
leaq 0x148(%rsp), %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x148(%rsp), %rsi
movq 0x150(%rsp), %rdx
movq 0x66be6(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq %r15, %rbp
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x7407
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x742c
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7448
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x7462
movq %r14, %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x6630f(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x74ab
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, -0x38(%r14)
movdqu %xmm0, -0x48(%r14)
movdqu %xmm0, -0x58(%r14)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x7514
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x7544
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
xorl %eax, %eax
movq %rax, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq %rax, 0x78(%rsp)
movq %r13, %r15
movq %r13, %rdi
callq 0xe8ac
addq $0x68, %rbx
cmpq 0x30(%rsp), %rbx
jne 0x720d
jmp 0x7579
pxor %xmm0, %xmm0
movdqa %xmm0, 0x2c0(%rsp)
movq $0x0, 0x2d0(%rsp)
movq $0x0, 0x8(%rsp)
leaq 0x40(%rsp), %rbx
leaq 0xd8(%rbx), %rax
movq %rax, 0x30(%rsp)
leaq 0x80(%rbx), %r13
leaq 0xb0(%rbx), %r14
xorl %r12d, %r12d
xorl %eax, %eax
shlq $0x5, %rax
movl 0x340(%rsp,%rax), %ecx
movl 0x344(%rsp,%rax), %edx
incl %ecx
movq %rcx, 0x1c0(%rsp)
movq %rdx, 0x1c8(%rsp)
movq 0x348(%rsp,%rax), %xmm0
pxor %xmm1, %xmm1
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqu %xmm0, 0x1d0(%rsp)
movd 0x34c(%rsp,%rax), %xmm0
punpcklbw %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqu %xmm0, 0x1e0(%rsp)
movdqa %xmm1, 0x120(%rsp)
movq $0x0, 0x130(%rsp)
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x76b2
leaq 0x1a0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x1c8(%rsp), %rcx
movdqu 0x1d0(%rsp), %xmm0
movdqu 0x1e0(%rsp), %xmm1
leaq 0x48(%rsp), %rdx
movdqu %xmm1, 0x20(%rdx)
movdqu %xmm0, 0x10(%rdx)
movq %rax, (%rdx)
movq %rcx, 0x8(%rdx)
leaq 0x120(%rsp), %rax
movq %rax, 0x78(%rsp)
movq $0x0, 0x80(%rsp)
movq %rbx, %rsi
callq 0x135e8
movq 0x80(%rsp), %rbx
movq 0x120(%rsp), %rbp
movq 0x128(%rsp), %r15
movq %rbp, %rax
movq %r15, %rcx
jmp 0x76bd
xorl %ebp, %ebp
xorl %r15d, %r15d
xorl %eax, %eax
xorl %ecx, %ecx
xorl %ebx, %ebx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $0x4ec4ec4ec4ec4ec5, %rdx # imm = 0x4EC4EC4EC4EC4EC5
imulq %rdx, %rcx
cmpq %rcx, %rbx
jne 0x7b65
movq %r15, %rcx
subq %rax, %rcx
sarq $0x3, %rcx
imulq %rdx, %rcx
cmpq %rcx, %rbx
jne 0x913f
movq %r15, %rax
subq %rbp, %rax
cmpq $0x68, %rax
leaq 0x40(%rsp), %rbx
je 0x78fc
movl $0x16, %edx
movq 0x668ad(%rip), %rdi     # 0x6dfc0
leaq 0x1e1b1(%rip), %rsi     # 0x258cb
callq 0x4250
movq %rbx, %rdi
leaq 0x1e19e(%rip), %rsi     # 0x258c7
callq 0xa028
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x1c0(%rsp), %rsi
callq 0xa84b
movq %rbx, 0x10(%rsp)
leaq 0xba88(%rip), %rax      # 0x131da
movq %rax, 0x18(%rsp)
leaq 0xba7d(%rip), %rax      # 0x131db
movq %rax, 0x20(%rsp)
leaq 0x40(%rsp), %rbx
movq %rbx, %rdi
leaq 0x10(%rsp), %rsi
callq 0x114e1
leaq 0x230(%rsp), %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x230(%rsp), %rsi
movq 0x238(%rsp), %rdx
movq 0x66824(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x77c6
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x77eb
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x7807
movq 0x30(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x65f6a(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x7850
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r13)
movdqu %xmm0, 0x10(%r13)
movdqu %xmm0, (%r13)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq %r14, %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x78b4
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x78e4
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
movq %r12, 0x58(%rsp)
movl %r12d, 0x60(%rsp)
movq %r12, 0x68(%rsp)
movl %r12d, 0x70(%rsp)
movq %r12, 0x78(%rsp)
movq %rbx, %rdi
callq 0xe8ac
movq 0x120(%rsp), %rbp
movq 0x128(%rsp), %r15
cmpq %r15, %rbp
je 0x7b2c
movl $0xd, %ecx
leaq 0x230(%rsp), %rdi
movq %rbp, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq 0x8(%rsp), %rax
shlq $0x5, %rax
addq %rsp, %rax
addq $0x340, %rax            # imm = 0x340
cmpq %rax, 0x290(%rsp)
jne 0x9120
movq %rbx, %rdi
leaq 0x1dfd1(%rip), %rsi     # 0x25913
callq 0xa028
movq 0x8(%rsp), %rax
shlq $0x5, %rax
addq %rsp, %rax
addq $0x340, %rax            # imm = 0x340
movq %rax, 0x180(%rsp)
leaq 0x180(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x1c6a(%rip), %rax      # 0x95df
movq %rax, 0x18(%rsp)
leaq 0x1c5f(%rip), %rax      # 0x95e0
movq %rax, 0x20(%rsp)
movq %rbx, %rdi
leaq 0x10(%rsp), %rsi
callq 0x114e1
leaq 0x290(%rsp), %rcx
movq %rcx, 0x10(%rsp)
leaq 0xac03(%rip), %rcx      # 0x125aa
movq %rcx, 0x18(%rsp)
leaq 0xabf8(%rip), %rcx      # 0x125ab
movq %rcx, 0x20(%rsp)
movq %rax, %rdi
leaq 0x10(%rsp), %rsi
callq 0x114e1
leaq 0x148(%rsp), %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x148(%rsp), %rsi
movq 0x150(%rsp), %rdx
movq 0x665d4(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x7a16
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x7a32
movq 0x30(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x65d3f(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x7a7b
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r13)
movdqu %xmm0, 0x10(%r13)
movdqu %xmm0, (%r13)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq %r14, %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x7adf
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x7b0f
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
movq %r12, 0x58(%rsp)
movl %r12d, 0x60(%rsp)
movq %r12, 0x68(%rsp)
movl %r12d, 0x70(%rsp)
movq %r12, 0x78(%rsp)
movq %rbx, %rdi
callq 0xe8ac
addq $0x68, %rbp
cmpq %r15, %rbp
jne 0x7905
movq 0x120(%rsp), %rbp
testq %rbp, %rbp
je 0x7b44
movq 0x130(%rsp), %rsi
subq %rbp, %rsi
movq %rbp, %rdi
callq 0x4210
movq 0x8(%rsp), %rax
incq %rax
movq %rax, 0x8(%rsp)
cmpq $0xa, %rax
leaq 0x148(%rsp), %r15
jb 0x75a6
jmp 0x7b9e
movq 0x6645c(%rip), %rax     # 0x6dfc8
movq (%rax), %rdi
leaq 0x2d9b9(%rip), %rsi     # 0x3552f
movq %rdx, %r15
movq %rbx, %rdx
xorl %eax, %eax
callq 0x42d0
movq %r15, %rdx
movq 0x120(%rsp), %rbp
movq 0x128(%rsp), %r15
movq %rbp, %rax
jmp 0x76db
movq $0x0, 0x8(%rsp)
leaq 0xd8(%rbx), %rax
movq %rax, 0x178(%rsp)
leaq 0x80(%rbx), %rbp
leaq 0xb0(%rbx), %rax
movq %rax, 0x30(%rsp)
xorl %ebx, %ebx
xorl %eax, %eax
movabsq $0x4ec4ec4ec4ec4ec5, %r13 # imm = 0x4EC4EC4EC4EC4EC5
shlq $0x5, %rax
movl 0x340(%rsp,%rax), %ecx
movl 0x344(%rsp,%rax), %edx
addl $0xb, %ecx
movq %rcx, 0x1c0(%rsp)
movq %rdx, 0x1c8(%rsp)
movq 0x348(%rsp,%rax), %xmm0
pxor %xmm1, %xmm1
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqu %xmm0, 0x1d0(%rsp)
movd 0x34c(%rsp,%rax), %xmm0
punpcklbw %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqu %xmm0, 0x1e0(%rsp)
movdqa %xmm1, 0x180(%rsp)
movq $0x0, 0x190(%rsp)
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x7ce6
leaq 0x1a0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x1c8(%rsp), %rcx
movdqu 0x1d0(%rsp), %xmm0
movdqu 0x1e0(%rsp), %xmm1
leaq 0x48(%rsp), %rdx
movdqu %xmm1, 0x20(%rdx)
movdqu %xmm0, 0x10(%rdx)
movq %rax, (%rdx)
movq %rcx, 0x8(%rdx)
leaq 0x180(%rsp), %rax
movq %rax, 0x78(%rsp)
movq $0x0, 0x80(%rsp)
leaq 0x40(%rsp), %rsi
callq 0x135e8
movq 0x80(%rsp), %r12
movq 0x180(%rsp), %rax
movq 0x188(%rsp), %rdx
movq %rax, %rsi
movq %rdx, %rcx
jmp 0x7cf1
xorl %eax, %eax
xorl %edx, %edx
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r12d, %r12d
subq %rsi, %rcx
sarq $0x3, %rcx
imulq %r13, %rcx
cmpq %rcx, %r12
jne 0x8377
movq %rdx, %rcx
subq %rsi, %rcx
sarq $0x3, %rcx
imulq %r13, %rcx
cmpq %rcx, %r12
jne 0x913f
cmpq %rax, %rdx
leaq 0x10(%rsp), %r12
je 0x8150
movl $0x15, %edx
movq 0x6628a(%rip), %rdi     # 0x6dfc0
leaq 0x1dc08(%rip), %rsi     # 0x25945
callq 0x4250
leaq 0x40(%rsp), %rdi
leaq 0x1db79(%rip), %rsi     # 0x258c7
callq 0xa028
movq %r15, %rdi
leaq 0x1c0(%rsp), %rsi
callq 0xa84b
movq %r15, 0x10(%rsp)
leaq 0xb46b(%rip), %rax      # 0x131da
movq %rax, 0x18(%rsp)
leaq 0xb460(%rip), %rax      # 0x131db
movq %rax, 0x20(%rsp)
leaq 0x40(%rsp), %rdi
movq %r12, %rsi
callq 0x114e1
leaq 0x230(%rsp), %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x230(%rsp), %rsi
movq 0x238(%rsp), %rdx
movq 0x6620c(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x7dde
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x7e03
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x7e22
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x6594f(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x7e6b
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%rbp)
movdqu %xmm0, 0x10(%rbp)
movdqu %xmm0, (%rbp)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x7ece
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x7efc
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
movq %rbx, 0x58(%rsp)
movl %ebx, 0x60(%rsp)
movq %rbx, 0x68(%rsp)
movl %ebx, 0x70(%rsp)
movq %rbx, 0x78(%rsp)
leaq 0x40(%rsp), %r13
movq %r13, %rdi
callq 0xe8ac
movq 0x180(%rsp), %r12
movq 0x188(%rsp), %r15
cmpq %r15, %r12
je 0x8334
movl $0xd, %ecx
leaq 0x230(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %r13, %rdi
leaq 0x1da19(%rip), %rsi     # 0x2595b
callq 0xa028
leaq 0x10(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
callq 0xa3cb
movq %r13, 0x120(%rsp)
leaq 0xb274(%rip), %rax      # 0x131da
movq %rax, 0x128(%rsp)
leaq 0xb266(%rip), %rax      # 0x131db
movq %rax, 0x130(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %r14
movq %r14, %rsi
callq 0x114e1
leaq 0x290(%rsp), %rcx
movq %rcx, 0x120(%rsp)
leaq 0xa601(%rip), %rcx      # 0x125aa
movq %rcx, 0x128(%rsp)
leaq 0xa5f3(%rip), %rcx      # 0x125ab
movq %rcx, 0x130(%rsp)
movq %rax, %rdi
movq %r14, %rsi
callq 0x114e1
leaq 0x148(%rsp), %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x148(%rsp), %rsi
movq 0x150(%rsp), %rdx
movq 0x65fce(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x801c
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8038
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x8057
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x6571a(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x80a0
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%rbp)
movdqu %xmm0, 0x10(%rbp)
movdqu %xmm0, (%rbp)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x8103
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x8131
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
movq %rbx, 0x58(%rsp)
movl %ebx, 0x60(%rsp)
movq %rbx, 0x68(%rsp)
movl %ebx, 0x70(%rsp)
movq %rbx, 0x78(%rsp)
leaq 0x40(%rsp), %r13
movq %r13, %rdi
callq 0xe8ac
addq $0x68, %r12
cmpq %r15, %r12
jne 0x7f22
jmp 0x832c
movl $0x19, %edx
movq 0x65e64(%rip), %rdi     # 0x6dfc0
leaq 0x1d7c8(%rip), %rsi     # 0x2592b
callq 0x4250
leaq 0x40(%rsp), %rdi
leaq 0x1d753(%rip), %rsi     # 0x258c7
callq 0xa028
movq %r15, %rdi
leaq 0x1c0(%rsp), %rsi
callq 0xa84b
movq %r15, 0x10(%rsp)
leaq 0xb045(%rip), %rax      # 0x131da
movq %rax, 0x18(%rsp)
leaq 0xb03a(%rip), %rax      # 0x131db
movq %rax, 0x20(%rsp)
leaq 0x40(%rsp), %rdi
movq %r12, %rsi
callq 0x114e1
leaq 0x230(%rsp), %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x230(%rsp), %rsi
movq 0x238(%rsp), %rdx
movq 0x65de6(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x8204
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x8229
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x8248
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x65529(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x8291
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%rbp)
movdqu %xmm0, 0x10(%rbp)
movdqu %xmm0, (%rbp)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x82f4
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x8322
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
movq %rbx, 0x58(%rsp)
movl %ebx, 0x60(%rsp)
movq %rbx, 0x68(%rsp)
movl %ebx, 0x70(%rsp)
movq %rbx, 0x78(%rsp)
leaq 0x40(%rsp), %rdi
callq 0xe8ac
movq 0x180(%rsp), %r12
testq %r12, %r12
je 0x834c
movq 0x190(%rsp), %rsi
subq %r12, %rsi
movq %r12, %rdi
callq 0x4210
movq 0x8(%rsp), %rax
incq %rax
movq %rax, 0x8(%rsp)
cmpq $0xa, %rax
leaq 0x148(%rsp), %r15
movabsq $0x4ec4ec4ec4ec4ec5, %r13 # imm = 0x4EC4EC4EC4EC4EC5
jb 0x7bd7
jmp 0x83aa
movq 0x65c4a(%rip), %rax     # 0x6dfc8
movq (%rax), %rdi
leaq 0x2d1a7(%rip), %rsi     # 0x3552f
movq %r12, %rdx
xorl %eax, %eax
callq 0x42d0
movq 0x180(%rsp), %rax
movq 0x188(%rsp), %rdx
movq %rax, %rsi
jmp 0x7d05
movq $0x0, 0x8(%rsp)
leaq 0x40(%rsp), %rax
leaq 0xd8(%rax), %rcx
movq %rcx, 0x178(%rsp)
leaq 0x80(%rax), %r13
addq $0xb0, %rax
movq %rax, 0x30(%rsp)
leaq 0x1c0(%rsp), %rbp
xorl %eax, %eax
leaq 0x230(%rsp), %r14
shlq $0x5, %rax
addq %rsp, %rax
addq $0x340, %rax            # imm = 0x340
movzwl 0x8(%rax), %ecx
movzwl 0xa(%rax), %edx
movzbl 0xc(%rax), %esi
movzbl 0xd(%rax), %edi
movq (%rax), %xmm0
pxor %xmm1, %xmm1
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
pcmpeqd %xmm2, %xmm2
paddq %xmm2, %xmm0
movdqa %xmm0, 0x230(%rsp)
decq %rcx
movq %rcx, 0x240(%rsp)
decq %rdx
movq %rdx, 0x248(%rsp)
decq %rsi
movq %rsi, 0x250(%rsp)
decq %rdi
movq %rdi, 0x258(%rsp)
movzbl 0x1c(%rax), %ecx
movzbl 0x1d(%rax), %edx
movq 0x10(%rax), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
psubq %xmm2, %xmm0
movdqa %xmm0, 0x260(%rsp)
movq 0x18(%rax), %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
psubd %xmm2, %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqa %xmm0, 0x270(%rsp)
incq %rcx
movq %rcx, 0x280(%rsp)
incq %rdx
movq %rdx, 0x288(%rsp)
movq %rax, 0x290(%rsp)
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x8832
movq %rbp, %r12
movq %r14, 0x40(%rsp)
leaq 0x1a0(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movq %rax, 0x58(%rsp)
leaq 0x1b0(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x1a8(%rsp), %rax
movq %rax, 0x68(%rsp)
xorl %ecx, %ecx
movb %cl, 0x70(%rsp)
leaq 0x78(%rsp), %rax
movb %cl, 0x30(%rax)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%rax)
movdqu %xmm0, 0x10(%rax)
movdqu %xmm0, (%rax)
leaq 0x40(%rsp), %rsi
callq 0x138b6
movb 0x70(%rsp), %bpl
cmpb $0x1, %bpl
jne 0x8542
movq 0x1a0(%rsp), %rax
testq %rax, %rax
je 0x915e
decq %rax
movq %rax, 0x1a0(%rsp)
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x855c
movq 0x88(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
testb %bpl, %bpl
leaq 0x230(%rsp), %r14
movq %r12, %rbp
je 0x8832
leaq 0x40(%rsp), %r14
movq %r14, %rdi
leaq 0x1d3e4(%rip), %rsi     # 0x25963
callq 0xa028
movq 0x1a0(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x10(%rsp), %rax
movq %rax, 0x148(%rsp)
leaq 0x9ffc(%rip), %rax      # 0x125a1
movq %rax, 0x150(%rsp)
leaq 0x9fee(%rip), %rax      # 0x125a2
movq %rax, 0x158(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x114e1
movq %rbp, %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x1c0(%rsp), %rsi
movq 0x1c8(%rsp), %rdx
movq 0x659d7(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x8613
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x8632
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x6513f(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x867b
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r13)
movdqu %xmm0, 0x10(%r13)
movdqu %xmm0, (%r13)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x86e1
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x8711
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
xorl %eax, %eax
movq %rax, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq %rax, 0x78(%rsp)
leaq 0x40(%rsp), %r14
movq %r14, %rdi
callq 0xe8ac
movq 0x8(%rsp), %rax
shlq $0x5, %rax
movl 0x340(%rsp,%rax), %ecx
movl 0x344(%rsp,%rax), %edx
incl %ecx
movq %rcx, 0x148(%rsp)
movq %rdx, 0x150(%rsp)
movq 0x348(%rsp,%rax), %xmm0
pxor %xmm1, %xmm1
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqu %xmm0, 0x158(%rsp)
movd 0x34c(%rsp,%rax), %xmm0
punpcklbw %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movdqu %xmm0, 0x168(%rsp)
movdqa %xmm1, 0x2a0(%rsp)
movq $0x0, 0x2b0(%rsp)
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x8a2a
leaq 0x1a0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
movdqu 0x158(%rsp), %xmm0
movdqu 0x168(%rsp), %xmm1
leaq 0x48(%rsp), %rdx
movdqu %xmm1, 0x20(%rdx)
movdqu %xmm0, 0x10(%rdx)
movq %rax, (%rdx)
movq %rcx, 0x8(%rdx)
leaq 0x2a0(%rsp), %rax
movq %rax, 0x78(%rsp)
movq $0x0, 0x80(%rsp)
movq %r14, %rsi
callq 0x135e8
movq 0x80(%rsp), %r14
movq 0x2a0(%rsp), %rax
movq 0x2a8(%rsp), %rdx
movq %rax, %rsi
movq %rdx, %rcx
jmp 0x8a35
leaq 0x40(%rsp), %rdi
leaq 0x1d168(%rip), %rsi     # 0x259a6
callq 0xa028
movq %r15, %rdi
movq %r14, %rsi
callq 0xa3cb
movq %r15, 0x10(%rsp)
leaq 0xa980(%rip), %rax      # 0x131da
movq %rax, 0x18(%rsp)
leaq 0xa975(%rip), %rax      # 0x131db
movq %rax, 0x20(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x114e1
leaq 0x290(%rsp), %rcx
movq %rcx, 0x10(%rsp)
leaq 0x9d1c(%rip), %rcx      # 0x125aa
movq %rcx, 0x18(%rsp)
leaq 0x9d11(%rip), %rcx      # 0x125ab
movq %rcx, 0x20(%rsp)
movq %rax, %rdi
leaq 0x10(%rsp), %rsi
callq 0x114e1
movq %rbp, %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x1c0(%rsp), %rsi
movq 0x1c8(%rsp), %rdx
movq 0x656f2(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x88f8
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x891d
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x893c
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x64e35(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x8985
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r13)
movdqu %xmm0, 0x10(%r13)
movdqu %xmm0, (%r13)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x89eb
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x8a1b
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
xorl %eax, %eax
movq %rax, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq %rax, 0x78(%rsp)
leaq 0x40(%rsp), %rdi
callq 0xe8ac
jmp 0x907f
xorl %eax, %eax
xorl %edx, %edx
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r14d, %r14d
subq %rsi, %rcx
sarq $0x3, %rcx
movabsq $0x4ec4ec4ec4ec4ec5, %rbp # imm = 0x4EC4EC4EC4EC4EC5
imulq %rbp, %rcx
cmpq %rcx, %r14
jne 0x9098
movq %rdx, %rcx
subq %rsi, %rcx
sarq $0x3, %rcx
imulq %rbp, %rcx
cmpq %rcx, %r14
jne 0x913f
cmpq %rax, %rdx
movq %r12, %rbp
je 0x8e83
leaq 0x40(%rsp), %rdi
leaq 0x1cf0b(%rip), %rsi     # 0x2598d
callq 0xa028
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0xa84b
movq %r14, 0x120(%rsp)
leaq 0xa734(%rip), %rax      # 0x131da
movq %rax, 0x128(%rsp)
leaq 0xa726(%rip), %rax      # 0x131db
movq %rax, 0x130(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x114e1
movq %rbp, %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x1c0(%rsp), %rsi
movq 0x1c8(%rsp), %rdx
movq 0x654cf(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x8b1b
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8b37
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x8b56
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x64c1b(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x8b9f
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r13)
movdqu %xmm0, 0x10(%r13)
movdqu %xmm0, (%r13)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x8c05
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x8c35
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
xorl %eax, %eax
movq %rax, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq %rax, 0x78(%rsp)
leaq 0x40(%rsp), %rbp
movq %rbp, %rdi
callq 0xe8ac
movq 0x2a0(%rsp), %r14
movq 0x2a8(%rsp), %r15
cmpq %r15, %r14
je 0x9054
movl $0xd, %ecx
movq %r12, %rbx
movq %r12, %rdi
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %rbp, %rdi
leaq 0x1cce5(%rip), %rsi     # 0x2595b
callq 0xa028
leaq 0x120(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xa3cb
movq %rbp, 0x180(%rsp)
leaq 0xa53d(%rip), %rax      # 0x131da
movq %rax, 0x188(%rsp)
leaq 0xa52f(%rip), %rax      # 0x131db
movq %rax, 0x190(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x180(%rsp), %rbx
movq %rbx, %rsi
callq 0x114e1
leaq 0x220(%rsp), %rcx
movq %rcx, 0x180(%rsp)
leaq 0x98ca(%rip), %rcx      # 0x125aa
movq %rcx, 0x188(%rsp)
leaq 0x98bc(%rip), %rcx      # 0x125ab
movq %rcx, 0x190(%rsp)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x114e1
leaq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x652a0(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8d41
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x8d66
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x8d85
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x649ec(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x8dce
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r13)
movdqu %xmm0, 0x10(%r13)
movdqu %xmm0, (%r13)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x8e34
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x8e64
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
xorl %eax, %eax
movq %rax, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq %rax, 0x78(%rsp)
leaq 0x40(%rsp), %rbp
movq %rbp, %rdi
callq 0xe8ac
addq $0x68, %r14
cmpq %r15, %r14
jne 0x8c5b
jmp 0x904c
leaq 0x40(%rsp), %rdi
leaq 0x1cae1(%rip), %rsi     # 0x25970
callq 0xa028
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0xa84b
movq %r14, 0x120(%rsp)
leaq 0xa327(%rip), %rax      # 0x131da
movq %rax, 0x128(%rsp)
leaq 0xa319(%rip), %rax      # 0x131db
movq %rax, 0x130(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x114e1
movq %rbp, %rdi
movq %rax, %rsi
callq 0xa19e
movq 0x1c0(%rsp), %rsi
movq 0x1c8(%rsp), %rdx
movq 0x650c2(%rip), %rdi     # 0x6dfc0
callq 0x4250
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x8f28
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8f44
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4210
cmpb $0x1, 0x110(%rsp)
jne 0x8f63
movq 0x178(%rsp), %rdi
callq 0x42c0
movb $0x0, 0x110(%rsp)
leaq 0x6480e(%rip), %rax     # 0x6d778
movq %rax, 0xb8(%rsp)
cmpb $0x1, 0x100(%rsp)
jne 0x8fac
movq 0xc0(%rsp), %rdi
cmpq $0x0, 0xe0(%rsp)
leaq 0xe8(%rsp), %rax
leaq 0xd0(%rsp), %rcx
cmoveq %rcx, %rax
movq (%rax), %rsi
subq %rdi, %rsi
callq 0x4210
movb $0x0, 0x100(%rsp)
movq $0x0, 0xf8(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r13)
movdqu %xmm0, 0x10(%r13)
movdqu %xmm0, (%r13)
movq 0x38(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x42c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x9012
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x9042
movq 0x78(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
xorl %eax, %eax
movq %rax, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq %rax, 0x78(%rsp)
leaq 0x40(%rsp), %rdi
callq 0xe8ac
movq 0x2a0(%rsp), %r14
testq %r14, %r14
je 0x906c
movq 0x2b0(%rsp), %rsi
subq %r14, %rsi
movq %r14, %rdi
callq 0x4210
leaq 0x148(%rsp), %r15
leaq 0x230(%rsp), %r14
movq %r12, %rbp
movq 0x8(%rsp), %rax
incq %rax
movq %rax, 0x8(%rsp)
cmpq $0xa, %rax
jb 0x83eb
jmp 0x90cb
movq 0x64f29(%rip), %rax     # 0x6dfc8
movq (%rax), %rdi
leaq 0x2c486(%rip), %rsi     # 0x3552f
movq %r14, %rdx
xorl %eax, %eax
callq 0x42d0
movq 0x2a0(%rsp), %rax
movq 0x2a8(%rsp), %rdx
movq %rax, %rsi
jmp 0x8a53
movq 0x2c0(%rsp), %rdi
testq %rdi, %rdi
je 0x90e8
movq 0x2d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x910e
leaq 0x40(%rsp), %rsi
movq %rdi, (%rsi)
leaq 0x1a0(%rsp), %rax
movq %rax, 0x8(%rsi)
callq 0xc7ba
addq $0x488, %rsp            # imm = 0x488
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1c7bb(%rip), %rdi     # 0x258e2
leaq 0x1c76a(%rip), %rsi     # 0x25898
leaq 0x1c770(%rip), %rcx     # 0x258a5
movl $0x205, %edx            # imm = 0x205
callq 0x4140
leaq 0x2c402(%rip), %rdi     # 0x35548
leaq 0x2c409(%rip), %rsi     # 0x35556
leaq 0x2c40e(%rip), %rcx     # 0x35562
movl $0x23d, %edx            # imm = 0x23D
callq 0x4140
leaq 0x2c80b(%rip), %rdi     # 0x35970
leaq 0x1c865(%rip), %rsi     # 0x259d1
leaq 0x2c448(%rip), %rcx     # 0x355bb
movl $0x6b5, %edx            # imm = 0x6B5
callq 0x4140
leaq 0x1c704(%rip), %rdi     # 0x25888
leaq 0x1c70d(%rip), %rsi     # 0x25898
leaq 0x1c713(%rip), %rcx     # 0x258a5
movl $0x1e3, %edx            # imm = 0x1E3
callq 0x4140
jmp 0x93e4
movq %rax, %rdi
callq 0xab97
jmp 0x93fd
movq %rax, %rbx
leaq 0x240(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x91dc
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x91dc
jmp 0x93fd
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa34a
jmp 0x95ca
jmp 0x91f7
jmp 0x9465
jmp 0x948b
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x92b7
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x92b7
jmp 0x9465
jmp 0x948b
jmp 0x948b
jmp 0x92b4
jmp 0x93e4
jmp 0x93ec
jmp 0x9245
movq %rax, %rbx
jmp 0x92fc
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x92d7
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x92d7
jmp 0x93e4
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x9456
movq 0x1d0(%rsp), %rsi
jmp 0x944e
jmp 0x950a
jmp 0x9381
jmp 0x950f
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x94b8
movq 0x20(%rsp), %rsi
jmp 0x94b0
movq %rax, %rbx
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x92fc
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x4210
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x9456
movq 0x20(%rsp), %rsi
jmp 0x944e
jmp 0x953e
jmp 0x9583
jmp 0x953e
movq %rax, %rbx
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x9517
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x9517
jmp 0x93ec
movq %rax, %rbx
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x95ad
movq 0x88(%rsp), %rsi
jmp 0x95a5
jmp 0x950f
movq %rax, %rbx
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x9408
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x9408
jmp 0x950f
jmp 0x950a
jmp 0x953e
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x9431
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x9431
movq %rax, %rbx
jmp 0x95ad
movq %rax, %rbx
jmp 0x9456
jmp 0x9405
jmp 0x950f
jmp 0x9514
movq %rax, %rbx
jmp 0x95ca
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x9562
movq 0x158(%rsp), %rsi
jmp 0x955a
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x9456
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
leaq 0x40(%rsp), %rdi
callq 0xa34a
jmp 0x95ad
movq %rax, %rbx
jmp 0x94b8
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x9493
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x9493
movq %rax, %rbx
jmp 0x94c2
movq %rax, %rbx
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x94b8
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x4210
leaq 0x40(%rsp), %rdi
callq 0xa34a
movq 0x2a0(%rsp), %rdi
testq %rdi, %rdi
je 0x95ad
movq 0x2b0(%rsp), %rsi
jmp 0x95a5
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x9546
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x9546
movq %rax, %rbx
jmp 0x9562
movq %rax, %rbx
jmp 0x956c
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x9586
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x4210
jmp 0x9586
movq %rax, %rbx
jmp 0x9590
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x9562
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x4210
leaq 0x40(%rsp), %rdi
callq 0xa34a
movq 0x180(%rsp), %rdi
testq %rdi, %rdi
je 0x95ad
movq 0x190(%rsp), %rsi
jmp 0x95a5
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa34a
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x95ad
movq 0x130(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
movq 0x2c0(%rsp), %rdi
testq %rdi, %rdi
je 0x95ca
movq 0x2d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4210
leaq 0x1a0(%rsp), %rdi
callq 0xab32
movq %rbx, %rdi
callq 0x4370