// File: JenTus[P]TCEM/src_TCEM/allocator.cc
// Function: Cide::allocator::mni(long long)
double allocator::mni(int64 rcSampleSize){
        clock_t begin = clock();

        std::vector<std::vector<int>> graph; // the graph is created from graphT
        std::vector<std::vector<int>> graphPairs; // for each pair, store common nodes
        std::vector<int> graphPairsDegree(n*n, 0); //
        std::vector<std::vector<int>> graphTPairs; // transpose of the graph, for node i, store the pairs that cover i
        graphPairs.reserve(n*n);
        graphTPairs.reserve(n);
        graph.reserve(n);
        for (int i = 0; i < n; ++i) {
           graph.emplace_back(vector<int>());
           graphTPairs.emplace_back(vector<int>());
        }

        for (int k1 = 0; k1 < n*n; ++k1) {
            graphPairs.emplace_back(vector<int>());
        }

        //create graph
        for (int j = 0; j < n; ++j) {
            for (int i = 0; i < graphT[j].size(); ++i) {
               graph[graphT[j][i]].push_back(j);
            }
        }
        //for test

        for (int i1 = 0; i1 < n; ++i1) {
           graph[i1].push_back(i1);
        }

        //create graphPairs
        for (int k = 0; k < n; ++k) {
            for (int i = 0; i < n; ++i) {
                if(i == k)
                    continue;
                std::vector<int> tmpv;
                tmpv = intersection(graph[k], graph[i]);
                graphPairs[k*n + i].insert(graphPairs[k*n +i].begin(), tmpv.begin(), tmpv.end());
                graphPairsDegree[k*n + i] = graphPairs[k*n + i].size(); //degree

                for (int j = 0; j < graphPairs[k*n + i].size(); ++j) {
                    graphTPairs[graphPairs[k*n + i][j]].push_back(k*n + i);
                }
            }
        }

        int bestPairID, bestRedNodeID, bestBlueNodeID;
        std::vector<int> isValidRed = std::vector<int>(n,tao);
        std::vector<int> isValidBlue = std::vector<int>(n,1);
        std::vector<bool> isCovered = std::vector<bool>(n, false);
        seedSet.clear();
        seedScores.clear();
        double totalExpScore = 0;
        std::set<int> rednodes;
        std::set<int> bluenodes;
        int flag_red = 0;

        while ((int)seedSet.size() < k_b) {
            double tempsum = accumulate(graphPairsDegree.begin(), graphPairsDegree.end(), 0.01);
            if(tempsum < 1){
                break;
            }

            bestPairID = std::distance(graphPairsDegree.begin(), std::max_element(graphPairsDegree.begin(), graphPairsDegree.end()));
            //cout << "bestPairID is " << bestPairID   <<endl;
            bestRedNodeID = (int) bestPairID / n;
            rednodes.insert(bestRedNodeID);
            bestBlueNodeID = (int) bestPairID % n;
            bluenodes.insert(bestBlueNodeID);

            //cout << "sum of pairwise common neighbors is " << accumulate(graphPairsDegree.begin(), graphPairsDegree.end(), 0) << endl;

            if (isValidRed[bestRedNodeID] == 0 || isValidBlue[bestBlueNodeID] == 0) {
                graphPairsDegree[bestPairID] = 0;
                continue;
            }

            seedSet.push_back(bestPairID); // store
            seedScores.push_back(graphPairsDegree[bestPairID]); // store score, dividing later

            // make update
            isValidRed[bestRedNodeID] -= 1;
            isValidRed[bestBlueNodeID] = 0;
            isValidBlue[bestBlueNodeID] = 0;
            isValidBlue[bestRedNodeID] = 0;

            if(isValidRed[bestRedNodeID] <= 0){
                for (int i = 0; i < n; ++i) {
                    graphPairsDegree[bestRedNodeID*n + i] = 0;
                }
            }

            for (int i = 0; i < n; ++i) {
                graphPairsDegree[i*n + bestBlueNodeID]  = 0;
                graphPairsDegree[i*n + bestRedNodeID]  = 0;
                graphPairsDegree[bestBlueNodeID*n + i] = 0;
            }

            // if red nodes reaches k_r
            if(rednodes.size() == k_r && flag_red == 0){
                for (int i = 0; i < n; ++i) {
                    if(rednodes.count(i) == 0){
                        isValidRed[i] = 0;
                        for (int j = 0; j < n; ++j) {
                            graphPairsDegree[i*n + j] = 0;
                        }
                    }
                }
                flag_red = 1;
            }

            // update the ExpScore of the pairs whose marginal gain change due to the best pair selection
            int tmpsize = graphPairs[bestPairID].size();
            for (int j = 0; j < tmpsize; j++) {
                int nodeid = graphPairs[bestPairID][j];
                if(isCovered[nodeid] == false){ // ensure not to repeatedly --
                    int ttmpsize = graphTPairs[nodeid].size();
                    for (int z = 0; z < ttmpsize; z++) {
                        int pairID = graphTPairs[nodeid][z];
                        if (graphPairsDegree[pairID] != 0) {
                            graphPairsDegree[pairID]--;
                        }
                    }
                    isCovered[nodeid] = true;
                }
            }
        } // end of while k loop

        for (int i1 = 0; i1 < seedScores.size(); ++i1) {
            totalExpScore += seedScores[i1];
        }

        int covercount = 0;
        for (int l = 0; l < isCovered.size(); ++l) {
            if(isCovered[l])
                covercount ++;
        }

        cout << "number of common covered neighbor is: " << totalExpScore << " cover is " << covercount << endl;

        // get the score on rr sets
        clock_t end = clock();
        totalDuration = double(end - begin) / CLOCKS_PER_SEC + duration_common; // in seconds
        totalMemory = getCurrentMemoryUsage(); // in MB


        int redbluecount = 0;

        vector<int> s1(rednodes.begin(), rednodes.end());
        vector<int> s2(bluenodes.begin(), bluenodes.end());
        sort(s1.begin(), s1.end());
        sort(s2.begin(), s2.end());


        for (int i = 0; i < rcSampleSize; ++i) {
            vector<int> RedList = rcList->at(0)->hyperGT[i];
            vector<int> BlueList = rcList->at(1)->hyperGT[i];

            sort(RedList.begin(), RedList.end());
            sort(BlueList.begin(), BlueList.end());

            if(intersection_size(s1, RedList) >= 1){
                if(intersection_size(s2, BlueList) >= 1){
                    redbluecount +=1;
                }
            }
        }

        float totalscore = (float) redbluecount / (float) rcSampleSize;

//
        cout << "Total score of mni is " << totalscore*n << endl;

        std::ostringstream streamObj1;
        streamObj1 << std::fixed << std::setprecision(2)<<totalscore*n << "(" << totalExpScore << ")";

        writeInMasterOutputFile("MNI", totalDuration,  totalMemory, streamObj1.str(), rednodes, bluenodes);

        return totalscore*n;

    }

