// File: ttalvitie[P]traveling-santa/optimize.cpp
// Function: main
int main() {
	unsigned int seed = random_device{}();
	cout << "Using random seed " << seed << "\n";
	rng.seed(seed);

    double initTemp = exp(uniform_real_distribution<double>(log(5000.0), log(50000.0))(rng));
    cout << "Initial temperature " << initTemp << "\n";

    Z initWtLimit = 0;
    initWtLimit = max(initWtLimit, uniform_int_distribution<Z>(0, FinalWtLimit)(rng));
    initWtLimit = max(initWtLimit, uniform_int_distribution<Z>(0, FinalWtLimit)(rng));
    cout << "Initial weight limit " << initWtLimit << "\n";

    Z endWtLimit = 2 * FinalWtLimit;
    endWtLimit = min(endWtLimit, uniform_int_distribution<Z>(FinalWtLimit, 2 * FinalWtLimit)(rng));
    endWtLimit = min(endWtLimit, uniform_int_distribution<Z>(FinalWtLimit, 2 * FinalWtLimit)(rng));
    cout << "End weight limit " << endWtLimit << " (capped to " << FinalWtLimit << ")\n";

    long long iterations = (long long)3e11;
    cout << "Running " << (double)iterations << " iterations\n";

    cout << "Constructing initial paths\n";

    vector<Path> paths = initialPaths(initWtLimit);

    double cost = 0.0;
    for(const Path& path : paths) {
        cost += path.cost;
    }

    cout << "Initially " << len(paths) << " paths, cost = " << cost << "\n";

    for(long long iter = 0; iter < iterations; ++iter) {
        double prog = (double)iter / (double)iterations;
        auto temp = [&]() {
            double t = (1.0 - (double)iter / (double)iterations);
            return t * t * initTemp;
        };
        Z wtLimit = min(initWtLimit + iter * (endWtLimit - initWtLimit) / iterations, FinalWtLimit);

        if(!(iter & 0xFFFFFF)) {
            cout << "cost = " << cost << ", progress = " << prog << ", temperature = " << temp() << ", weight limit " << wtLimit << "\n";
        }
        if(!(iter & 0xFFF)) {
            int emptyCount = 0;
            int i = 0;
            while(i < len(paths)) {
                if(len(paths[i].points) == 2) {
                    if(emptyCount >= 200) {
                        swap(paths[i], paths.back());
                        paths.pop_back();
                        continue;
                    }
                    ++emptyCount;
                }
                ++i;
            }
            while(emptyCount < 200) {
                Path path;
                path.points.push_back(Korvatunturi);
                path.points.push_back(Korvatunturi);
                path.finalize();
                paths.push_back(move(path));
                ++emptyCount;
            }
        }

        int type = uniform_int_distribution<int>(0, 3)(rng);
        if(type == 0) {
            int ap = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            int bp = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            if(ap == bp) continue;
            int ai = uniform_int_distribution<int>(1, len(paths[ap].points) - 1)(rng);
            int bi = uniform_int_distribution<int>(1, len(paths[bp].points) - 1)(rng);

            if(paths[ap].points[ai - 1].leftWt + paths[bp].points[bi].rightWt > wtLimit) continue;
            if(paths[bp].points[bi - 1].leftWt + paths[ap].points[ai].rightWt > wtLimit) continue;

            double costDiff = 0.0;
            costDiff -= sphereDist(paths[ap].points[ai - 1].pos, paths[ap].points[ai].pos);
            costDiff -= sphereDist(paths[bp].points[bi - 1].pos, paths[bp].points[bi].pos);
            costDiff += sphereDist(paths[ap].points[ai - 1].pos, paths[bp].points[bi].pos);
            costDiff += sphereDist(paths[bp].points[bi - 1].pos, paths[ap].points[ai].pos);

            if(costDiff <= 0.0 || uniform_real_distribution(0.0, 1.0)(rng) < exp(-costDiff / temp())) {
                cost += costDiff;

                int ae = len(paths[ap].points);
                int be = len(paths[bp].points);
                paths[ap].points.insert(paths[ap].points.end(), paths[bp].points.begin() + bi, paths[bp].points.begin() + be);
                paths[bp].points.insert(paths[bp].points.end(), paths[ap].points.begin() + ai, paths[ap].points.begin() + ae);
                paths[ap].points.erase(paths[ap].points.begin() + ai, paths[ap].points.begin() + ae);
                paths[bp].points.erase(paths[bp].points.begin() + bi, paths[bp].points.begin() + be);

                paths[ap].finalize();
                paths[bp].finalize();
            }
        }
        if(type == 1) {
            int p = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            int i = uniform_int_distribution<int>(1, len(paths[p].points) - 1)(rng);
            int j = uniform_int_distribution<int>(1, len(paths[p].points) - 1)(rng);
            if(i > j) swap(i, j);
            if(j - i < 2) continue;

            double costDiff = 0.0;
            costDiff -= sphereDist(paths[p].points[i - 1].pos, paths[p].points[i].pos);
            costDiff -= sphereDist(paths[p].points[j - 1].pos, paths[p].points[j].pos);
            costDiff += sphereDist(paths[p].points[i - 1].pos, paths[p].points[j - 1].pos);
            costDiff += sphereDist(paths[p].points[j].pos, paths[p].points[i].pos);

            if(costDiff <= 0.0 || uniform_real_distribution(0.0, 1.0)(rng) < exp(-costDiff / temp())) {
                cost += costDiff;

                reverse(paths[p].points.begin() + i, paths[p].points.begin() + j);

                paths[p].finalize();
            }
        }
        if(type == 2) {
            int ap = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            int bp = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            if(ap == bp) continue;
            int as = uniform_int_distribution<int>(1, len(paths[ap].points) - 1)(rng);
            int ae = uniform_int_distribution<int>(1, len(paths[ap].points) - 1)(rng);
            int bs = uniform_int_distribution<int>(1, len(paths[bp].points) - 1)(rng);
            int be = uniform_int_distribution<int>(1, len(paths[bp].points) - 1)(rng);

            if(as > ae) swap(as, ae);
            if(bs > be) swap(bs, be);

            if(ae == as) continue;
            if(be == bs) continue;

            const Point& as1 = paths[ap].points[as - 1];
            const Point& as2 = paths[ap].points[as];
            const Point& ae1 = paths[ap].points[ae - 1];
            const Point& ae2 = paths[ap].points[ae];
            const Point& bs1 = paths[bp].points[bs - 1];
            const Point& bs2 = paths[bp].points[bs];
            const Point& be1 = paths[bp].points[be - 1];
            const Point& be2 = paths[bp].points[be];

            Z aWt1 = as1.leftWt;
            Z aWt2 = ae1.leftWt - aWt1;
            Z aWt3 = ae2.rightWt;
            Z bWt1 = bs1.leftWt;
            Z bWt2 = be1.leftWt - bWt1;
            Z bWt3 = be2.rightWt;

            if(aWt1 + bWt2 + aWt3 > wtLimit) continue;
            if(bWt1 + aWt2 + bWt3 > wtLimit) continue;

            double costDiff = 0.0;
            costDiff -= sphereDist(as1.pos, as2.pos);
            costDiff -= sphereDist(ae1.pos, ae2.pos);
            costDiff -= sphereDist(bs1.pos, bs2.pos);
            costDiff -= sphereDist(be1.pos, be2.pos);
            costDiff += sphereDist(as1.pos, bs2.pos);
            costDiff += sphereDist(ae1.pos, be2.pos);
            costDiff += sphereDist(bs1.pos, as2.pos);
            costDiff += sphereDist(be1.pos, ae2.pos);

            if(costDiff <= 0.0 || uniform_real_distribution(0.0, 1.0)(rng) < exp(-costDiff / temp())) {
                cost += costDiff;

                paths[ap].points.insert(paths[ap].points.begin() + ae, paths[bp].points.begin() + bs, paths[bp].points.begin() + be);
                paths[bp].points.insert(paths[bp].points.begin() + be, paths[ap].points.begin() + as, paths[ap].points.begin() + ae);
                paths[ap].points.erase(paths[ap].points.begin() + as, paths[ap].points.begin() + ae);
                paths[bp].points.erase(paths[bp].points.begin() + bs, paths[bp].points.begin() + be);

                paths[ap].finalize();
                paths[bp].finalize();
            }
        }
        if(type == 3) {
            int ap = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            int bp = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            int cp = uniform_int_distribution<int>(0, len(paths) - 1)(rng);
            if(ap == bp || ap == cp || bp == cp) continue;
            int ai = uniform_int_distribution<int>(1, len(paths[ap].points) - 1)(rng);
            int bi = uniform_int_distribution<int>(1, len(paths[bp].points) - 1)(rng);
            int ci = uniform_int_distribution<int>(1, len(paths[cp].points) - 1)(rng);

            if(paths[ap].points[ai - 1].leftWt + paths[bp].points[bi].rightWt > wtLimit) continue;
            if(paths[bp].points[bi - 1].leftWt + paths[cp].points[ci].rightWt > wtLimit) continue;
            if(paths[cp].points[ci - 1].leftWt + paths[ap].points[ai].rightWt > wtLimit) continue;

            double costDiff = 0.0;
            costDiff -= sphereDist(paths[ap].points[ai - 1].pos, paths[ap].points[ai].pos);
            costDiff -= sphereDist(paths[bp].points[bi - 1].pos, paths[bp].points[bi].pos);
            costDiff -= sphereDist(paths[cp].points[ci - 1].pos, paths[cp].points[ci].pos);
            costDiff += sphereDist(paths[ap].points[ai - 1].pos, paths[bp].points[bi].pos);
            costDiff += sphereDist(paths[bp].points[bi - 1].pos, paths[cp].points[ci].pos);
            costDiff += sphereDist(paths[cp].points[ci - 1].pos, paths[ap].points[ai].pos);

            if(costDiff <= 0.0 || uniform_real_distribution(0.0, 1.0)(rng) < exp(-costDiff / temp())) {
                cost += costDiff;

                int ae = len(paths[ap].points);
                int be = len(paths[bp].points);
                int ce = len(paths[cp].points);
                paths[ap].points.insert(paths[ap].points.end(), paths[bp].points.begin() + bi, paths[bp].points.begin() + be);
                paths[bp].points.insert(paths[bp].points.end(), paths[cp].points.begin() + ci, paths[cp].points.begin() + ce);
                paths[cp].points.insert(paths[cp].points.end(), paths[ap].points.begin() + ai, paths[ap].points.begin() + ae);
                paths[ap].points.erase(paths[ap].points.begin() + ai, paths[ap].points.begin() + ae);
                paths[bp].points.erase(paths[bp].points.begin() + bi, paths[bp].points.begin() + be);
                paths[cp].points.erase(paths[cp].points.begin() + ci, paths[cp].points.begin() + ce);

                paths[ap].finalize();
                paths[bp].finalize();
                paths[cp].finalize();
            }
        }
    }

    cout << "cost = " << cost << "\n";

    writeOutput(paths);

    return 0;
}

// Assembly:
subq $0x2438, %rsp           # imm = 0x2438
movl $0x0, 0x2434(%rsp)
leaq 0x10a8(%rsp), %rdi
movq %rdi, 0x4c0(%rsp)
callq 0x9960
movq 0x4c0(%rsp), %rdi
callq 0x9a00
movl %eax, 0x4cc(%rsp)
jmp 0x4dad
leaq 0x10a8(%rsp), %rdi
callq 0x9a10
movl 0x4cc(%rsp), %eax
movl %eax, 0x2430(%rsp)
movq 0xe209(%rip), %rdi      # 0x12fd8
leaq 0xa2e0(%rip), %rsi      # 0xf0b6
callq 0x3270
movq %rax, %rdi
movl 0x2430(%rsp), %esi
callq 0x3320
movq %rax, %rdi
leaq 0xa320(%rip), %rsi      # 0xf114
callq 0x3270
movl 0x2430(%rsp), %eax
movl %eax, %esi
leaq 0xe4af(%rip), %rdi      # 0x132b8
callq 0x9a30
movsd 0xa232(%rip), %xmm0     # 0xf048
callq 0x31c0
movsd %xmm0, 0x4b8(%rsp)
movsd 0xa214(%rip), %xmm0     # 0xf040
callq 0x31c0
movaps %xmm0, %xmm1
movsd 0x4b8(%rsp), %xmm0
leaq 0x1080(%rsp), %rdi
callq 0x9b00
leaq 0x1080(%rsp), %rdi
leaq 0xe45f(%rip), %rsi      # 0x132b8
callq 0x9b30
callq 0x3430
movsd %xmm0, 0x1090(%rsp)
movq 0xe165(%rip), %rdi      # 0x12fd8
leaq 0xa24f(%rip), %rsi      # 0xf0c9
callq 0x3270
movq %rax, %rdi
movsd 0x1090(%rsp), %xmm0
callq 0x3470
movq %rax, %rdi
leaq 0xa27a(%rip), %rsi      # 0xf114
callq 0x3270
movq $0x0, 0x1078(%rsp)
leaq 0x1060(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x989680, %edx         # imm = 0x989680
callq 0x9ba0
leaq 0x1060(%rsp), %rdi
leaq 0xe3e8(%rip), %rsi      # 0x132b8
callq 0x9bd0
movq %rax, 0x1070(%rsp)
leaq 0x1078(%rsp), %rdi
leaq 0x1070(%rsp), %rsi
callq 0x9b60
movq (%rax), %rax
movq %rax, 0x1078(%rsp)
leaq 0x1048(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x989680, %edx         # imm = 0x989680
callq 0x9ba0
leaq 0x1048(%rsp), %rdi
leaq 0xe396(%rip), %rsi      # 0x132b8
callq 0x9bd0
movq %rax, 0x1058(%rsp)
leaq 0x1078(%rsp), %rdi
leaq 0x1058(%rsp), %rsi
callq 0x9b60
movq (%rax), %rax
movq %rax, 0x1078(%rsp)
movq 0xe082(%rip), %rdi      # 0x12fd8
leaq 0xa181(%rip), %rsi      # 0xf0de
callq 0x3270
movq %rax, %rdi
movq 0x1078(%rsp), %rsi
callq 0x3100
movq %rax, %rdi
leaq 0xa198(%rip), %rsi      # 0xf114
callq 0x3270
movq $0x1312d00, 0x1040(%rsp) # imm = 0x1312D00
leaq 0x1028(%rsp), %rdi
movl $0x989680, %esi         # imm = 0x989680
movl $0x1312d00, %edx        # imm = 0x1312D00
callq 0x9ba0
leaq 0x1028(%rsp), %rdi
leaq 0xe305(%rip), %rsi      # 0x132b8
callq 0x9bd0
movq %rax, 0x1038(%rsp)
leaq 0x1040(%rsp), %rdi
leaq 0x1038(%rsp), %rsi
callq 0x9c00
movq (%rax), %rax
movq %rax, 0x1040(%rsp)
leaq 0x1010(%rsp), %rdi
movl $0x989680, %esi         # imm = 0x989680
movl $0x1312d00, %edx        # imm = 0x1312D00
callq 0x9ba0
leaq 0x1010(%rsp), %rdi
leaq 0xe2b2(%rip), %rsi      # 0x132b8
callq 0x9bd0
movq %rax, 0x1020(%rsp)
leaq 0x1040(%rsp), %rdi
leaq 0x1020(%rsp), %rsi
callq 0x9c00
movq (%rax), %rax
movq %rax, 0x1040(%rsp)
movq 0xdf9e(%rip), %rdi      # 0x12fd8
leaq 0xa0b3(%rip), %rsi      # 0xf0f4
callq 0x3270
movq %rax, %rdi
movq 0x1040(%rsp), %rsi
callq 0x3100
movq %rax, %rdi
leaq 0xa0a6(%rip), %rsi      # 0xf106
callq 0x3270
movq %rax, %rdi
movl $0x989680, %esi         # imm = 0x989680
callq 0x3100
movq %rax, %rdi
leaq 0xa097(%rip), %rsi      # 0xf113
callq 0x3270
movabsq $0x45d964b800, %rax     # imm = 0x45D964B800
movq %rax, 0x1008(%rsp)
movq 0xdf3e(%rip), %rdi      # 0x12fd8
leaq 0xa075(%rip), %rsi      # 0xf116
callq 0x3270
movq %rax, %rdi
cvtsi2sdq 0x1008(%rsp), %xmm0
callq 0x3470
movq %rax, %rdi
leaq 0xa05d(%rip), %rsi      # 0xf11f
callq 0x3270
movq 0xdf0a(%rip), %rdi      # 0x12fd8
leaq 0xa057(%rip), %rsi      # 0xf12c
callq 0x3270
movq 0x1078(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x3a10
xorps %xmm0, %xmm0
movsd %xmm0, 0xfe8(%rsp)
leaq 0xff0(%rsp), %rax
movq %rax, 0xfe0(%rsp)
movq 0xfe0(%rsp), %rdi
callq 0x97a0
movq %rax, 0xfd8(%rsp)
movq 0xfe0(%rsp), %rdi
callq 0x97d0
movq %rax, 0xfd0(%rsp)
leaq 0xfd8(%rsp), %rdi
leaq 0xfd0(%rsp), %rsi
callq 0x9800
testb $0x1, %al
jne 0x5150
jmp 0x51b9
leaq 0xfd8(%rsp), %rdi
callq 0x9840
movq %rax, 0xfc8(%rsp)
movq 0xfc8(%rsp), %rax
movsd 0x18(%rax), %xmm0
addsd 0xfe8(%rsp), %xmm0
movsd %xmm0, 0xfe8(%rsp)
leaq 0xfd8(%rsp), %rdi
callq 0x9850
jmp 0x5135
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x10a0(%rsp)
movl %eax, 0x109c(%rsp)
leaq 0x10a8(%rsp), %rdi
callq 0x9a10
jmp 0x8c47
movq 0xde18(%rip), %rdi      # 0x12fd8
leaq 0x9f81(%rip), %rsi      # 0xf148
callq 0x3270
movq %rax, 0x4b0(%rsp)
jmp 0x51d6
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x4ac(%rsp)
jmp 0x51ec
movl 0x4ac(%rsp), %esi
movq 0x4b0(%rsp), %rdi
callq 0x3400
movq %rax, 0x4a0(%rsp)
jmp 0x520a
movq 0x4a0(%rsp), %rdi
leaq 0x9f3a(%rip), %rsi      # 0xf153
callq 0x3270
movq %rax, 0x498(%rsp)
jmp 0x5228
movq 0x498(%rsp), %rdi
movsd 0xfe8(%rsp), %xmm0
callq 0x3470
movq %rax, 0x490(%rsp)
jmp 0x5248
movq 0x490(%rsp), %rdi
leaq 0x9ebd(%rip), %rsi      # 0xf114
callq 0x3270
jmp 0x525e
movq $0x0, 0xfc0(%rsp)
movq 0xfc0(%rsp), %rax
cmpq 0x1008(%rsp), %rax
jge 0x8bbd
cvtsi2sdq 0xfc0(%rsp), %xmm0
cvtsi2sdq 0x1008(%rsp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0xfb8(%rsp)
leaq 0xfc0(%rsp), %rax
movq %rax, 0xfa0(%rsp)
leaq 0x1008(%rsp), %rax
movq %rax, 0xfa8(%rsp)
leaq 0x1090(%rsp), %rax
movq %rax, 0xfb0(%rsp)
movq 0x1078(%rsp), %rdx
movq %rdx, 0x480(%rsp)
movq 0xfc0(%rsp), %rax
movq 0x1040(%rsp), %rcx
subq %rdx, %rcx
imulq %rcx, %rax
movq 0x1008(%rsp), %rcx
cqto
idivq %rcx
movq %rax, %rcx
movq 0x480(%rsp), %rax
addq %rcx, %rax
movq %rax, 0xf90(%rsp)
leaq 0x9f06(%rip), %rsi      # 0xf228
leaq 0xf90(%rsp), %rdi
callq 0x9c00
movq %rax, 0x488(%rsp)
jmp 0x5339
movq 0x488(%rsp), %rax
movq (%rax), %rax
movq %rax, 0xf98(%rsp)
movq 0xfc0(%rsp), %rax
andq $0xffffff, %rax         # imm = 0xFFFFFF
cmpq $0x0, %rax
jne 0x54a3
movq 0xdc6d(%rip), %rdi      # 0x12fd8
leaq 0x9de9(%rip), %rsi      # 0xf15b
callq 0x3270
movq %rax, 0x478(%rsp)
jmp 0x5381
movq 0x478(%rsp), %rdi
movsd 0xfe8(%rsp), %xmm0
callq 0x3470
movq %rax, 0x470(%rsp)
jmp 0x53a1
movq 0x470(%rsp), %rdi
leaq 0x9db3(%rip), %rsi      # 0xf163
callq 0x3270
movq %rax, 0x468(%rsp)
jmp 0x53bf
movq 0x468(%rsp), %rdi
movsd 0xfb8(%rsp), %xmm0
callq 0x3470
movq %rax, 0x460(%rsp)
jmp 0x53df
movq 0x460(%rsp), %rdi
leaq 0x9d83(%rip), %rsi      # 0xf171
callq 0x3270
movq %rax, 0x458(%rsp)
jmp 0x53fd
leaq 0xfa0(%rsp), %rdi
callq 0x8c60
movsd %xmm0, 0x450(%rsp)
jmp 0x5415
movsd 0x450(%rsp), %xmm0
movq 0x458(%rsp), %rdi
callq 0x3470
movq %rax, 0x448(%rsp)
jmp 0x5435
movq 0x448(%rsp), %rdi
leaq 0x9d3e(%rip), %rsi      # 0xf182
callq 0x3270
movq %rax, 0x440(%rsp)
jmp 0x5453
movq 0x440(%rsp), %rdi
movq 0xf98(%rsp), %rsi
callq 0x3100
movq %rax, 0x438(%rsp)
jmp 0x5472
movq 0x438(%rsp), %rdi
leaq 0x9c93(%rip), %rsi      # 0xf114
callq 0x3270
jmp 0x5488
jmp 0x54a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x10a0(%rsp)
movl %eax, 0x109c(%rsp)
jmp 0x8c3a
movq 0xfc0(%rsp), %rax
andq $0xfff, %rax            # imm = 0xFFF
cmpq $0x0, %rax
jne 0x5682
movl $0x0, 0xf8c(%rsp)
movl $0x0, 0xf88(%rsp)
movl 0xf88(%rsp), %eax
movl %eax, 0x430(%rsp)
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x434(%rsp)
jmp 0x54f5
movl 0x430(%rsp), %eax
movl 0x434(%rsp), %ecx
cmpl %ecx, %eax
jge 0x55bd
movslq 0xf88(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x42c(%rsp)
jmp 0x5531
movl 0x42c(%rsp), %eax
cmpl $0x2, %eax
jne 0x55a7
cmpl $0xc8, 0xf8c(%rsp)
jl 0x5596
movslq 0xf88(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, 0x420(%rsp)
leaq 0xff0(%rsp), %rdi
callq 0x9cc0
movq 0x420(%rsp), %rdi
movq %rax, %rsi
callq 0x9c70
leaq 0xff0(%rsp), %rdi
callq 0x9d00
jmp 0x54d1
movl 0xf8c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xf8c(%rsp)
movl 0xf88(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xf88(%rsp)
jmp 0x54d1
jmp 0x55bf
cmpl $0xc8, 0xf8c(%rsp)
jge 0x5680
leaq 0xf68(%rsp), %rdi
movq %rdi, 0x418(%rsp)
callq 0x8f20
movq 0x418(%rsp), %rdi
leaq 0xdc8c(%rip), %rsi      # 0x13280
callq 0x8eb0
jmp 0x55fb
leaq 0xdc7e(%rip), %rsi      # 0x13280
leaq 0xf68(%rsp), %rdi
callq 0x8eb0
jmp 0x5611
leaq 0xf68(%rsp), %rdi
callq 0x9250
jmp 0x5620
leaq 0xff0(%rsp), %rdi
leaq 0xf68(%rsp), %rsi
callq 0x9590
jmp 0x5637
movl 0xf8c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xf8c(%rsp)
leaq 0xf68(%rsp), %rdi
callq 0x95c0
jmp 0x55bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x10a0(%rsp)
movl %eax, 0x109c(%rsp)
leaq 0xf68(%rsp), %rdi
callq 0x95c0
jmp 0x8c3a
jmp 0x5682
leaq 0xf5c(%rsp), %rdi
xorl %esi, %esi
movl $0x3, %edx
callq 0x9d20
jmp 0x5698
leaq 0xdc19(%rip), %rsi      # 0x132b8
leaq 0xf5c(%rsp), %rdi
callq 0x9d50
movl %eax, 0x414(%rsp)
jmp 0x56b5
movl 0x414(%rsp), %eax
movl %eax, 0xf64(%rsp)
cmpl $0x0, 0xf64(%rsp)
jne 0x62fa
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x410(%rsp)
jmp 0x56e7
movl 0x410(%rsp), %edx
decl %edx
leaq 0xf50(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x5701
leaq 0xdbb0(%rip), %rsi      # 0x132b8
leaq 0xf50(%rsp), %rdi
callq 0x9d50
movl %eax, 0x40c(%rsp)
jmp 0x571e
movl 0x40c(%rsp), %eax
movl %eax, 0xf58(%rsp)
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x408(%rsp)
jmp 0x5742
movl 0x408(%rsp), %edx
decl %edx
leaq 0xf44(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x575c
leaq 0xdb55(%rip), %rsi      # 0x132b8
leaq 0xf44(%rsp), %rdi
callq 0x9d50
movl %eax, 0x404(%rsp)
jmp 0x5779
movl 0x404(%rsp), %eax
movl %eax, 0xf4c(%rsp)
movl 0xf58(%rsp), %eax
cmpl 0xf4c(%rsp), %eax
jne 0x579c
jmp 0x8ba4
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x400(%rsp)
jmp 0x57c2
movl 0x400(%rsp), %edx
decl %edx
leaq 0xf38(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x57df
leaq 0xdad2(%rip), %rsi      # 0x132b8
leaq 0xf38(%rsp), %rdi
callq 0x9d50
movl %eax, 0x3fc(%rsp)
jmp 0x57fc
movl 0x3fc(%rsp), %eax
movl %eax, 0xf40(%rsp)
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x3f8(%rsp)
jmp 0x5830
movl 0x3f8(%rsp), %edx
decl %edx
leaq 0xf2c(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x584d
leaq 0xda64(%rip), %rsi      # 0x132b8
leaq 0xf2c(%rsp), %rdi
callq 0x9d50
movl %eax, 0x3f4(%rsp)
jmp 0x586a
movl 0x3f4(%rsp), %eax
movl %eax, 0xf34(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0xf40(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x28(%rax), %rax
movq %rax, 0x3e8(%rsp)
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0xf34(%rsp), %rsi
callq 0x8fd0
movq %rax, %rcx
movq 0x3e8(%rsp), %rax
addq 0x30(%rcx), %rax
cmpq 0xf98(%rsp), %rax
jle 0x58f1
jmp 0x8ba4
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0xf34(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x28(%rax), %rax
movq %rax, 0x3e0(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0xf40(%rsp), %rsi
callq 0x8fd0
movq %rax, %rcx
movq 0x3e0(%rsp), %rax
addq 0x30(%rcx), %rax
cmpq 0xf98(%rsp), %rax
jle 0x596a
jmp 0x8ba4
movq $0x0, 0xf20(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x3d0(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0xf40(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x3d0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xf10(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xf00(%rsp)
movslq 0xf58(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0xf40(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xef0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xee0(%rsp)
movq 0xef0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xee0(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xf10(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xf00(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x3d8(%rsp)
jmp 0x5a3e
movsd 0x3d8(%rsp), %xmm1
movsd 0xf20(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xf20(%rsp)
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x3c0(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0xf34(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x3c0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xed0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xec0(%rsp)
movslq 0xf4c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0xf34(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xeb0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xea0(%rsp)
movq 0xeb0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xea0(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xed0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xec0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x3c8(%rsp)
jmp 0x5b25
movsd 0x3c8(%rsp), %xmm1
movsd 0xf20(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xf20(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x3b0(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0xf40(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x3b0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xe90(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xe80(%rsp)
movslq 0xf4c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0xf34(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xe70(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xe60(%rsp)
movq 0xe70(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xe60(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xe90(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xe80(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x3b8(%rsp)
jmp 0x5c0c
movsd 0x3b8(%rsp), %xmm1
movsd 0xf20(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xf20(%rsp)
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x3a0(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0xf34(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x3a0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xe50(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xe40(%rsp)
movslq 0xf58(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0xf40(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xe30(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xe20(%rsp)
movq 0xe30(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xe20(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xe50(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xe40(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x3a8(%rsp)
jmp 0x5cf3
movsd 0x3a8(%rsp), %xmm0
addsd 0xf20(%rsp), %xmm0
movsd %xmm0, 0xf20(%rsp)
movb $0x1, %al
xorps %xmm0, %xmm0
ucomisd 0xf20(%rsp), %xmm0
movb %al, 0x39f(%rsp)
jae 0x5dc9
leaq 0xe10(%rsp), %rdi
xorps %xmm0, %xmm0
movsd 0x92d4(%rip), %xmm1     # 0xf010
callq 0x9b00
jmp 0x5d43
leaq 0xd56e(%rip), %rsi      # 0x132b8
leaq 0xe10(%rsp), %rdi
callq 0x9b30
movsd %xmm0, 0x390(%rsp)
jmp 0x5d62
movaps 0x92f7(%rip), %xmm1     # 0xf060
movsd 0xf20(%rsp), %xmm0
pxor %xmm1, %xmm0
movsd %xmm0, 0x380(%rsp)
leaq 0xfa0(%rsp), %rdi
callq 0x8c60
movsd %xmm0, 0x388(%rsp)
jmp 0x5d97
movsd 0x388(%rsp), %xmm1
movsd 0x380(%rsp), %xmm0
divsd %xmm1, %xmm0
callq 0x3430
movsd 0x390(%rsp), %xmm1
ucomisd %xmm1, %xmm0
seta %al
movb %al, 0x39f(%rsp)
movb 0x39f(%rsp), %al
testb $0x1, %al
jne 0x5dd9
jmp 0x62f8
movsd 0xf20(%rsp), %xmm1
movsd 0xfe8(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xfe8(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x37c(%rsp)
jmp 0x5e1e
movl 0x37c(%rsp), %eax
movl %eax, 0xe0c(%rsp)
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x378(%rsp)
jmp 0x5e52
movl 0x378(%rsp), %eax
movl %eax, 0xe08(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x360(%rsp)
callq 0x9c50
movq 0x360(%rsp), %rdi
movq %rax, 0x368(%rsp)
movslq 0xf58(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x91e0
movq %rax, 0xdf8(%rsp)
leaq 0xe00(%rsp), %rdi
leaq 0xdf8(%rsp), %rsi
callq 0x9210
movq 0x360(%rsp), %rdi
movslq 0xf4c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xde8(%rsp)
movslq 0xf34(%rsp), %rsi
leaq 0xde8(%rsp), %rdi
callq 0x90d0
movq 0x360(%rsp), %rdi
movq %rax, 0xdf0(%rsp)
movslq 0xf4c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xdd8(%rsp)
movslq 0xe08(%rsp), %rsi
leaq 0xdd8(%rsp), %rdi
callq 0x90d0
movq 0x368(%rsp), %rdi
movq %rax, 0xde0(%rsp)
movq 0xe00(%rsp), %rsi
movq 0xdf0(%rsp), %rdx
movq 0xde0(%rsp), %rcx
callq 0x9120
movq %rax, 0x370(%rsp)
jmp 0x5f72
movq 0x370(%rsp), %rax
movq %rax, 0xdd0(%rsp)
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x348(%rsp)
callq 0x9c50
movq 0x348(%rsp), %rdi
movq %rax, 0x350(%rsp)
movslq 0xf4c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x91e0
movq %rax, 0xdc0(%rsp)
leaq 0xdc8(%rsp), %rdi
leaq 0xdc0(%rsp), %rsi
callq 0x9210
movq 0x348(%rsp), %rdi
movslq 0xf58(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xdb0(%rsp)
movslq 0xf40(%rsp), %rsi
leaq 0xdb0(%rsp), %rdi
callq 0x90d0
movq 0x348(%rsp), %rdi
movq %rax, 0xdb8(%rsp)
movslq 0xf58(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xda0(%rsp)
movslq 0xe0c(%rsp), %rsi
leaq 0xda0(%rsp), %rdi
callq 0x90d0
movq 0x350(%rsp), %rdi
movq %rax, 0xda8(%rsp)
movq 0xdc8(%rsp), %rsi
movq 0xdb8(%rsp), %rdx
movq 0xda8(%rsp), %rcx
callq 0x9120
movq %rax, 0x358(%rsp)
jmp 0x6094
movq 0x358(%rsp), %rax
movq %rax, 0xd98(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x330(%rsp)
callq 0x9c50
movq 0x330(%rsp), %rdi
movq %rax, 0x338(%rsp)
movslq 0xf58(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xd80(%rsp)
movslq 0xf40(%rsp), %rsi
leaq 0xd80(%rsp), %rdi
callq 0x90d0
movq %rax, 0xd88(%rsp)
leaq 0xd90(%rsp), %rdi
leaq 0xd88(%rsp), %rsi
callq 0x9210
movq 0x330(%rsp), %rdi
movslq 0xf58(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xd68(%rsp)
movslq 0xe0c(%rsp), %rsi
leaq 0xd68(%rsp), %rdi
callq 0x90d0
movq %rax, 0xd70(%rsp)
leaq 0xd78(%rsp), %rdi
leaq 0xd70(%rsp), %rsi
callq 0x9210
movq 0x338(%rsp), %rdi
movq 0xd90(%rsp), %rsi
movq 0xd78(%rsp), %rdx
callq 0x9d80
movq %rax, 0x340(%rsp)
jmp 0x619e
movq 0x340(%rsp), %rax
movq %rax, 0xd60(%rsp)
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x318(%rsp)
callq 0x9c50
movq 0x318(%rsp), %rdi
movq %rax, 0x320(%rsp)
movslq 0xf4c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xd48(%rsp)
movslq 0xf34(%rsp), %rsi
leaq 0xd48(%rsp), %rdi
callq 0x90d0
movq %rax, 0xd50(%rsp)
leaq 0xd58(%rsp), %rdi
leaq 0xd50(%rsp), %rsi
callq 0x9210
movq 0x318(%rsp), %rdi
movslq 0xf4c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xd30(%rsp)
movslq 0xe08(%rsp), %rsi
leaq 0xd30(%rsp), %rdi
callq 0x90d0
movq %rax, 0xd38(%rsp)
leaq 0xd40(%rsp), %rdi
leaq 0xd38(%rsp), %rsi
callq 0x9210
movq 0x320(%rsp), %rdi
movq 0xd58(%rsp), %rsi
movq 0xd40(%rsp), %rdx
callq 0x9d80
movq %rax, 0x328(%rsp)
jmp 0x62a8
movq 0x328(%rsp), %rax
movq %rax, 0xd28(%rsp)
movslq 0xf58(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x62d7
movslq 0xf4c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x62f6
jmp 0x62f8
jmp 0x62fa
cmpl $0x1, 0xf64(%rsp)
jne 0x69d0
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x314(%rsp)
jmp 0x631e
movl 0x314(%rsp), %edx
decl %edx
leaq 0xd1c(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x6338
leaq 0xcf79(%rip), %rsi      # 0x132b8
leaq 0xd1c(%rsp), %rdi
callq 0x9d50
movl %eax, 0x310(%rsp)
jmp 0x6355
movl 0x310(%rsp), %eax
movl %eax, 0xd24(%rsp)
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x30c(%rsp)
jmp 0x6389
movl 0x30c(%rsp), %edx
decl %edx
leaq 0xd10(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x63a6
leaq 0xcf0b(%rip), %rsi      # 0x132b8
leaq 0xd10(%rsp), %rdi
callq 0x9d50
movl %eax, 0x308(%rsp)
jmp 0x63c3
movl 0x308(%rsp), %eax
movl %eax, 0xd18(%rsp)
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x304(%rsp)
jmp 0x63f7
movl 0x304(%rsp), %edx
decl %edx
leaq 0xd04(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x6414
leaq 0xce9d(%rip), %rsi      # 0x132b8
leaq 0xd04(%rsp), %rdi
callq 0x9d50
movl %eax, 0x300(%rsp)
jmp 0x6431
movl 0x300(%rsp), %eax
movl %eax, 0xd0c(%rsp)
movl 0xd18(%rsp), %eax
cmpl 0xd0c(%rsp), %eax
jle 0x6464
leaq 0xd18(%rsp), %rdi
leaq 0xd0c(%rsp), %rsi
callq 0x9e20
movl 0xd0c(%rsp), %eax
subl 0xd18(%rsp), %eax
cmpl $0x2, %eax
jge 0x647c
jmp 0x8ba4
movq $0x0, 0xcf8(%rsp)
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x2f0(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0xd18(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x2f0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xcf0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xce0(%rsp)
movslq 0xd24(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0xd18(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xcd0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xcc0(%rsp)
movq 0xcd0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xcc0(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xcf0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xce0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x2f8(%rsp)
jmp 0x6550
movsd 0x2f8(%rsp), %xmm1
movsd 0xcf8(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xcf8(%rsp)
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x2e0(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0xd0c(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x2e0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xcb0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xca0(%rsp)
movslq 0xd24(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0xd0c(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xc90(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xc80(%rsp)
movq 0xc90(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xc80(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xcb0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xca0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x2e8(%rsp)
jmp 0x6637
movsd 0x2e8(%rsp), %xmm1
movsd 0xcf8(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xcf8(%rsp)
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x2d0(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0xd18(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x2d0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xc70(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xc60(%rsp)
movslq 0xd24(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movl 0xd0c(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xc50(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xc40(%rsp)
movq 0xc50(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xc40(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xc70(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xc60(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x2d8(%rsp)
jmp 0x6722
movsd 0x2d8(%rsp), %xmm1
movsd 0xcf8(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xcf8(%rsp)
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x2c0(%rsp)
callq 0x9c50
movq %rax, %rdi
movslq 0xd0c(%rsp), %rsi
callq 0x8fd0
movq 0x2c0(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0xc30(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xc20(%rsp)
movslq 0xd24(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0xd18(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0xc10(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xc00(%rsp)
movq 0xc10(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xc00(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xc30(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xc20(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x2c8(%rsp)
jmp 0x6805
movsd 0x2c8(%rsp), %xmm0
addsd 0xcf8(%rsp), %xmm0
movsd %xmm0, 0xcf8(%rsp)
movb $0x1, %al
xorps %xmm0, %xmm0
ucomisd 0xcf8(%rsp), %xmm0
movb %al, 0x2bf(%rsp)
jae 0x68db
leaq 0xbf0(%rsp), %rdi
xorps %xmm0, %xmm0
movsd 0x87c2(%rip), %xmm1     # 0xf010
callq 0x9b00
jmp 0x6855
leaq 0xca5c(%rip), %rsi      # 0x132b8
leaq 0xbf0(%rsp), %rdi
callq 0x9b30
movsd %xmm0, 0x2b0(%rsp)
jmp 0x6874
movaps 0x87e5(%rip), %xmm1     # 0xf060
movsd 0xcf8(%rsp), %xmm0
pxor %xmm1, %xmm0
movsd %xmm0, 0x2a0(%rsp)
leaq 0xfa0(%rsp), %rdi
callq 0x8c60
movsd %xmm0, 0x2a8(%rsp)
jmp 0x68a9
movsd 0x2a8(%rsp), %xmm1
movsd 0x2a0(%rsp), %xmm0
divsd %xmm1, %xmm0
callq 0x3430
movsd 0x2b0(%rsp), %xmm1
ucomisd %xmm1, %xmm0
seta %al
movb %al, 0x2bf(%rsp)
movb 0x2bf(%rsp), %al
testb $0x1, %al
jne 0x68eb
jmp 0x69ce
movsd 0xcf8(%rsp), %xmm1
movsd 0xfe8(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xfe8(%rsp)
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x298(%rsp)
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xbe0(%rsp)
movslq 0xd18(%rsp), %rsi
leaq 0xbe0(%rsp), %rdi
callq 0x90d0
movq 0x298(%rsp), %rdi
movq %rax, 0xbe8(%rsp)
movslq 0xd24(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0xbd0(%rsp)
movslq 0xd0c(%rsp), %rsi
leaq 0xbd0(%rsp), %rdi
callq 0x90d0
movq %rax, 0xbd8(%rsp)
movq 0xbe8(%rsp), %rdi
movq 0xbd8(%rsp), %rsi
callq 0x9060
jmp 0x69ad
movslq 0xd24(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x69cc
jmp 0x69ce
jmp 0x69d0
cmpl $0x2, 0xf64(%rsp)
jne 0x79f5
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x294(%rsp)
jmp 0x69f4
movl 0x294(%rsp), %edx
decl %edx
leaq 0xbc4(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x6a0e
leaq 0xc8a3(%rip), %rsi      # 0x132b8
leaq 0xbc4(%rsp), %rdi
callq 0x9d50
movl %eax, 0x290(%rsp)
jmp 0x6a2b
movl 0x290(%rsp), %eax
movl %eax, 0xbcc(%rsp)
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x28c(%rsp)
jmp 0x6a4f
movl 0x28c(%rsp), %edx
decl %edx
leaq 0xbb8(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x6a69
leaq 0xc848(%rip), %rsi      # 0x132b8
leaq 0xbb8(%rsp), %rdi
callq 0x9d50
movl %eax, 0x288(%rsp)
jmp 0x6a86
movl 0x288(%rsp), %eax
movl %eax, 0xbc0(%rsp)
movl 0xbcc(%rsp), %eax
cmpl 0xbc0(%rsp), %eax
jne 0x6aa9
jmp 0x8ba4
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x284(%rsp)
jmp 0x6acf
movl 0x284(%rsp), %edx
decl %edx
leaq 0xbac(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x6aec
leaq 0xc7c5(%rip), %rsi      # 0x132b8
leaq 0xbac(%rsp), %rdi
callq 0x9d50
movl %eax, 0x280(%rsp)
jmp 0x6b09
movl 0x280(%rsp), %eax
movl %eax, 0xbb4(%rsp)
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x27c(%rsp)
jmp 0x6b3d
movl 0x27c(%rsp), %edx
decl %edx
leaq 0xba0(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x6b5a
leaq 0xc757(%rip), %rsi      # 0x132b8
leaq 0xba0(%rsp), %rdi
callq 0x9d50
movl %eax, 0x278(%rsp)
jmp 0x6b77
movl 0x278(%rsp), %eax
movl %eax, 0xba8(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x274(%rsp)
jmp 0x6bab
movl 0x274(%rsp), %edx
decl %edx
leaq 0xb94(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x6bc8
leaq 0xc6e9(%rip), %rsi      # 0x132b8
leaq 0xb94(%rsp), %rdi
callq 0x9d50
movl %eax, 0x270(%rsp)
jmp 0x6be5
movl 0x270(%rsp), %eax
movl %eax, 0xb9c(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x26c(%rsp)
jmp 0x6c19
movl 0x26c(%rsp), %edx
decl %edx
leaq 0xb88(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x6c36
leaq 0xc67b(%rip), %rsi      # 0x132b8
leaq 0xb88(%rsp), %rdi
callq 0x9d50
movl %eax, 0x268(%rsp)
jmp 0x6c53
movl 0x268(%rsp), %eax
movl %eax, 0xb90(%rsp)
movl 0xbb4(%rsp), %eax
cmpl 0xba8(%rsp), %eax
jle 0x6c86
leaq 0xbb4(%rsp), %rdi
leaq 0xba8(%rsp), %rsi
callq 0x9e20
movl 0xb9c(%rsp), %eax
cmpl 0xb90(%rsp), %eax
jle 0x6cab
leaq 0xb9c(%rsp), %rdi
leaq 0xb90(%rsp), %rsi
callq 0x9e20
movl 0xba8(%rsp), %eax
cmpl 0xbb4(%rsp), %eax
jne 0x6cc0
jmp 0x8ba4
movl 0xb90(%rsp), %eax
cmpl 0xb9c(%rsp), %eax
jne 0x6cd5
jmp 0x8ba4
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0xbb4(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq %rax, 0xb80(%rsp)
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0xbb4(%rsp), %rsi
callq 0x8fd0
movq %rax, 0xb78(%rsp)
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0xba8(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq %rax, 0xb70(%rsp)
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0xba8(%rsp), %rsi
callq 0x8fd0
movq %rax, 0xb68(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0xb9c(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq %rax, 0xb60(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0xb9c(%rsp), %rsi
callq 0x8fd0
movq %rax, 0xb58(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0xb90(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq %rax, 0xb50(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0xb90(%rsp), %rsi
callq 0x8fd0
movq %rax, 0xb48(%rsp)
movq 0xb80(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0xb40(%rsp)
movq 0xb70(%rsp), %rax
movq 0x28(%rax), %rax
subq 0xb40(%rsp), %rax
movq %rax, 0xb38(%rsp)
movq 0xb68(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0xb30(%rsp)
movq 0xb60(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0xb28(%rsp)
movq 0xb50(%rsp), %rax
movq 0x28(%rax), %rax
subq 0xb28(%rsp), %rax
movq %rax, 0xb20(%rsp)
movq 0xb48(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0xb18(%rsp)
movq 0xb40(%rsp), %rax
addq 0xb20(%rsp), %rax
addq 0xb30(%rsp), %rax
cmpq 0xf98(%rsp), %rax
jle 0x6f00
jmp 0x8ba4
movq 0xb28(%rsp), %rax
addq 0xb38(%rsp), %rax
addq 0xb18(%rsp), %rax
cmpq 0xf98(%rsp), %rax
jle 0x6f27
jmp 0x8ba4
movq $0x0, 0xb10(%rsp)
movq 0xb80(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xb00(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xaf0(%rsp)
movq 0xb78(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xae0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xad0(%rsp)
movq 0xae0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xad0(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xb00(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xaf0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x260(%rsp)
jmp 0x6fb5
movsd 0x260(%rsp), %xmm1
movsd 0xb10(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xb10(%rsp)
movq 0xb70(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xac0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xab0(%rsp)
movq 0xb68(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xaa0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xa90(%rsp)
movq 0xaa0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xa90(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xac0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xab0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x258(%rsp)
jmp 0x7056
movsd 0x258(%rsp), %xmm1
movsd 0xb10(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xb10(%rsp)
movq 0xb60(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xa80(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xa70(%rsp)
movq 0xb58(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xa60(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xa50(%rsp)
movq 0xa60(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xa50(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xa80(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xa70(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x250(%rsp)
jmp 0x70f7
movsd 0x250(%rsp), %xmm1
movsd 0xb10(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xb10(%rsp)
movq 0xb50(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xa40(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xa30(%rsp)
movq 0xb48(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xa20(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0xa10(%rsp)
movq 0xa20(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0xa10(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xa40(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0xa30(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x248(%rsp)
jmp 0x7198
movsd 0x248(%rsp), %xmm1
movsd 0xb10(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0xb10(%rsp)
movq 0xb80(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0xa00(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x9f0(%rsp)
movq 0xb58(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0x9e0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x9d0(%rsp)
movq 0x9e0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x9d0(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0xa00(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x9f0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x240(%rsp)
jmp 0x7239
movsd 0x240(%rsp), %xmm1
movsd 0xb10(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xb10(%rsp)
movq 0xb70(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0x9c0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x9b0(%rsp)
movq 0xb48(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0x9a0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x990(%rsp)
movq 0x9a0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x990(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x9c0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x9b0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x238(%rsp)
jmp 0x72da
movsd 0x238(%rsp), %xmm1
movsd 0xb10(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xb10(%rsp)
movq 0xb60(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0x980(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x970(%rsp)
movq 0xb78(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0x960(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x950(%rsp)
movq 0x960(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x950(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x980(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x970(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x230(%rsp)
jmp 0x737b
movsd 0x230(%rsp), %xmm1
movsd 0xb10(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xb10(%rsp)
movq 0xb50(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0x940(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x930(%rsp)
movq 0xb68(%rsp), %rax
movq 0x18(%rax), %rcx
movq %rcx, 0x920(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x910(%rsp)
movq 0x920(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x910(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x940(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x930(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x228(%rsp)
jmp 0x741c
movsd 0x228(%rsp), %xmm0
addsd 0xb10(%rsp), %xmm0
movsd %xmm0, 0xb10(%rsp)
movb $0x1, %al
xorps %xmm0, %xmm0
ucomisd 0xb10(%rsp), %xmm0
movb %al, 0x227(%rsp)
jae 0x74f2
leaq 0x900(%rsp), %rdi
xorps %xmm0, %xmm0
movsd 0x7bab(%rip), %xmm1     # 0xf010
callq 0x9b00
jmp 0x746c
leaq 0xbe45(%rip), %rsi      # 0x132b8
leaq 0x900(%rsp), %rdi
callq 0x9b30
movsd %xmm0, 0x218(%rsp)
jmp 0x748b
movaps 0x7bce(%rip), %xmm1     # 0xf060
movsd 0xb10(%rsp), %xmm0
pxor %xmm1, %xmm0
movsd %xmm0, 0x208(%rsp)
leaq 0xfa0(%rsp), %rdi
callq 0x8c60
movsd %xmm0, 0x210(%rsp)
jmp 0x74c0
movsd 0x210(%rsp), %xmm1
movsd 0x208(%rsp), %xmm0
divsd %xmm1, %xmm0
callq 0x3430
movsd 0x218(%rsp), %xmm1
ucomisd %xmm1, %xmm0
seta %al
movb %al, 0x227(%rsp)
movb 0x227(%rsp), %al
testb $0x1, %al
jne 0x7502
jmp 0x79f3
movsd 0xb10(%rsp), %xmm1
movsd 0xfe8(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xfe8(%rsp)
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x1f0(%rsp)
callq 0x9c50
movq 0x1f0(%rsp), %rdi
movq %rax, 0x1f8(%rsp)
movslq 0xbcc(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x8e8(%rsp)
movslq 0xba8(%rsp), %rsi
leaq 0x8e8(%rsp), %rdi
callq 0x90d0
movq %rax, 0x8f0(%rsp)
leaq 0x8f8(%rsp), %rdi
leaq 0x8f0(%rsp), %rsi
callq 0x9210
movq 0x1f0(%rsp), %rdi
movslq 0xbc0(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x8d8(%rsp)
movslq 0xb9c(%rsp), %rsi
leaq 0x8d8(%rsp), %rdi
callq 0x90d0
movq 0x1f0(%rsp), %rdi
movq %rax, 0x8e0(%rsp)
movslq 0xbc0(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x8c8(%rsp)
movslq 0xb90(%rsp), %rsi
leaq 0x8c8(%rsp), %rdi
callq 0x90d0
movq 0x1f8(%rsp), %rdi
movq %rax, 0x8d0(%rsp)
movq 0x8f8(%rsp), %rsi
movq 0x8e0(%rsp), %rdx
movq 0x8d0(%rsp), %rcx
callq 0x9120
movq %rax, 0x200(%rsp)
jmp 0x7650
movq 0x200(%rsp), %rax
movq %rax, 0x8c0(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x1d8(%rsp)
callq 0x9c50
movq 0x1d8(%rsp), %rdi
movq %rax, 0x1e0(%rsp)
movslq 0xbc0(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x8a8(%rsp)
movslq 0xb90(%rsp), %rsi
leaq 0x8a8(%rsp), %rdi
callq 0x90d0
movq %rax, 0x8b0(%rsp)
leaq 0x8b8(%rsp), %rdi
leaq 0x8b0(%rsp), %rsi
callq 0x9210
movq 0x1d8(%rsp), %rdi
movslq 0xbcc(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x898(%rsp)
movslq 0xbb4(%rsp), %rsi
leaq 0x898(%rsp), %rdi
callq 0x90d0
movq 0x1d8(%rsp), %rdi
movq %rax, 0x8a0(%rsp)
movslq 0xbcc(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x888(%rsp)
movslq 0xba8(%rsp), %rsi
leaq 0x888(%rsp), %rdi
callq 0x90d0
movq 0x1e0(%rsp), %rdi
movq %rax, 0x890(%rsp)
movq 0x8b8(%rsp), %rsi
movq 0x8a0(%rsp), %rdx
movq 0x890(%rsp), %rcx
callq 0x9120
movq %rax, 0x1e8(%rsp)
jmp 0x778f
movq 0x1e8(%rsp), %rax
movq %rax, 0x880(%rsp)
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x9c50
movq 0x1c0(%rsp), %rdi
movq %rax, 0x1c8(%rsp)
movslq 0xbcc(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x868(%rsp)
movslq 0xbb4(%rsp), %rsi
leaq 0x868(%rsp), %rdi
callq 0x90d0
movq %rax, 0x870(%rsp)
leaq 0x878(%rsp), %rdi
leaq 0x870(%rsp), %rsi
callq 0x9210
movq 0x1c0(%rsp), %rdi
movslq 0xbcc(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x850(%rsp)
movslq 0xba8(%rsp), %rsi
leaq 0x850(%rsp), %rdi
callq 0x90d0
movq %rax, 0x858(%rsp)
leaq 0x860(%rsp), %rdi
leaq 0x858(%rsp), %rsi
callq 0x9210
movq 0x1c8(%rsp), %rdi
movq 0x878(%rsp), %rsi
movq 0x860(%rsp), %rdx
callq 0x9d80
movq %rax, 0x1d0(%rsp)
jmp 0x7899
movq 0x1d0(%rsp), %rax
movq %rax, 0x848(%rsp)
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x1a8(%rsp)
callq 0x9c50
movq 0x1a8(%rsp), %rdi
movq %rax, 0x1b0(%rsp)
movslq 0xbc0(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x830(%rsp)
movslq 0xb9c(%rsp), %rsi
leaq 0x830(%rsp), %rdi
callq 0x90d0
movq %rax, 0x838(%rsp)
leaq 0x840(%rsp), %rdi
leaq 0x838(%rsp), %rsi
callq 0x9210
movq 0x1a8(%rsp), %rdi
movslq 0xbc0(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x818(%rsp)
movslq 0xb90(%rsp), %rsi
leaq 0x818(%rsp), %rdi
callq 0x90d0
movq %rax, 0x820(%rsp)
leaq 0x828(%rsp), %rdi
leaq 0x820(%rsp), %rsi
callq 0x9210
movq 0x1b0(%rsp), %rdi
movq 0x840(%rsp), %rsi
movq 0x828(%rsp), %rdx
callq 0x9d80
movq %rax, 0x1b8(%rsp)
jmp 0x79a3
movq 0x1b8(%rsp), %rax
movq %rax, 0x810(%rsp)
movslq 0xbcc(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x79d2
movslq 0xbc0(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x79f1
jmp 0x79f3
jmp 0x79f5
cmpl $0x3, 0xf64(%rsp)
jne 0x8ba2
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x1a4(%rsp)
jmp 0x7a19
movl 0x1a4(%rsp), %edx
decl %edx
leaq 0x804(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x7a33
leaq 0xb87e(%rip), %rsi      # 0x132b8
leaq 0x804(%rsp), %rdi
callq 0x9d50
movl %eax, 0x1a0(%rsp)
jmp 0x7a50
movl 0x1a0(%rsp), %eax
movl %eax, 0x80c(%rsp)
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x19c(%rsp)
jmp 0x7a74
movl 0x19c(%rsp), %edx
decl %edx
leaq 0x7f8(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x7a8e
leaq 0xb823(%rip), %rsi      # 0x132b8
leaq 0x7f8(%rsp), %rdi
callq 0x9d50
movl %eax, 0x198(%rsp)
jmp 0x7aab
movl 0x198(%rsp), %eax
movl %eax, 0x800(%rsp)
leaq 0xff0(%rsp), %rdi
callq 0x9c40
movl %eax, 0x194(%rsp)
jmp 0x7acf
movl 0x194(%rsp), %edx
decl %edx
leaq 0x7ec(%rsp), %rdi
xorl %esi, %esi
callq 0x9d20
jmp 0x7ae9
leaq 0xb7c8(%rip), %rsi      # 0x132b8
leaq 0x7ec(%rsp), %rdi
callq 0x9d50
movl %eax, 0x190(%rsp)
jmp 0x7b06
movl 0x190(%rsp), %eax
movl %eax, 0x7f4(%rsp)
movl 0x80c(%rsp), %eax
cmpl 0x800(%rsp), %eax
je 0x7b44
movl 0x80c(%rsp), %eax
cmpl 0x7f4(%rsp), %eax
je 0x7b44
movl 0x800(%rsp), %eax
cmpl 0x7f4(%rsp), %eax
jne 0x7b49
jmp 0x8ba4
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x18c(%rsp)
jmp 0x7b6f
movl 0x18c(%rsp), %edx
decl %edx
leaq 0x7e0(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x7b8c
leaq 0xb725(%rip), %rsi      # 0x132b8
leaq 0x7e0(%rsp), %rdi
callq 0x9d50
movl %eax, 0x188(%rsp)
jmp 0x7ba9
movl 0x188(%rsp), %eax
movl %eax, 0x7e8(%rsp)
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x184(%rsp)
jmp 0x7bdd
movl 0x184(%rsp), %edx
decl %edx
leaq 0x7d4(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x7bfa
leaq 0xb6b7(%rip), %rsi      # 0x132b8
leaq 0x7d4(%rsp), %rdi
callq 0x9d50
movl %eax, 0x180(%rsp)
jmp 0x7c17
movl 0x180(%rsp), %eax
movl %eax, 0x7dc(%rsp)
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0x17c(%rsp)
jmp 0x7c4b
movl 0x17c(%rsp), %edx
decl %edx
leaq 0x7c8(%rsp), %rdi
movl $0x1, %esi
callq 0x9d20
jmp 0x7c68
leaq 0xb649(%rip), %rsi      # 0x132b8
leaq 0x7c8(%rsp), %rdi
callq 0x9d50
movl %eax, 0x178(%rsp)
jmp 0x7c85
movl 0x178(%rsp), %eax
movl %eax, 0x7d0(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0x7e8(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x28(%rax), %rax
movq %rax, 0x170(%rsp)
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0x7dc(%rsp), %rsi
callq 0x8fd0
movq %rax, %rcx
movq 0x170(%rsp), %rax
addq 0x30(%rcx), %rax
cmpq 0xf98(%rsp), %rax
jle 0x7d0c
jmp 0x8ba4
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0x7dc(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x28(%rax), %rax
movq %rax, 0x168(%rsp)
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0x7d0(%rsp), %rsi
callq 0x8fd0
movq %rax, %rcx
movq 0x168(%rsp), %rax
addq 0x30(%rcx), %rax
cmpq 0xf98(%rsp), %rax
jle 0x7d85
jmp 0x8ba4
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movl 0x7d0(%rsp), %eax
subl $0x1, %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x28(%rax), %rax
movq %rax, 0x160(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
movslq 0x7e8(%rsp), %rsi
callq 0x8fd0
movq %rax, %rcx
movq 0x160(%rsp), %rax
addq 0x30(%rcx), %rax
cmpq 0xf98(%rsp), %rax
jle 0x7dfe
jmp 0x8ba4
movq $0x0, 0x7c0(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0x7e8(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x150(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0x7b0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x7a0(%rsp)
movslq 0x80c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0x7e8(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0x790(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x780(%rsp)
movq 0x790(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x780(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x7b0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x7a0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x158(%rsp)
jmp 0x7ed2
movsd 0x158(%rsp), %xmm1
movsd 0x7c0(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x7c0(%rsp)
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0x7dc(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x140(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0x770(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x760(%rsp)
movslq 0x800(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0x7dc(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0x750(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x740(%rsp)
movq 0x750(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x740(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x770(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x760(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x148(%rsp)
jmp 0x7fb9
movsd 0x148(%rsp), %xmm1
movsd 0x7c0(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x7c0(%rsp)
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0x7d0(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x130(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0x730(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x720(%rsp)
movslq 0x7f4(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0x7d0(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0x710(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x700(%rsp)
movq 0x710(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x700(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x730(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x720(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x138(%rsp)
jmp 0x80a0
movsd 0x138(%rsp), %xmm1
movsd 0x7c0(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x7c0(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0x7e8(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x120(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0x6f0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x6e0(%rsp)
movslq 0x800(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0x7dc(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0x6d0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x6c0(%rsp)
movq 0x6d0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x6c0(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x6f0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x6e0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x128(%rsp)
jmp 0x8187
movsd 0x128(%rsp), %xmm1
movsd 0x7c0(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x7c0(%rsp)
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x110(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0x7dc(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x110(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0x6b0(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x6a0(%rsp)
movslq 0x7f4(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0x7d0(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0x690(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x680(%rsp)
movq 0x690(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x680(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x6b0(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x6a0(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x118(%rsp)
jmp 0x826e
movsd 0x118(%rsp), %xmm1
movsd 0x7c0(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x7c0(%rsp)
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x9c50
movq %rax, %rdi
movl 0x7d0(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x8fd0
movq 0x100(%rsp), %rdi
movq 0x18(%rax), %rcx
movq %rcx, 0x670(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x660(%rsp)
movslq 0x80c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
movslq 0x7e8(%rsp), %rsi
callq 0x8fd0
movq 0x18(%rax), %rcx
movq %rcx, 0x650(%rsp)
movups 0x8(%rax), %xmm0
movaps %xmm0, 0x640(%rsp)
movq 0x650(%rsp), %rcx
movq %rsp, %rax
movq %rcx, 0x28(%rax)
movaps 0x640(%rsp), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x670(%rsp), %rcx
movq %rcx, 0x10(%rax)
movaps 0x660(%rsp), %xmm0
movups %xmm0, (%rax)
callq 0x3860
movsd %xmm0, 0x108(%rsp)
jmp 0x8355
movsd 0x108(%rsp), %xmm0
addsd 0x7c0(%rsp), %xmm0
movsd %xmm0, 0x7c0(%rsp)
movb $0x1, %al
xorps %xmm0, %xmm0
ucomisd 0x7c0(%rsp), %xmm0
movb %al, 0xff(%rsp)
jae 0x842b
leaq 0x630(%rsp), %rdi
xorps %xmm0, %xmm0
movsd 0x6c72(%rip), %xmm1     # 0xf010
callq 0x9b00
jmp 0x83a5
leaq 0xaf0c(%rip), %rsi      # 0x132b8
leaq 0x630(%rsp), %rdi
callq 0x9b30
movsd %xmm0, 0xf0(%rsp)
jmp 0x83c4
movaps 0x6c95(%rip), %xmm1     # 0xf060
movsd 0x7c0(%rsp), %xmm0
pxor %xmm1, %xmm0
movsd %xmm0, 0xe0(%rsp)
leaq 0xfa0(%rsp), %rdi
callq 0x8c60
movsd %xmm0, 0xe8(%rsp)
jmp 0x83f9
movsd 0xe8(%rsp), %xmm1
movsd 0xe0(%rsp), %xmm0
divsd %xmm1, %xmm0
callq 0x3430
movsd 0xf0(%rsp), %xmm1
ucomisd %xmm1, %xmm0
seta %al
movb %al, 0xff(%rsp)
movb 0xff(%rsp), %al
testb $0x1, %al
jne 0x843b
jmp 0x8ba0
movsd 0x7c0(%rsp), %xmm1
movsd 0xfe8(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xfe8(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0xdc(%rsp)
jmp 0x8480
movl 0xdc(%rsp), %eax
movl %eax, 0x62c(%rsp)
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0xd8(%rsp)
jmp 0x84b4
movl 0xd8(%rsp), %eax
movl %eax, 0x628(%rsp)
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x8f80
movl %eax, 0xd4(%rsp)
jmp 0x84e8
movl 0xd4(%rsp), %eax
movl %eax, 0x624(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x9c50
movq 0xb8(%rsp), %rdi
movq %rax, 0xc0(%rsp)
movslq 0x80c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x91e0
movq %rax, 0x610(%rsp)
leaq 0x618(%rsp), %rdi
leaq 0x610(%rsp), %rsi
callq 0x9210
movq 0xb8(%rsp), %rdi
movslq 0x800(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x600(%rsp)
movslq 0x7dc(%rsp), %rsi
leaq 0x600(%rsp), %rdi
callq 0x90d0
movq 0xb8(%rsp), %rdi
movq %rax, 0x608(%rsp)
movslq 0x800(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x5f0(%rsp)
movslq 0x628(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x90d0
movq 0xc0(%rsp), %rdi
movq %rax, 0x5f8(%rsp)
movq 0x618(%rsp), %rsi
movq 0x608(%rsp), %rdx
movq 0x5f8(%rsp), %rcx
callq 0x9120
movq %rax, 0xc8(%rsp)
jmp 0x8608
movq 0xc8(%rsp), %rax
movq %rax, 0x5e8(%rsp)
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x9c50
movq 0xa0(%rsp), %rdi
movq %rax, 0xa8(%rsp)
movslq 0x800(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x91e0
movq %rax, 0x5d8(%rsp)
leaq 0x5e0(%rsp), %rdi
leaq 0x5d8(%rsp), %rsi
callq 0x9210
movq 0xa0(%rsp), %rdi
movslq 0x7f4(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x5c8(%rsp)
movslq 0x7d0(%rsp), %rsi
leaq 0x5c8(%rsp), %rdi
callq 0x90d0
movq 0xa0(%rsp), %rdi
movq %rax, 0x5d0(%rsp)
movslq 0x7f4(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x5b8(%rsp)
movslq 0x624(%rsp), %rsi
leaq 0x5b8(%rsp), %rdi
callq 0x90d0
movq 0xa8(%rsp), %rdi
movq %rax, 0x5c0(%rsp)
movq 0x5e0(%rsp), %rsi
movq 0x5d0(%rsp), %rdx
movq 0x5c0(%rsp), %rcx
callq 0x9120
movq %rax, 0xb0(%rsp)
jmp 0x872a
movq 0xb0(%rsp), %rax
movq %rax, 0x5b0(%rsp)
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x9c50
movq 0x88(%rsp), %rdi
movq %rax, 0x90(%rsp)
movslq 0x7f4(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x91e0
movq %rax, 0x5a0(%rsp)
leaq 0x5a8(%rsp), %rdi
leaq 0x5a0(%rsp), %rsi
callq 0x9210
movq 0x88(%rsp), %rdi
movslq 0x80c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x590(%rsp)
movslq 0x7e8(%rsp), %rsi
leaq 0x590(%rsp), %rdi
callq 0x90d0
movq 0x88(%rsp), %rdi
movq %rax, 0x598(%rsp)
movslq 0x80c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x580(%rsp)
movslq 0x62c(%rsp), %rsi
leaq 0x580(%rsp), %rdi
callq 0x90d0
movq 0x90(%rsp), %rdi
movq %rax, 0x588(%rsp)
movq 0x5a8(%rsp), %rsi
movq 0x598(%rsp), %rdx
movq 0x588(%rsp), %rcx
callq 0x9120
movq %rax, 0x98(%rsp)
jmp 0x884c
movq 0x98(%rsp), %rax
movq %rax, 0x578(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x9c50
movq 0x70(%rsp), %rdi
movq %rax, 0x78(%rsp)
movslq 0x80c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x560(%rsp)
movslq 0x7e8(%rsp), %rsi
leaq 0x560(%rsp), %rdi
callq 0x90d0
movq %rax, 0x568(%rsp)
leaq 0x570(%rsp), %rdi
leaq 0x568(%rsp), %rsi
callq 0x9210
movq 0x70(%rsp), %rdi
movslq 0x80c(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x548(%rsp)
movslq 0x62c(%rsp), %rsi
leaq 0x548(%rsp), %rdi
callq 0x90d0
movq %rax, 0x550(%rsp)
leaq 0x558(%rsp), %rdi
leaq 0x550(%rsp), %rsi
callq 0x9210
movq 0x78(%rsp), %rdi
movq 0x570(%rsp), %rsi
movq 0x558(%rsp), %rdx
callq 0x9d80
movq %rax, 0x80(%rsp)
jmp 0x8947
movq 0x80(%rsp), %rax
movq %rax, 0x540(%rsp)
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x9c50
movq 0x58(%rsp), %rdi
movq %rax, 0x60(%rsp)
movslq 0x800(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x528(%rsp)
movslq 0x7dc(%rsp), %rsi
leaq 0x528(%rsp), %rdi
callq 0x90d0
movq %rax, 0x530(%rsp)
leaq 0x538(%rsp), %rdi
leaq 0x530(%rsp), %rsi
callq 0x9210
movq 0x58(%rsp), %rdi
movslq 0x800(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x510(%rsp)
movslq 0x628(%rsp), %rsi
leaq 0x510(%rsp), %rdi
callq 0x90d0
movq %rax, 0x518(%rsp)
leaq 0x520(%rsp), %rdi
leaq 0x518(%rsp), %rsi
callq 0x9210
movq 0x60(%rsp), %rdi
movq 0x538(%rsp), %rsi
movq 0x520(%rsp), %rdx
callq 0x9d80
movq %rax, 0x68(%rsp)
jmp 0x8a3f
movq 0x68(%rsp), %rax
movq %rax, 0x508(%rsp)
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x9c50
movq 0x40(%rsp), %rdi
movq %rax, 0x48(%rsp)
movslq 0x7f4(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x4f0(%rsp)
movslq 0x7d0(%rsp), %rsi
leaq 0x4f0(%rsp), %rdi
callq 0x90d0
movq %rax, 0x4f8(%rsp)
leaq 0x500(%rsp), %rdi
leaq 0x4f8(%rsp), %rsi
callq 0x9210
movq 0x40(%rsp), %rdi
movslq 0x7f4(%rsp), %rsi
callq 0x9c50
movq %rax, %rdi
callq 0x90a0
movq %rax, 0x4d8(%rsp)
movslq 0x624(%rsp), %rsi
leaq 0x4d8(%rsp), %rdi
callq 0x90d0
movq %rax, 0x4e0(%rsp)
leaq 0x4e8(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
callq 0x9210
movq 0x48(%rsp), %rdi
movq 0x500(%rsp), %rsi
movq 0x4e8(%rsp), %rdx
callq 0x9d80
movq %rax, 0x50(%rsp)
jmp 0x8b34
movq 0x50(%rsp), %rax
movq %rax, 0x4d0(%rsp)
movslq 0x80c(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x8b60
movslq 0x800(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x8b7f
movslq 0x7f4(%rsp), %rsi
leaq 0xff0(%rsp), %rdi
callq 0x9c50
movq %rax, %rdi
callq 0x9250
jmp 0x8b9e
jmp 0x8ba0
jmp 0x8ba2
jmp 0x8ba4
movq 0xfc0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xfc0(%rsp)
jmp 0x526a
movq 0xa414(%rip), %rdi      # 0x12fd8
leaq 0x6590(%rip), %rsi      # 0xf15b
callq 0x3270
movq %rax, 0x38(%rsp)
jmp 0x8bd7
movq 0x38(%rsp), %rdi
movsd 0xfe8(%rsp), %xmm0
callq 0x3470
movq %rax, 0x30(%rsp)
jmp 0x8bf1
movq 0x30(%rsp), %rdi
leaq 0x6517(%rip), %rsi      # 0xf114
callq 0x3270
jmp 0x8c04
leaq 0xff0(%rsp), %rdi
callq 0x48b0
jmp 0x8c13
movl $0x0, 0x2434(%rsp)
leaq 0xff0(%rsp), %rdi
callq 0x95d0
movl 0x2434(%rsp), %eax
addq $0x2438, %rsp           # imm = 0x2438
retq
leaq 0xff0(%rsp), %rdi
callq 0x95d0
movq 0x10a0(%rsp), %rdi
callq 0x3410
nopw %cs:(%rax,%rax)