// Assembly:
subq $0x878, %rsp            # imm = 0x878
movq %rdi, 0x870(%rsp)
movq %rsi, 0x868(%rsp)
movq 0x870(%rsp), %rax
movq %rax, 0x218(%rsp)
callq 0x4230
movq %rax, 0x860(%rsp)
leaq 0x848(%rsp), %rdi
callq 0xd860
leaq 0x830(%rsp), %rdi
callq 0xd860
movq 0x218(%rsp), %rax
movl 0x68(%rax), %eax
imull %eax, %eax
movq %rax, 0x220(%rsp)
movl $0x0, 0x814(%rsp)
leaq 0x813(%rsp), %rdi
movq %rdi, 0x228(%rsp)
callq 0xe1b0
movq 0x220(%rsp), %rsi
movq 0x228(%rsp), %rcx
leaq 0x818(%rsp), %rdi
leaq 0x814(%rsp), %rdx
callq 0xe1c0
jmp 0x8fdb
leaq 0x813(%rsp), %rdi
callq 0xe240
leaq 0x7e8(%rsp), %rdi
callq 0xd860
movq 0x218(%rsp), %rax
movl 0x68(%rax), %eax
imull %eax, %eax
movl %eax, %esi
leaq 0x830(%rsp), %rdi
callq 0xed10
jmp 0x9014
movq 0x218(%rsp), %rax
movslq 0x68(%rax), %rsi
leaq 0x7e8(%rsp), %rdi
callq 0xed10
jmp 0x902f
movq 0x218(%rsp), %rax
movslq 0x68(%rax), %rsi
leaq 0x848(%rsp), %rdi
callq 0xed10
jmp 0x904a
movl $0x0, 0x7e4(%rsp)
movq 0x218(%rsp), %rcx
movl 0x7e4(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x91ae
xorps %xmm0, %xmm0
movaps %xmm0, 0x7c0(%rsp)
movq $0x0, 0x7d0(%rsp)
leaq 0x7c0(%rsp), %rdi
movq %rdi, 0x210(%rsp)
callq 0xd840
movq 0x210(%rsp), %rsi
leaq 0x848(%rsp), %rdi
callq 0xdb70
jmp 0x90b0
leaq 0x7c0(%rsp), %rdi
callq 0xdbe0
xorps %xmm0, %xmm0
movaps %xmm0, 0x7a0(%rsp)
movq $0x0, 0x7b0(%rsp)
leaq 0x7a0(%rsp), %rdi
movq %rdi, 0x208(%rsp)
callq 0xd840
movq 0x208(%rsp), %rsi
leaq 0x7e8(%rsp), %rdi
callq 0xdb70
jmp 0x9100
leaq 0x7a0(%rsp), %rdi
callq 0xdbe0
movl 0x7e4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x7e4(%rsp)
jmp 0x9055
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x813(%rsp), %rdi
callq 0xe240
jmp 0xabff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xabe5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x7c0(%rsp), %rdi
callq 0xdbe0
jmp 0xabe5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x7a0(%rsp), %rdi
callq 0xdbe0
jmp 0xabe5
movl $0x0, 0x79c(%rsp)
movq 0x218(%rsp), %rdx
movl 0x79c(%rsp), %eax
movl 0x68(%rdx), %ecx
imull 0x68(%rdx), %ecx
cmpl %ecx, %eax
jge 0x9263
xorps %xmm0, %xmm0
movaps %xmm0, 0x780(%rsp)
movq $0x0, 0x790(%rsp)
leaq 0x780(%rsp), %rdi
movq %rdi, 0x200(%rsp)
callq 0xd840
movq 0x200(%rsp), %rsi
leaq 0x830(%rsp), %rdi
callq 0xdb70
jmp 0x921a
leaq 0x780(%rsp), %rdi
callq 0xdbe0
movl 0x79c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x79c(%rsp)
jmp 0x91b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x780(%rsp), %rdi
callq 0xdbe0
jmp 0xabe5
movl $0x0, 0x77c(%rsp)
movq 0x218(%rsp), %rcx
movl 0x77c(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x9343
movl $0x0, 0x778(%rsp)
movslq 0x778(%rsp), %rax
movq %rax, 0x1f8(%rsp)
movslq 0x77c(%rsp), %rsi
leaq 0x26110(%rip), %rdi     # 0x2f3c0
callq 0xe110
movq %rax, %rdi
callq 0xe130
movq %rax, %rcx
movq 0x1f8(%rsp), %rax
cmpq %rcx, %rax
jae 0x932b
movslq 0x77c(%rsp), %rsi
leaq 0x260e4(%rip), %rdi     # 0x2f3c0
callq 0xe110
movq %rax, %rdi
movslq 0x778(%rsp), %rsi
callq 0xe150
movslq (%rax), %rsi
leaq 0x848(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
leaq 0x77c(%rsp), %rsi
callq 0xe060
jmp 0x9313
jmp 0x9315
movl 0x778(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x778(%rsp)
jmp 0x9291
jmp 0x932d
movl 0x77c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x77c(%rsp)
jmp 0x926e
movl $0x0, 0x774(%rsp)
movq 0x218(%rsp), %rcx
movl 0x774(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x939e
movslq 0x774(%rsp), %rsi
leaq 0x848(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
leaq 0x774(%rsp), %rsi
callq 0xe060
jmp 0x9389
jmp 0x938b
movl 0x774(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x774(%rsp)
jmp 0x934e
movl $0x0, 0x770(%rsp)
movq 0x218(%rsp), %rcx
movl 0x770(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x9751
movl $0x0, 0x76c(%rsp)
movq 0x218(%rsp), %rcx
movl 0x76c(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x9739
movl 0x76c(%rsp), %eax
cmpl 0x770(%rsp), %eax
jne 0x93f9
jmp 0x9723
leaq 0x750(%rsp), %rdi
callq 0xd840
movslq 0x770(%rsp), %rsi
leaq 0x848(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0xe110
movq 0x1e8(%rsp), %rdi
movq %rax, 0x1f0(%rsp)
movslq 0x76c(%rsp), %rsi
callq 0xe110
movq 0x1f0(%rsp), %rsi
movq %rax, %rdx
leaq 0x738(%rsp), %rdi
callq 0x1c670
jmp 0x945a
leaq 0x750(%rsp), %rdi
movq %rdi, 0x1d0(%rsp)
leaq 0x738(%rsp), %rsi
movq %rsi, 0x1c0(%rsp)
callq 0xee20
movq 0x1c0(%rsp), %rdi
callq 0xdbe0
movq 0x218(%rsp), %rcx
movl 0x770(%rsp), %eax
movl 0x68(%rcx), %ecx
imull %ecx, %eax
movl 0x76c(%rsp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x830(%rsp), %rdi
movq %rdi, 0x1c8(%rsp)
callq 0xe110
movq 0x218(%rsp), %rcx
movq 0x1c8(%rsp), %rdi
movq %rax, 0x1d8(%rsp)
movl 0x770(%rsp), %eax
movl 0x68(%rcx), %ecx
imull %ecx, %eax
movl 0x76c(%rsp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
callq 0xe110
movq %rax, %rdi
callq 0xe890
movq %rax, 0x728(%rsp)
leaq 0x730(%rsp), %rdi
leaq 0x728(%rsp), %rsi
callq 0xef20
movq 0x1d0(%rsp), %rdi
callq 0xe890
movq 0x1d0(%rsp), %rdi
movq %rax, 0x720(%rsp)
callq 0xe8c0
movq 0x1d8(%rsp), %rdi
movq %rax, 0x718(%rsp)
movq 0x730(%rsp), %rsi
movq 0x720(%rsp), %rdx
movq 0x718(%rsp), %rcx
callq 0xee60
movq %rax, 0x1e0(%rsp)
jmp 0x9576
movq 0x218(%rsp), %rcx
movq 0x1e0(%rsp), %rax
movq %rax, 0x710(%rsp)
movl 0x770(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x76c(%rsp), %eax
movslq %eax, %rsi
leaq 0x830(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
callq 0xe130
movq 0x218(%rsp), %rcx
movl %eax, 0x1bc(%rsp)
movl 0x770(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x76c(%rsp), %eax
movslq %eax, %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movl 0x1bc(%rsp), %ecx
movl %ecx, (%rax)
movl $0x0, 0x70c(%rsp)
movq 0x218(%rsp), %rcx
movslq 0x70c(%rsp), %rax
movq %rax, 0x1b0(%rsp)
movl 0x770(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x76c(%rsp), %eax
movslq %eax, %rsi
leaq 0x830(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
callq 0xe130
movq %rax, %rcx
movq 0x1b0(%rsp), %rax
cmpq %rcx, %rax
jae 0x9716
movq 0x218(%rsp), %rcx
movl 0x770(%rsp), %eax
movl 0x68(%rcx), %ecx
imull %ecx, %eax
movl 0x76c(%rsp), %ecx
addl %ecx, %eax
movslq %eax, %rsi
leaq 0x830(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
movslq 0x70c(%rsp), %rsi
callq 0xe150
movslq (%rax), %rsi
leaq 0x7e8(%rsp), %rdi
callq 0xe110
movq 0x218(%rsp), %rcx
movq %rax, %rdi
movl 0x770(%rsp), %eax
movl 0x68(%rcx), %ecx
imull %ecx, %eax
movl 0x76c(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x708(%rsp)
leaq 0x708(%rsp), %rsi
callq 0xef60
jmp 0x96d8
jmp 0x96da
movl 0x70c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x70c(%rsp)
jmp 0x95fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x750(%rsp), %rdi
callq 0xdbe0
jmp 0xabe5
leaq 0x750(%rsp), %rdi
callq 0xdbe0
movl 0x76c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x76c(%rsp)
jmp 0x93cc
jmp 0x973b
movl 0x770(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x770(%rsp)
jmp 0x93a9
movq 0x218(%rsp), %rax
movslq 0x68(%rax), %rcx
movq %rcx, 0x198(%rsp)
subq $-0x80, %rax
movq %rax, 0x1a0(%rsp)
leaq 0x6df(%rsp), %rdi
movq %rdi, 0x1a8(%rsp)
callq 0xe1b0
movq 0x198(%rsp), %rsi
movq 0x1a0(%rsp), %rdx
movq 0x1a8(%rsp), %rcx
leaq 0x6e0(%rsp), %rdi
callq 0xe1c0
jmp 0x97ad
leaq 0x6df(%rsp), %rdi
callq 0xe240
movq 0x218(%rsp), %rax
movslq 0x68(%rax), %rax
movq %rax, 0x188(%rsp)
movl $0x1, 0x6bc(%rsp)
leaq 0x6bb(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0xe1b0
movq 0x188(%rsp), %rsi
movq 0x190(%rsp), %rcx
leaq 0x6c0(%rsp), %rdi
leaq 0x6bc(%rsp), %rdx
callq 0xe1c0
jmp 0x9815
leaq 0x6bb(%rsp), %rdi
callq 0xe240
movq 0x218(%rsp), %rax
movslq 0x68(%rax), %rax
movq %rax, 0x178(%rsp)
movb $0x0, 0x68f(%rsp)
leaq 0x68e(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0xe250
movq 0x178(%rsp), %rsi
movq 0x180(%rsp), %rcx
leaq 0x690(%rsp), %rdi
leaq 0x68f(%rsp), %rdx
callq 0xe260
jmp 0x987a
leaq 0x68e(%rsp), %rdi
callq 0xe2e0
movq 0x218(%rsp), %rdi
addq $0xa8, %rdi
callq 0xe300
movq 0x218(%rsp), %rdi
addq $0xc0, %rdi
callq 0xe320
xorps %xmm0, %xmm0
movsd %xmm0, 0x680(%rsp)
leaq 0x650(%rsp), %rdi
callq 0xe2f0
leaq 0x620(%rsp), %rdi
callq 0xe2f0
movl $0x0, 0x61c(%rsp)
movq 0x218(%rsp), %rdi
addq $0xa8, %rdi
callq 0xe130
movq 0x218(%rsp), %rcx
cmpl 0x7c(%rcx), %eax
jge 0xa117
leaq 0x818(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0xe890
movq 0x168(%rsp), %rdi
movq %rax, 0x608(%rsp)
callq 0xe8c0
movq %rax, 0x600(%rsp)
movq 0x608(%rsp), %rdi
movq 0x600(%rsp), %rsi
movsd 0x1a7c1(%rip), %xmm0    # 0x24110
callq 0xef90
movsd %xmm0, 0x170(%rsp)
jmp 0x995f
movsd 0x170(%rsp), %xmm0
movsd %xmm0, 0x610(%rsp)
movsd 0x1a777(%rip), %xmm0    # 0x240f0
ucomisd 0x610(%rsp), %xmm0
jbe 0x9a18
jmp 0xa117
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x6df(%rsp), %rdi
callq 0xe240
jmp 0xabe5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x6bb(%rsp), %rdi
callq 0xe240
jmp 0xabd8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x68e(%rsp), %rdi
callq 0xe2e0
jmp 0xabcb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xaba4
leaq 0x818(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0xe890
movq 0x158(%rsp), %rdi
movq %rax, 0x5f8(%rsp)
callq 0xe890
movq 0x158(%rsp), %rdi
movq %rax, 0x5e8(%rsp)
callq 0xe8c0
movq %rax, 0x5e0(%rsp)
movq 0x5e8(%rsp), %rdi
movq 0x5e0(%rsp), %rsi
callq 0xf040
movq %rax, 0x160(%rsp)
jmp 0x9a7e
movq 0x160(%rsp), %rax
movq %rax, 0x5f0(%rsp)
movq 0x5f8(%rsp), %rdi
movq 0x5f0(%rsp), %rsi
callq 0xf000
movq %rax, 0x150(%rsp)
jmp 0x9aad
movq 0x218(%rsp), %rcx
movq 0x150(%rsp), %rax
movl %eax, 0x704(%rsp)
movl 0x704(%rsp), %eax
movl 0x68(%rcx), %ecx
cltd
idivl %ecx
movl %eax, 0x700(%rsp)
leaq 0x650(%rsp), %rdi
leaq 0x700(%rsp), %rsi
callq 0xe4a0
movb %dl, 0x147(%rsp)
movq %rax, 0x148(%rsp)
jmp 0x9afe
movq 0x218(%rsp), %rcx
movb 0x147(%rsp), %al
movq 0x148(%rsp), %rdx
movq %rdx, 0x5d0(%rsp)
movb %al, 0x5d8(%rsp)
movl 0x704(%rsp), %eax
movl 0x68(%rcx), %ecx
cltd
idivl %ecx
movl %edx, 0x6fc(%rsp)
leaq 0x620(%rsp), %rdi
leaq 0x6fc(%rsp), %rsi
callq 0xe4a0
movb %dl, 0x137(%rsp)
movq %rax, 0x138(%rsp)
jmp 0x9b5e
movb 0x137(%rsp), %al
movq 0x138(%rsp), %rcx
movq %rcx, 0x5c0(%rsp)
movb %al, 0x5c8(%rsp)
movslq 0x700(%rsp), %rsi
leaq 0x6e0(%rsp), %rdi
callq 0xe150
cmpl $0x0, (%rax)
je 0x9bb0
movslq 0x6fc(%rsp), %rsi
leaq 0x6c0(%rsp), %rdi
callq 0xe150
cmpl $0x0, (%rax)
jne 0x9bd0
movslq 0x704(%rsp), %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
jmp 0x98e0
movq 0x218(%rsp), %rdi
addq $0xa8, %rdi
leaq 0x704(%rsp), %rsi
callq 0xe060
jmp 0x9bee
movq 0x218(%rsp), %rax
addq $0xc0, %rax
movq %rax, 0x128(%rsp)
movslq 0x704(%rsp), %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movq 0x128(%rsp), %rdi
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, 0x5b8(%rsp)
leaq 0x5b8(%rsp), %rsi
callq 0xf090
jmp 0x9c3d
movslq 0x700(%rsp), %rsi
leaq 0x6e0(%rsp), %rdi
callq 0xe150
movl (%rax), %ecx
subl $0x1, %ecx
movl %ecx, (%rax)
movslq 0x6fc(%rsp), %rsi
leaq 0x6e0(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
movslq 0x6fc(%rsp), %rsi
leaq 0x6c0(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
movslq 0x700(%rsp), %rsi
leaq 0x6c0(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
movslq 0x700(%rsp), %rsi
leaq 0x6e0(%rsp), %rdi
callq 0xe150
cmpl $0x0, (%rax)
jg 0x9d28
movl $0x0, 0x5b4(%rsp)
movq 0x218(%rsp), %rcx
movl 0x5b4(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x9d26
movq 0x218(%rsp), %rcx
movl 0x700(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x5b4(%rsp), %eax
movslq %eax, %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
movl 0x5b4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5b4(%rsp)
jmp 0x9ccf
jmp 0x9d28
movl $0x0, 0x5b0(%rsp)
movq 0x218(%rsp), %rcx
movl 0x5b0(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x9df1
movq 0x218(%rsp), %rcx
movl 0x5b0(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x6fc(%rsp), %eax
movslq %eax, %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movq 0x218(%rsp), %rcx
movl $0x0, (%rax)
movl 0x5b0(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x700(%rsp), %eax
movslq %eax, %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movq 0x218(%rsp), %rcx
movl $0x0, (%rax)
movl 0x6fc(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x5b0(%rsp), %eax
movslq %eax, %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
movl 0x5b0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5b0(%rsp)
jmp 0x9d33
leaq 0x650(%rsp), %rdi
callq 0xe570
movq 0x218(%rsp), %rcx
movslq 0x78(%rcx), %rcx
cmpq %rcx, %rax
jne 0x9f13
cmpl $0x0, 0x61c(%rsp)
jne 0x9f13
movl $0x0, 0x5ac(%rsp)
movq 0x218(%rsp), %rcx
movl 0x5ac(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x9f08
leaq 0x650(%rsp), %rdi
leaq 0x5ac(%rsp), %rsi
callq 0xe580
movq %rax, 0x120(%rsp)
jmp 0x9e63
movq 0x120(%rsp), %rax
cmpq $0x0, %rax
jne 0x9ef0
movslq 0x5ac(%rsp), %rsi
leaq 0x6e0(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
movl $0x0, 0x5a8(%rsp)
movq 0x218(%rsp), %rcx
movl 0x5a8(%rsp), %eax
cmpl 0x68(%rcx), %eax
jge 0x9eee
movq 0x218(%rsp), %rcx
movl 0x5ac(%rsp), %eax
imull 0x68(%rcx), %eax
addl 0x5a8(%rsp), %eax
movslq %eax, %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movl $0x0, (%rax)
movl 0x5a8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5a8(%rsp)
jmp 0x9e97
jmp 0x9ef0
jmp 0x9ef2
movl 0x5ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5ac(%rsp)
jmp 0x9e2c
movl $0x1, 0x61c(%rsp)
movslq 0x704(%rsp), %rsi
leaq 0x830(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
callq 0xe130
movl %eax, 0x5a4(%rsp)
movl $0x0, 0x5a0(%rsp)
movl 0x5a0(%rsp), %eax
cmpl 0x5a4(%rsp), %eax
jge 0xa112
movslq 0x704(%rsp), %rsi
leaq 0x830(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
movslq 0x5a0(%rsp), %rsi
callq 0xe150
movl (%rax), %eax
movl %eax, 0x59c(%rsp)
movslq 0x59c(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0xe5e0
movq %rdx, 0x110(%rsp)
movq %rax, 0x118(%rsp)
jmp 0x9fab
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
movq %rcx, 0x588(%rsp)
movq %rax, 0x590(%rsp)
leaq 0x588(%rsp), %rdi
callq 0xe640
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0xa0fa
movslq 0x59c(%rsp), %rsi
leaq 0x7e8(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
callq 0xe130
movl %eax, 0x584(%rsp)
movl $0x0, 0x580(%rsp)
movl 0x580(%rsp), %eax
cmpl 0x584(%rsp), %eax
jge 0xa0a1
movslq 0x59c(%rsp), %rsi
leaq 0x7e8(%rsp), %rdi
callq 0xe110
movq %rax, %rdi
movslq 0x580(%rsp), %rsi
callq 0xe150
movl (%rax), %eax
movl %eax, 0x57c(%rsp)
movslq 0x57c(%rsp), %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
cmpl $0x0, (%rax)
je 0xa089
movslq 0x57c(%rsp), %rsi
leaq 0x818(%rsp), %rdi
callq 0xe150
movl (%rax), %ecx
addl $-0x1, %ecx
movl %ecx, (%rax)
jmp 0xa08b
movl 0x580(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x580(%rsp)
jmp 0xa015
movslq 0x59c(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0xe5e0
movq %rdx, 0x100(%rsp)
movq %rax, 0x108(%rsp)
jmp 0xa0c8
movq 0x100(%rsp), %rax
movq 0x108(%rsp), %rcx
movq %rcx, 0x568(%rsp)
movq %rax, 0x570(%rsp)
leaq 0x568(%rsp), %rdi
movl $0x1, %esi
callq 0xe670
jmp 0xa0fc
movl 0x5a0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5a0(%rsp)
jmp 0x9f42
jmp 0x98e0
movl $0x0, 0x564(%rsp)
movq 0x218(%rsp), %rdi
movslq 0x564(%rsp), %rax
movq %rax, 0xf8(%rsp)
addq $0xc0, %rdi
callq 0xe6c0
movq %rax, %rcx
movq 0xf8(%rsp), %rax
cmpq %rcx, %rax
jae 0xa19b
movq 0x218(%rsp), %rdi
addq $0xc0, %rdi
movslq 0x564(%rsp), %rsi
callq 0xe170
movsd (%rax), %xmm0
addsd 0x680(%rsp), %xmm0
movsd %xmm0, 0x680(%rsp)
movl 0x564(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x564(%rsp)
jmp 0xa122
movl $0x0, 0x560(%rsp)
movl $0x0, 0x55c(%rsp)
movslq 0x55c(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0x690(%rsp), %rdi
callq 0xe6e0
movq %rax, %rcx
movq 0xf0(%rsp), %rax
cmpq %rcx, %rax
jae 0xa265
movslq 0x55c(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0xe5e0
movq %rdx, 0xe0(%rsp)
movq %rax, 0xe8(%rsp)
jmp 0xa209
movq 0xe0(%rsp), %rax
movq 0xe8(%rsp), %rcx
movq %rcx, 0x548(%rsp)
movq %rax, 0x550(%rsp)
leaq 0x548(%rsp), %rdi
callq 0xe640
testb $0x1, %al
jne 0xa23c
jmp 0xa24d
movl 0x560(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x560(%rsp)
jmp 0xa24f
movl 0x55c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x55c(%rsp)
jmp 0xa1b1
movq 0x24d6c(%rip), %rdi     # 0x2efd8
leaq 0x1a0a8(%rip), %rsi     # 0x2431b
callq 0x4370
movq %rax, 0xd8(%rsp)
jmp 0xa282
movq 0xd8(%rsp), %rdi
movsd 0x680(%rsp), %xmm0
callq 0x46d0
movq %rax, 0xd0(%rsp)
jmp 0xa2a2
movq 0xd0(%rsp), %rdi
leaq 0x19f8b(%rip), %rsi     # 0x2423c
callq 0x4370
movq %rax, 0xc8(%rsp)
jmp 0xa2c0
movq 0xc8(%rsp), %rdi
movl 0x560(%rsp), %esi
callq 0x4650
movq %rax, 0xc0(%rsp)
jmp 0xa2de
movq 0xc0(%rsp), %rdi
movq 0x24cdb(%rip), %rsi     # 0x2efc8
callq 0x43c0
jmp 0xa2f4
callq 0x4230
movq %rax, %rcx
movq 0x218(%rsp), %rax
movq %rcx, 0x540(%rsp)
movq 0x540(%rsp), %rcx
movq 0x860(%rsp), %rdx
subq %rdx, %rcx
cvtsi2sd %rcx, %xmm0
movsd 0x19dcc(%rip), %xmm1    # 0x240f8
divsd %xmm1, %xmm0
movsd 0x8(%rax), %xmm1
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xb70(%rax)
callq 0x1be40
movss %xmm0, 0xbc(%rsp)
jmp 0xa355
movq 0x218(%rsp), %rax
movss 0xbc(%rsp), %xmm0
movss %xmm0, 0xb74(%rax)
movl $0x0, 0x53c(%rsp)
leaq 0x650(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xe760
movq 0xa8(%rsp), %rdi
movq %rax, 0x518(%rsp)
callq 0xe790
movq %rax, 0x510(%rsp)
leaq 0x50f(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0xe1b0
movq 0xb0(%rsp), %rcx
movq 0x518(%rsp), %rsi
movq 0x510(%rsp), %rdx
leaq 0x520(%rsp), %rdi
callq 0xe7c0
jmp 0xa3e7
leaq 0x50f(%rsp), %rdi
callq 0xe240
leaq 0x620(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xe760
movq 0x98(%rsp), %rdi
movq %rax, 0x4e8(%rsp)
callq 0xe790
movq %rax, 0x4e0(%rsp)
leaq 0x4df(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0xe1b0
movq 0xa0(%rsp), %rcx
movq 0x4e8(%rsp), %rsi
movq 0x4e0(%rsp), %rdx
leaq 0x4f0(%rsp), %rdi
callq 0xe7c0
jmp 0xa462
leaq 0x4df(%rsp), %rdi
callq 0xe240
leaq 0x520(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xe890
movq 0x90(%rsp), %rdi
movq %rax, 0x4d0(%rsp)
callq 0xe8c0
movq %rax, 0x4c8(%rsp)
movq 0x4d0(%rsp), %rdi
movq 0x4c8(%rsp), %rsi
callq 0xe850
jmp 0xa4b8
leaq 0x4f0(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0xe890
movq 0x88(%rsp), %rdi
movq %rax, 0x4c0(%rsp)
callq 0xe8c0
movq %rax, 0x4b8(%rsp)
movq 0x4c0(%rsp), %rdi
movq 0x4b8(%rsp), %rsi
callq 0xe850
jmp 0xa501
movl $0x0, 0x4b4(%rsp)
movslq 0x4b4(%rsp), %rax
cmpq 0x868(%rsp), %rax
jge 0xa791
movq 0x218(%rsp), %rax
movq 0xae8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe0d0
movq %rax, 0x80(%rsp)
jmp 0xa544
movq 0x80(%rsp), %rax
movq (%rax), %rdi
addq $0x18, %rdi
movslq 0x4b4(%rsp), %rsi
callq 0xe110
movq %rax, %rsi
leaq 0x498(%rsp), %rdi
callq 0xe8f0
jmp 0xa572
movq 0x218(%rsp), %rax
movq 0xae8(%rax), %rdi
movl $0x1, %esi
callq 0xe0d0
movq %rax, 0x78(%rsp)
jmp 0xa592
movq 0x78(%rsp), %rax
movq (%rax), %rdi
addq $0x18, %rdi
movslq 0x4b4(%rsp), %rsi
callq 0xe110
movq %rax, %rsi
leaq 0x480(%rsp), %rdi
callq 0xe8f0
jmp 0xa5bd
leaq 0x498(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0xe890
movq 0x70(%rsp), %rdi
movq %rax, 0x478(%rsp)
callq 0xe8c0
movq %rax, 0x470(%rsp)
movq 0x478(%rsp), %rdi
movq 0x470(%rsp), %rsi
callq 0xe850
jmp 0xa600
leaq 0x480(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xe890
movq 0x68(%rsp), %rdi
movq %rax, 0x468(%rsp)
callq 0xe8c0
movq %rax, 0x460(%rsp)
movq 0x468(%rsp), %rdi
movq 0x460(%rsp), %rsi
callq 0xe850
jmp 0xa643
leaq 0x520(%rsp), %rdi
leaq 0x498(%rsp), %rsi
callq 0xe9f0
movq %rax, 0x60(%rsp)
jmp 0xa65f
movq 0x60(%rsp), %rax
cmpq $0x1, %rax
jb 0xa74f
leaq 0x4f0(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0xe9f0
movq %rax, 0x58(%rsp)
jmp 0xa68a
movq 0x58(%rsp), %rax
cmpq $0x1, %rax
jb 0xa74d
movl 0x53c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x53c(%rsp)
jmp 0xa74d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x50f(%rsp), %rdi
callq 0xe240
jmp 0xaba4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x4df(%rsp), %rdi
callq 0xe240
jmp 0xab97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xab8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xa77f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x480(%rsp), %rdi
callq 0xdbe0
jmp 0xa77f
jmp 0xa74f
leaq 0x480(%rsp), %rdi
callq 0xdbe0
leaq 0x498(%rsp), %rdi
callq 0xdbe0
movl 0x4b4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4b4(%rsp)
jmp 0xa50c
leaq 0x498(%rsp), %rdi
callq 0xdbe0
jmp 0xab8a
cvtsi2ssl 0x53c(%rsp), %xmm0
cvtsi2ssq 0x868(%rsp), %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x45c(%rsp)
movq 0x24820(%rip), %rdi     # 0x2efd8
leaq 0x19b83(%rip), %rsi     # 0x24342
callq 0x4370
movq %rax, 0x50(%rsp)
jmp 0xa7cb
movq 0x50(%rsp), %rdi
movq 0x218(%rsp), %rax
movss 0x45c(%rsp), %xmm0
cvtsi2ssl 0x68(%rax), %xmm1
mulss %xmm1, %xmm0
callq 0x4270
movq %rax, 0x48(%rsp)
jmp 0xa7f6
movq 0x48(%rsp), %rdi
movq 0x247c6(%rip), %rsi     # 0x2efc8
callq 0x43c0
jmp 0xa809
leaq 0x2e0(%rsp), %rdi
callq 0x44c0
jmp 0xa818
leaq 0x4261(%rip), %rsi      # 0xea80
leaq 0x2e0(%rsp), %rdi
callq 0x40f0
movq %rax, 0x40(%rsp)
jmp 0xa833
movl $0x2, %edi
callq 0xeaa0
movl %eax, 0x3c(%rsp)
jmp 0xa843
movq 0x40(%rsp), %rdi
movl 0x3c(%rsp), %eax
movl %eax, 0x2dc(%rsp)
movl 0x2dc(%rsp), %esi
callq 0x45a0
movq %rax, 0x30(%rsp)
jmp 0xa866
movq 0x30(%rsp), %rdi
movq 0x218(%rsp), %rax
movss 0x45c(%rsp), %xmm0
cvtsi2ssl 0x68(%rax), %xmm1
mulss %xmm1, %xmm0
callq 0x4270
movq %rax, 0x28(%rsp)
jmp 0xa891
movq 0x28(%rsp), %rdi
leaq 0x199e4(%rip), %rsi     # 0x24281
callq 0x4370
movq %rax, 0x20(%rsp)
jmp 0xa8a9
movq 0x20(%rsp), %rdi
movsd 0x680(%rsp), %xmm0
callq 0x46d0
movq %rax, 0x18(%rsp)
jmp 0xa8c3
movq 0x18(%rsp), %rdi
leaq 0x19eb5(%rip), %rsi     # 0x24784
callq 0x4370
jmp 0xa8d6
leaq 0x2b7(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x4690
movq 0x10(%rsp), %rdx
leaq 0x19a65(%rip), %rsi     # 0x24359
leaq 0x2b8(%rsp), %rdi
callq 0x44f0
jmp 0xa903
movq 0x218(%rsp), %rax
movss 0xb70(%rax), %xmm0
movss %xmm0, 0x8(%rsp)
movss 0xb74(%rax), %xmm0
movss %xmm0, 0xc(%rsp)
leaq 0x290(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
callq 0x4390
jmp 0xa93e
leaq 0x260(%rsp), %rdi
leaq 0x650(%rsp), %rsi
callq 0xeac0
jmp 0xa955
leaq 0x230(%rsp), %rdi
leaq 0x620(%rsp), %rsi
callq 0xeac0
jmp 0xa96c
movss 0xc(%rsp), %xmm1
movss 0x8(%rsp), %xmm0
movq 0x218(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
leaq 0x290(%rsp), %rdx
leaq 0x260(%rsp), %rcx
leaq 0x230(%rsp), %r8
callq 0xd380
jmp 0xa9a7
leaq 0x230(%rsp), %rdi
callq 0xeaf0
leaq 0x260(%rsp), %rdi
callq 0xeaf0
leaq 0x290(%rsp), %rdi
callq 0x41f0
leaq 0x2b8(%rsp), %rdi
callq 0x41f0
leaq 0x2b7(%rsp), %rdi
callq 0x43e0
movq 0x218(%rsp), %rax
movss 0x45c(%rsp), %xmm0
cvtsi2ssl 0x68(%rax), %xmm1
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, (%rsp)
leaq 0x2e0(%rsp), %rdi
callq 0x40c0
leaq 0x4f0(%rsp), %rdi
callq 0xdbe0
leaq 0x520(%rsp), %rdi
callq 0xdbe0
leaq 0x620(%rsp), %rdi
callq 0xeaf0
leaq 0x650(%rsp), %rdi
callq 0xeaf0
leaq 0x690(%rsp), %rdi
callq 0xeb00
leaq 0x6c0(%rsp), %rdi
callq 0xdbe0
leaq 0x6e0(%rsp), %rdi
callq 0xdbe0
leaq 0x7e8(%rsp), %rdi
callq 0xde70
leaq 0x818(%rsp), %rdi
callq 0xdbe0
leaq 0x830(%rsp), %rdi
callq 0xde70
leaq 0x848(%rsp), %rdi
callq 0xde70
movsd (%rsp), %xmm0
addq $0x878, %rsp            # imm = 0x878
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xab7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xab70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xab63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xab56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
jmp 0xab49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x808(%rsp)
movl %eax, 0x804(%rsp)
leaq 0x230(%rsp), %rdi
callq 0xeaf0
leaq 0x260(%rsp), %rdi
callq 0xeaf0
leaq 0x290(%rsp), %rdi
callq 0x41f0
leaq 0x2b8(%rsp), %rdi
callq 0x41f0
leaq 0x2b7(%rsp), %rdi
callq 0x43e0
leaq 0x2e0(%rsp), %rdi
callq 0x40c0
leaq 0x4f0(%rsp), %rdi
callq 0xdbe0
leaq 0x520(%rsp), %rdi
callq 0xdbe0
leaq 0x620(%rsp), %rdi
callq 0xeaf0
leaq 0x650(%rsp), %rdi
callq 0xeaf0
leaq 0x690(%rsp), %rdi
callq 0xeb00
leaq 0x6c0(%rsp), %rdi
callq 0xdbe0
leaq 0x6e0(%rsp), %rdi
callq 0xdbe0
leaq 0x7e8(%rsp), %rdi
callq 0xde70
leaq 0x818(%rsp), %rdi
callq 0xdbe0
leaq 0x830(%rsp), %rdi
callq 0xde70
leaq 0x848(%rsp), %rdi
callq 0xde70
movq 0x808(%rsp), %rdi
callq 0x4680
nopw %cs:(%rax,%rax)