// File: Lut99[P]RayTracer/src/RayTracer.cpp
// Function: main
int main(int argc, char** argv) {
    std::string filename, scenename, temppath;
    unsigned int screen_width, screen_height, number_of_rays, n_threads, batch_size, vfov, fps, n_frames;
    bool show_progressbar, correct_gamma, dynamic_writing;
    double aperture;

    Options arguments("RayTracer", "Renders images using a custom-written RayTracer.");
    arguments.add_options()
        ("f,filename", "The name of the output picture (relative to the run directory). If more than one frames are rendered, this will be an .mp4.", value<string>())
        ("s,scene", "Path to the JSON file that will be used to create a RenderWorld", value<string>())
        ("T,temppath", "Path to a folder where all the frames will be saved before creating an .mp4", value<string>())
        ("W,width", "The width (in pixels) of the output image", value<unsigned int>())
        ("H,height", "The height (in pixels) of the output image", value<unsigned int>())
        ("r,rays", "The number of rays shot per pixel", value<unsigned int>())
        ("v,vfov", "Specifies the field of view for the camera.", value<unsigned int>())
        ("a,aperture", "Determines the aperture of the camera. Determines the amount of blur.", value<double>())
        ("n,n_frames", "The number of frames that will be rendered. If this is higher than one, then a .mp4 is created.", value<unsigned int>())
        ("F,framerate", "The framerate of the output video.", value<unsigned int>())
        ("d,dynamic_write", "If given, writes the frame immediately to disk when rendered.")
        ("p,progressbar", "If given, shows a progressbar to indice the render process")
        ("g,gamma", "If given, corrects the gamma before saving")
        #ifdef THREADED
        ("t,threads", "The number of threads this program runs", value<unsigned int>())
        ("b,batch_size", "The batch size for the ThreadPool", value<unsigned int>())
        #endif
        ;
    
    auto result = arguments.parse(argc, argv);
    
    if (result.count("filename")) {
        filename = result["filename"].as<string>();
    } else {
        filename = "output/out1.";
    }
    if (result.count("scene")) {
        scenename = result["scene"].as<string>();
    } else {
        scenename = "";
    }
    if (result.count("temppath")) {
        temppath = result["temppath"].as<string>();
    } else {
        temppath = "output/animation";
    }

    try {
        screen_width = result["width"].as<unsigned int>();
    } catch (domain_error&) {
        screen_width = 1000;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse image width: " << opt.what() << endl;
        exit(-1);
    }
    try {
        screen_height = result["height"].as<unsigned int>();
    } catch (domain_error&) {
        screen_height = 500;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse image height: " << opt.what() << endl;
        exit(-1);
    }
    try {
        number_of_rays = result["rays"].as<unsigned int>();
    } catch (domain_error&) {
        number_of_rays = 500;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse number of rays: " << opt.what() << endl;
        exit(-1);
    }
    try {
        vfov = result["vfov"].as<unsigned int>();
    } catch (domain_error&) {
        vfov = 90;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse field of view: " << opt.what() << endl;
        exit(-1);
    }
    try {
        fps = result["framerate"].as<unsigned int>();
    } catch (domain_error&) {
        fps = 30;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse framerate: " << opt.what() << endl;
        exit(-1);
    }
    try {
        n_frames = result["n_frames"].as<unsigned int>();
    } catch (domain_error&) {
        n_frames = 1;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse number of frames: " << opt.what() << endl;
        exit(-1);
    }
    try {
        aperture = result["aperture"].as<double>();
    } catch (domain_error&) {
        aperture = 0.1;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse aperture: " << opt.what() << endl;
        exit(-1);
    }
    show_progressbar = result.count("progressbar") != 0;
    correct_gamma = result.count("gamma") != 0;
    dynamic_writing = result.count("dynamic_write") != 0;
    #ifdef THREADED
    try {
        n_threads = result["threads"].as<unsigned int>();
    } catch (domain_error&) {
        n_threads = 16;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse number of threads: " << opt.what() << endl;
        exit(-1);
    }
    try {
        batch_size = result["batch_size"].as<unsigned int>();
    } catch (domain_error&) {
        batch_size = 1000;
    } catch (OptionParseException& opt) {
        cerr << "Could not parse batch size: " << opt.what() << endl;
        exit(-1);
    }
    #else
    n_threads = 16;
    batch_size = 1000;
    #endif

    // Fix the output file if needed
    if (filename[filename.length() - 1] == '.') {
        if (n_frames == 1) {
            filename += "png";
        } else {
            filename += "mp4";
        }
    }

    cout << endl << "*** RayTracer Renderer ***" << endl << endl;
    cout << "Using options:" << endl;
    cout << "  Output file         : " << filename << endl;
    if (scenename != "") {
        cout << "  Scene used          : " << scenename << endl;
    }
    if (n_frames > 1) {
        cout << "  Temp output dict    : " << temppath << endl;
    }
    cout << "  Image dimensions    : " << screen_width << "x" << screen_height << "px" << endl;
    cout << "  Number of frames    : " << n_frames << endl;
    if (n_frames > 1) {
        cout << "  Framerate           : " << fps << endl;
    }
    cout << "  Number of rays      : " << number_of_rays << endl;
    #ifdef THREADED
    cout << "  Number of threads   : " << n_threads << endl;
    cout << "  Batch size          : " << batch_size << endl;
    #endif
    cout << "  Field of view       : " << vfov << endl;
    cout << "  Aperture            : " << aperture << endl;
    cout << "  Correct for gamma   ? ";
    if (correct_gamma) {
        cout << "yes" << endl;
    } else {
        cout << "no" << endl;
    }
    if (n_frames > 1) {
        cout << "  Write frames dynamic? ";
        if (dynamic_writing) {
            cout << "yes" << endl;
        } else {
            cout << "no" << endl;
        }
    }

    RenderWorld* world;
    Camera *cam = NULL;
    if (scenename.empty()) {
        cout << endl << "Creating default scene..." << endl;
        cout << "  Generating world..." << endl;
        world = create_default_renderworld();
        cout << "  Done, counting " << world->get_object_count() << " objects" << endl;

        cout << "  Generating camera..." << endl;
        cam = create_default_camera(vfov, aperture, screen_width, screen_height, number_of_rays, correct_gamma);
        cout << "  Done" << endl;

        cout << "Done" << endl;
    } else {
        // Open a filestream to the input scene
        cout << endl << "Loading JSON..." << endl;
        ifstream scene_file(scenename);
        if (!scene_file.is_open()) {
            cerr << "Could not open file: " << string_error(errno) << endl;
            exit(-1);
        }

        // Load a JSON from it
        nlohmann::json j;
        scene_file >> j;
        scene_file.close();

        // Check if the j is an object
        if (!j.is_object()) {
            cerr << "JSON in file \"" << scenename << "\" is not a JSON object" << endl;
            exit(-1);
        }

        // Load all the objects (if present)
        if (!j["world"].is_null()) {
            cout << "  Loading world..." << endl;
            try {
                world = RenderWorld::from_json(j["world"]);
            } catch (JSONException& e) {
                cerr << e.what() << endl;
                exit(-1);
            }
        } else {
            cout << "  Generating world..." << endl;
            world = create_default_renderworld();
        }
        cout << "  Done, counting " << world->get_object_count() << " objects" << endl;

        // Load any camera
        if (!j["camera"].is_null()) {
            cout << "  Loading camera..." << endl;

            // Load the actual object
            cam = Camera::from_json(j["camera"]);

            // Update it to make sure it has some meta variables
            update_camera(cam, screen_width, screen_height, number_of_rays, correct_gamma);
            
            // Let the camera compute some initial variables
            cam->recompute();

            // Print some nice stuff
            if (cam->vfov != vfov) {
                cout << "    Camera: overriding field of view to " << cam->vfov << endl;
            }
            if (cam->aperture != aperture) {
                cout << "    Camera: overriding aperture to " << cam->aperture << endl;
            }
        } else {
            cam = create_default_camera(vfov, aperture, screen_width, screen_height, number_of_rays, correct_gamma);
        }
        cout << "  Done" << endl;

        cout << "Done" << endl;
    }


    // Render one picture
    cout << endl << "Rendering..." << endl;
    Renderer renderer(n_threads, batch_size, show_progressbar);

    auto start = chrono::system_clock::now();
    auto stop = start;

    if (n_frames == 1) {
        Image out = renderer.render(world, cam);

        stop = chrono::system_clock::now();

        cout << "Writing output..." << endl;
        out.to_png(filename);
    } else {
        Frames out(cam->width, cam->height, n_frames, fps, temppath, dynamic_writing);
        renderer.render_animation(world, cam, out);

        stop = chrono::system_clock::now();

        cout << "Creating .mp4..." << endl;
        out.to_mp4(filename);
    }
    auto duration = stop - start;
    auto duration_ms = chrono::duration_cast<chrono::milliseconds>(duration);

    cout << "Done, rendering took " << ((double) duration_ms.count()) / 1000.0 << " seconds" << endl;

    // Delete the allocated objects
    delete world;
    delete cam;

    cout << endl <<  "Done." << endl << endl;
}

// Assembly:
subq $0x17d8, %rsp           # imm = 0x17D8
movl $0x0, 0x17d4(%rsp)
movl %edi, 0x17d0(%rsp)
movq %rsi, 0x17c8(%rsp)
leaq 0x17a8(%rsp), %rdi
callq 0xd07e0
leaq 0x1788(%rsp), %rdi
callq 0xd07e0
leaq 0x1768(%rsp), %rdi
callq 0xd07e0
leaq 0x15f7(%rsp), %rdi
movq %rdi, 0x688(%rsp)
callq 0xd0a20
movq 0x688(%rsp), %rdx
leaq 0x9ca42(%rip), %rsi     # 0x170c6e
leaq 0x15f8(%rsp), %rdi
callq 0xd8b80
jmp 0xd423b
leaq 0x15bf(%rsp), %rdi
movq %rdi, 0x680(%rsp)
callq 0xd0a20
movq 0x680(%rsp), %rdx
leaq 0x9ca19(%rip), %rsi     # 0x170c78
leaq 0x15c0(%rsp), %rdi
callq 0xd8b80
jmp 0xd426e
leaq 0x1618(%rsp), %rdi
leaq 0x15f8(%rsp), %rsi
leaq 0x15c0(%rsp), %rdx
callq 0xd8d20
jmp 0xd428d
leaq 0x15c0(%rsp), %rdi
callq 0xd0b38
leaq 0x15bf(%rsp), %rdi
callq 0xd0630
leaq 0x15f8(%rsp), %rdi
callq 0xd0b38
leaq 0x15f7(%rsp), %rdi
callq 0xd0630
leaq 0x156f(%rsp), %rdi
movq %rdi, 0x678(%rsp)
callq 0xd0a20
movq 0x678(%rsp), %rdx
leaq 0x9d506(%rip), %rsi     # 0x1717eb
leaq 0x1570(%rsp), %rdi
callq 0xd8b80
jmp 0xd42f4
leaq 0x1590(%rsp), %rdi
leaq 0x1618(%rsp), %rsi
leaq 0x1570(%rsp), %rdx
callq 0xd8ee0
jmp 0xd4313
leaq 0x1547(%rsp), %rdi
movq %rdi, 0x670(%rsp)
callq 0xd0a20
movq 0x670(%rsp), %rdx
leaq 0x9c972(%rip), %rsi     # 0x170ca9
leaq 0x1548(%rsp), %rdi
callq 0xd8b80
jmp 0xd4346
leaq 0x151f(%rsp), %rdi
movq %rdi, 0x668(%rsp)
callq 0xd0a20
movq 0x668(%rsp), %rdx
leaq 0x9c94a(%rip), %rsi     # 0x170cb4
leaq 0x1520(%rsp), %rdi
callq 0xd8b80
jmp 0xd4379
leaq 0x14f8(%rsp), %rdi
callq 0xd9290
jmp 0xd4388
leaq 0x1508(%rsp), %rdi
leaq 0x14f8(%rsp), %rsi
callq 0xd92e0
leaq 0x14d7(%rsp), %rdi
movq %rdi, 0x660(%rsp)
callq 0xd0a20
movq 0x660(%rsp), %rdx
leaq 0x9d42a(%rip), %rsi     # 0x1717eb
leaq 0x14d8(%rsp), %rdi
callq 0xd8b80
jmp 0xd43d0
leaq 0x1590(%rsp), %rdi
leaq 0x1548(%rsp), %rsi
leaq 0x1520(%rsp), %rdx
leaq 0x1508(%rsp), %rcx
leaq 0x14d8(%rsp), %r8
callq 0xd8f80
movq %rax, 0x658(%rsp)
jmp 0xd4407
leaq 0x14af(%rsp), %rdi
movq %rdi, 0x650(%rsp)
callq 0xd0a20
movq 0x650(%rsp), %rdx
leaq 0x9c905(%rip), %rsi     # 0x170d30
leaq 0x14b0(%rsp), %rdi
callq 0xd8b80
jmp 0xd443a
leaq 0x1487(%rsp), %rdi
movq %rdi, 0x648(%rsp)
callq 0xd0a20
movq 0x648(%rsp), %rdx
leaq 0x9c8da(%rip), %rsi     # 0x170d38
leaq 0x1488(%rsp), %rdi
callq 0xd8b80
jmp 0xd446d
leaq 0x1460(%rsp), %rdi
callq 0xd9290
jmp 0xd447c
leaq 0x1470(%rsp), %rdi
leaq 0x1460(%rsp), %rsi
callq 0xd92e0
leaq 0x143f(%rsp), %rdi
movq %rdi, 0x640(%rsp)
callq 0xd0a20
movq 0x640(%rsp), %rdx
leaq 0x9d336(%rip), %rsi     # 0x1717eb
leaq 0x1440(%rsp), %rdi
callq 0xd8b80
jmp 0xd44c4
movq 0x658(%rsp), %rdi
leaq 0x14b0(%rsp), %rsi
leaq 0x1488(%rsp), %rdx
leaq 0x1470(%rsp), %rcx
leaq 0x1440(%rsp), %r8
callq 0xd8f80
movq %rax, 0x638(%rsp)
jmp 0xd44fb
leaq 0x1417(%rsp), %rdi
movq %rdi, 0x630(%rsp)
callq 0xd0a20
movq 0x630(%rsp), %rdx
leaq 0x9c859(%rip), %rsi     # 0x170d78
leaq 0x1418(%rsp), %rdi
callq 0xd8b80
jmp 0xd452e
leaq 0x13ef(%rsp), %rdi
movq %rdi, 0x628(%rsp)
callq 0xd0a20
movq 0x628(%rsp), %rdx
leaq 0x9c831(%rip), %rsi     # 0x170d83
leaq 0x13f0(%rsp), %rdi
callq 0xd8b80
jmp 0xd4561
leaq 0x13c8(%rsp), %rdi
callq 0xd9290
jmp 0xd4570
leaq 0x13d8(%rsp), %rdi
leaq 0x13c8(%rsp), %rsi
callq 0xd92e0
leaq 0x13a7(%rsp), %rdi
movq %rdi, 0x620(%rsp)
callq 0xd0a20
movq 0x620(%rsp), %rdx
leaq 0x9d242(%rip), %rsi     # 0x1717eb
leaq 0x13a8(%rsp), %rdi
callq 0xd8b80
jmp 0xd45b8
movq 0x638(%rsp), %rdi
leaq 0x1418(%rsp), %rsi
leaq 0x13f0(%rsp), %rdx
leaq 0x13d8(%rsp), %rcx
leaq 0x13a8(%rsp), %r8
callq 0xd8f80
movq %rax, 0x618(%rsp)
jmp 0xd45ef
leaq 0x137f(%rsp), %rdi
movq %rdi, 0x610(%rsp)
callq 0xd0a20
movq 0x610(%rsp), %rdx
leaq 0x9c7bc(%rip), %rsi     # 0x170dcf
leaq 0x1380(%rsp), %rdi
callq 0xd8b80
jmp 0xd4622
leaq 0x1357(%rsp), %rdi
movq %rdi, 0x608(%rsp)
callq 0xd0a20
movq 0x608(%rsp), %rdx
leaq 0x9c791(%rip), %rsi     # 0x170dd7
leaq 0x1358(%rsp), %rdi
callq 0xd8b80
jmp 0xd4655
leaq 0x1330(%rsp), %rdi
callq 0xd9310
jmp 0xd4664
leaq 0x1340(%rsp), %rdi
leaq 0x1330(%rsp), %rsi
callq 0xd92e0
leaq 0x130f(%rsp), %rdi
movq %rdi, 0x600(%rsp)
callq 0xd0a20
movq 0x600(%rsp), %rdx
leaq 0x9d14e(%rip), %rsi     # 0x1717eb
leaq 0x1310(%rsp), %rdi
callq 0xd8b80
jmp 0xd46ac
movq 0x618(%rsp), %rdi
leaq 0x1380(%rsp), %rsi
leaq 0x1358(%rsp), %rdx
leaq 0x1340(%rsp), %rcx
leaq 0x1310(%rsp), %r8
callq 0xd8f80
movq %rax, 0x5f8(%rsp)
jmp 0xd46e3
leaq 0x12e7(%rsp), %rdi
movq %rdi, 0x5f0(%rsp)
callq 0xd0a20
movq 0x5f0(%rsp), %rdx
leaq 0x9c6fa(%rip), %rsi     # 0x170e01
leaq 0x12e8(%rsp), %rdi
callq 0xd8b80
jmp 0xd4716
leaq 0x12bf(%rsp), %rdi
movq %rdi, 0x5e8(%rsp)
callq 0xd0a20
movq 0x5e8(%rsp), %rdx
leaq 0x9c6d0(%rip), %rsi     # 0x170e0a
leaq 0x12c0(%rsp), %rdi
callq 0xd8b80
jmp 0xd4749
leaq 0x1298(%rsp), %rdi
callq 0xd9310
jmp 0xd4758
leaq 0x12a8(%rsp), %rdi
leaq 0x1298(%rsp), %rsi
callq 0xd92e0
leaq 0x1277(%rsp), %rdi
movq %rdi, 0x5e0(%rsp)
callq 0xd0a20
movq 0x5e0(%rsp), %rdx
leaq 0x9d05a(%rip), %rsi     # 0x1717eb
leaq 0x1278(%rsp), %rdi
callq 0xd8b80
jmp 0xd47a0
movq 0x5f8(%rsp), %rdi
leaq 0x12e8(%rsp), %rsi
leaq 0x12c0(%rsp), %rdx
leaq 0x12a8(%rsp), %rcx
leaq 0x1278(%rsp), %r8
callq 0xd8f80
movq %rax, 0x5d8(%rsp)
jmp 0xd47d7
leaq 0x124f(%rsp), %rdi
movq %rdi, 0x5d0(%rsp)
callq 0xd0a20
movq 0x5d0(%rsp), %rdx
leaq 0x9c63a(%rip), %rsi     # 0x170e35
leaq 0x1250(%rsp), %rdi
callq 0xd8b80
jmp 0xd480a
leaq 0x1227(%rsp), %rdi
movq %rdi, 0x5c8(%rsp)
callq 0xd0a20
movq 0x5c8(%rsp), %rdx
leaq 0x9c60e(%rip), %rsi     # 0x170e3c
leaq 0x1228(%rsp), %rdi
callq 0xd8b80
jmp 0xd483d
leaq 0x1200(%rsp), %rdi
callq 0xd9310
jmp 0xd484c
leaq 0x1210(%rsp), %rdi
leaq 0x1200(%rsp), %rsi
callq 0xd92e0
leaq 0x11df(%rsp), %rdi
movq %rdi, 0x5c0(%rsp)
callq 0xd0a20
movq 0x5c0(%rsp), %rdx
leaq 0x9cf66(%rip), %rsi     # 0x1717eb
leaq 0x11e0(%rsp), %rdi
callq 0xd8b80
jmp 0xd4894
movq 0x5d8(%rsp), %rdi
leaq 0x1250(%rsp), %rsi
leaq 0x1228(%rsp), %rdx
leaq 0x1210(%rsp), %rcx
leaq 0x11e0(%rsp), %r8
callq 0xd8f80
movq %rax, 0x5b8(%rsp)
jmp 0xd48cb
leaq 0x11b7(%rsp), %rdi
movq %rdi, 0x5b0(%rsp)
callq 0xd0a20
movq 0x5b0(%rsp), %rdx
leaq 0x9c56f(%rip), %rsi     # 0x170e5e
leaq 0x11b8(%rsp), %rdi
callq 0xd8b80
jmp 0xd48fe
leaq 0x118f(%rsp), %rdi
movq %rdi, 0x5a8(%rsp)
callq 0xd0a20
movq 0x5a8(%rsp), %rdx
leaq 0x9c543(%rip), %rsi     # 0x170e65
leaq 0x1190(%rsp), %rdi
callq 0xd8b80
jmp 0xd4931
leaq 0x1168(%rsp), %rdi
callq 0xd9310
jmp 0xd4940
leaq 0x1178(%rsp), %rdi
leaq 0x1168(%rsp), %rsi
callq 0xd92e0
leaq 0x1147(%rsp), %rdi
movq %rdi, 0x5a0(%rsp)
callq 0xd0a20
movq 0x5a0(%rsp), %rdx
leaq 0x9ce72(%rip), %rsi     # 0x1717eb
leaq 0x1148(%rsp), %rdi
callq 0xd8b80
jmp 0xd4988
movq 0x5b8(%rsp), %rdi
leaq 0x11b8(%rsp), %rsi
leaq 0x1190(%rsp), %rdx
leaq 0x1178(%rsp), %rcx
leaq 0x1148(%rsp), %r8
callq 0xd8f80
movq %rax, 0x598(%rsp)
jmp 0xd49bf
leaq 0x111f(%rsp), %rdi
movq %rdi, 0x590(%rsp)
callq 0xd0a20
movq 0x590(%rsp), %rdx
leaq 0x9c4ae(%rip), %rsi     # 0x170e91
leaq 0x1120(%rsp), %rdi
callq 0xd8b80
jmp 0xd49f2
leaq 0x10f7(%rsp), %rdi
movq %rdi, 0x588(%rsp)
callq 0xd0a20
movq 0x588(%rsp), %rdx
leaq 0x9c486(%rip), %rsi     # 0x170e9c
leaq 0x10f8(%rsp), %rdi
callq 0xd8b80
jmp 0xd4a25
leaq 0x10d0(%rsp), %rdi
callq 0xd9360
jmp 0xd4a34
leaq 0x10e0(%rsp), %rdi
leaq 0x10d0(%rsp), %rsi
callq 0xd92e0
leaq 0x10af(%rsp), %rdi
movq %rdi, 0x580(%rsp)
callq 0xd0a20
movq 0x580(%rsp), %rdx
leaq 0x9cd7e(%rip), %rsi     # 0x1717eb
leaq 0x10b0(%rsp), %rdi
callq 0xd8b80
jmp 0xd4a7c
movq 0x598(%rsp), %rdi
leaq 0x1120(%rsp), %rsi
leaq 0x10f8(%rsp), %rdx
leaq 0x10e0(%rsp), %rcx
leaq 0x10b0(%rsp), %r8
callq 0xd8f80
movq %rax, 0x578(%rsp)
jmp 0xd4ab3
leaq 0x1087(%rsp), %rdi
movq %rdi, 0x570(%rsp)
callq 0xd0a20
movq 0x570(%rsp), %rdx
leaq 0x9c40b(%rip), %rsi     # 0x170ee2
leaq 0x1088(%rsp), %rdi
callq 0xd8b80
jmp 0xd4ae6
leaq 0x105f(%rsp), %rdi
movq %rdi, 0x568(%rsp)
callq 0xd0a20
movq 0x568(%rsp), %rdx
leaq 0x9c3e3(%rip), %rsi     # 0x170eed
leaq 0x1060(%rsp), %rdi
callq 0xd8b80
jmp 0xd4b19
leaq 0x1038(%rsp), %rdi
callq 0xd9310
jmp 0xd4b28
leaq 0x1048(%rsp), %rdi
leaq 0x1038(%rsp), %rsi
callq 0xd92e0
leaq 0x1017(%rsp), %rdi
movq %rdi, 0x560(%rsp)
callq 0xd0a20
movq 0x560(%rsp), %rdx
leaq 0x9cc8a(%rip), %rsi     # 0x1717eb
leaq 0x1018(%rsp), %rdi
callq 0xd8b80
jmp 0xd4b70
movq 0x578(%rsp), %rdi
leaq 0x1088(%rsp), %rsi
leaq 0x1060(%rsp), %rdx
leaq 0x1048(%rsp), %rcx
leaq 0x1018(%rsp), %r8
callq 0xd8f80
movq %rax, 0x558(%rsp)
jmp 0xd4ba7
leaq 0xfef(%rsp), %rdi
movq %rdi, 0x550(%rsp)
callq 0xd0a20
movq 0x550(%rsp), %rdx
leaq 0x9c382(%rip), %rsi     # 0x170f4d
leaq 0xff0(%rsp), %rdi
callq 0xd8b80
jmp 0xd4bda
leaq 0xfc7(%rsp), %rdi
movq %rdi, 0x548(%rsp)
callq 0xd0a20
movq 0x548(%rsp), %rdx
leaq 0x9c35b(%rip), %rsi     # 0x170f59
leaq 0xfc8(%rsp), %rdi
callq 0xd8b80
jmp 0xd4c0d
leaq 0xfa0(%rsp), %rdi
callq 0xd9310
jmp 0xd4c1c
leaq 0xfb0(%rsp), %rdi
leaq 0xfa0(%rsp), %rsi
callq 0xd92e0
leaq 0xf7f(%rsp), %rdi
movq %rdi, 0x540(%rsp)
callq 0xd0a20
movq 0x540(%rsp), %rdx
leaq 0x9cb96(%rip), %rsi     # 0x1717eb
leaq 0xf80(%rsp), %rdi
callq 0xd8b80
jmp 0xd4c64
movq 0x558(%rsp), %rdi
leaq 0xff0(%rsp), %rsi
leaq 0xfc8(%rsp), %rdx
leaq 0xfb0(%rsp), %rcx
leaq 0xf80(%rsp), %r8
callq 0xd8f80
movq %rax, 0x538(%rsp)
jmp 0xd4c9b
leaq 0xf57(%rsp), %rdi
movq %rdi, 0x530(%rsp)
callq 0xd0a20
movq 0x530(%rsp), %rdx
leaq 0x9c2bd(%rip), %rsi     # 0x170f7c
leaq 0xf58(%rsp), %rdi
callq 0xd8b80
jmp 0xd4cce
leaq 0xf2f(%rsp), %rdi
movq %rdi, 0x528(%rsp)
callq 0xd0a20
movq 0x528(%rsp), %rdx
leaq 0x9c29a(%rip), %rsi     # 0x170f8c
leaq 0xf30(%rsp), %rdi
callq 0xd8b80
jmp 0xd4d01
leaq 0xf08(%rsp), %rdi
callq 0xd93b0
jmp 0xd4d10
leaq 0xf18(%rsp), %rdi
leaq 0xf08(%rsp), %rsi
callq 0xd92e0
leaq 0xee7(%rsp), %rdi
movq %rdi, 0x520(%rsp)
callq 0xd0a20
movq 0x520(%rsp), %rdx
leaq 0x9caa2(%rip), %rsi     # 0x1717eb
leaq 0xee8(%rsp), %rdi
callq 0xd8b80
jmp 0xd4d58
movq 0x538(%rsp), %rdi
leaq 0xf58(%rsp), %rsi
leaq 0xf30(%rsp), %rdx
leaq 0xf18(%rsp), %rcx
leaq 0xee8(%rsp), %r8
callq 0xd8f80
movq %rax, 0x518(%rsp)
jmp 0xd4d8f
leaq 0xebf(%rsp), %rdi
movq %rdi, 0x510(%rsp)
callq 0xd0a20
movq 0x510(%rsp), %rdx
leaq 0x9c217(%rip), %rsi     # 0x170fca
leaq 0xec0(%rsp), %rdi
callq 0xd8b80
jmp 0xd4dc2
leaq 0xe97(%rsp), %rdi
movq %rdi, 0x508(%rsp)
callq 0xd0a20
movq 0x508(%rsp), %rdx
leaq 0x9c1f2(%rip), %rsi     # 0x170fd8
leaq 0xe98(%rsp), %rdi
callq 0xd8b80
jmp 0xd4df5
leaq 0xe70(%rsp), %rdi
callq 0xd93b0
jmp 0xd4e04
leaq 0xe80(%rsp), %rdi
leaq 0xe70(%rsp), %rsi
callq 0xd92e0
leaq 0xe4f(%rsp), %rdi
movq %rdi, 0x500(%rsp)
callq 0xd0a20
movq 0x500(%rsp), %rdx
leaq 0x9c9ae(%rip), %rsi     # 0x1717eb
leaq 0xe50(%rsp), %rdi
callq 0xd8b80
jmp 0xd4e4c
movq 0x518(%rsp), %rdi
leaq 0xec0(%rsp), %rsi
leaq 0xe98(%rsp), %rdx
leaq 0xe80(%rsp), %rcx
leaq 0xe50(%rsp), %r8
callq 0xd8f80
movq %rax, 0x4f8(%rsp)
jmp 0xd4e83
leaq 0xe27(%rsp), %rdi
movq %rdi, 0x4f0(%rsp)
callq 0xd0a20
movq 0x4f0(%rsp), %rdx
leaq 0x9c16c(%rip), %rsi     # 0x171013
leaq 0xe28(%rsp), %rdi
callq 0xd8b80
jmp 0xd4eb6
leaq 0xdff(%rsp), %rdi
movq %rdi, 0x4e8(%rsp)
callq 0xd0a20
movq 0x4e8(%rsp), %rdx
leaq 0x9c141(%rip), %rsi     # 0x17101b
leaq 0xe00(%rsp), %rdi
callq 0xd8b80
jmp 0xd4ee9
leaq 0xdd8(%rsp), %rdi
callq 0xd93b0
jmp 0xd4ef8
leaq 0xde8(%rsp), %rdi
leaq 0xdd8(%rsp), %rsi
callq 0xd92e0
leaq 0xdb7(%rsp), %rdi
movq %rdi, 0x4e0(%rsp)
callq 0xd0a20
movq 0x4e0(%rsp), %rdx
leaq 0x9c8ba(%rip), %rsi     # 0x1717eb
leaq 0xdb8(%rsp), %rdi
callq 0xd8b80
jmp 0xd4f40
movq 0x4f8(%rsp), %rdi
leaq 0xe28(%rsp), %rsi
leaq 0xe00(%rsp), %rdx
leaq 0xde8(%rsp), %rcx
leaq 0xdb8(%rsp), %r8
callq 0xd8f80
jmp 0xd4f6f
leaq 0xdb8(%rsp), %rdi
callq 0xd0b38
leaq 0xdb7(%rsp), %rdi
callq 0xd0630
leaq 0xde8(%rsp), %rdi
callq 0xd9400
leaq 0xdd8(%rsp), %rdi
callq 0xd9410
leaq 0xe00(%rsp), %rdi
callq 0xd0b38
leaq 0xdff(%rsp), %rdi
callq 0xd0630
leaq 0xe28(%rsp), %rdi
callq 0xd0b38
leaq 0xe27(%rsp), %rdi
callq 0xd0630
leaq 0xe50(%rsp), %rdi
callq 0xd0b38
leaq 0xe4f(%rsp), %rdi
callq 0xd0630
leaq 0xe80(%rsp), %rdi
callq 0xd9400
leaq 0xe70(%rsp), %rdi
callq 0xd9410
leaq 0xe98(%rsp), %rdi
callq 0xd0b38
leaq 0xe97(%rsp), %rdi
callq 0xd0630
leaq 0xec0(%rsp), %rdi
callq 0xd0b38
leaq 0xebf(%rsp), %rdi
callq 0xd0630
leaq 0xee8(%rsp), %rdi
callq 0xd0b38
leaq 0xee7(%rsp), %rdi
callq 0xd0630
leaq 0xf18(%rsp), %rdi
callq 0xd9400
leaq 0xf08(%rsp), %rdi
callq 0xd9410
leaq 0xf30(%rsp), %rdi
callq 0xd0b38
leaq 0xf2f(%rsp), %rdi
callq 0xd0630
leaq 0xf58(%rsp), %rdi
callq 0xd0b38
leaq 0xf57(%rsp), %rdi
callq 0xd0630
leaq 0xf80(%rsp), %rdi
callq 0xd0b38
leaq 0xf7f(%rsp), %rdi
callq 0xd0630
leaq 0xfb0(%rsp), %rdi
callq 0xd9400
leaq 0xfa0(%rsp), %rdi
callq 0xd9410
leaq 0xfc8(%rsp), %rdi
callq 0xd0b38
leaq 0xfc7(%rsp), %rdi
callq 0xd0630
leaq 0xff0(%rsp), %rdi
callq 0xd0b38
leaq 0xfef(%rsp), %rdi
callq 0xd0630
leaq 0x1018(%rsp), %rdi
callq 0xd0b38
leaq 0x1017(%rsp), %rdi
callq 0xd0630
leaq 0x1048(%rsp), %rdi
callq 0xd9400
leaq 0x1038(%rsp), %rdi
callq 0xd9410
leaq 0x1060(%rsp), %rdi
callq 0xd0b38
leaq 0x105f(%rsp), %rdi
callq 0xd0630
leaq 0x1088(%rsp), %rdi
callq 0xd0b38
leaq 0x1087(%rsp), %rdi
callq 0xd0630
leaq 0x10b0(%rsp), %rdi
callq 0xd0b38
leaq 0x10af(%rsp), %rdi
callq 0xd0630
leaq 0x10e0(%rsp), %rdi
callq 0xd9400
leaq 0x10d0(%rsp), %rdi
callq 0xd9410
leaq 0x10f8(%rsp), %rdi
callq 0xd0b38
leaq 0x10f7(%rsp), %rdi
callq 0xd0630
leaq 0x1120(%rsp), %rdi
callq 0xd0b38
leaq 0x111f(%rsp), %rdi
callq 0xd0630
leaq 0x1148(%rsp), %rdi
callq 0xd0b38
leaq 0x1147(%rsp), %rdi
callq 0xd0630
leaq 0x1178(%rsp), %rdi
callq 0xd9400
leaq 0x1168(%rsp), %rdi
callq 0xd9410
leaq 0x1190(%rsp), %rdi
callq 0xd0b38
leaq 0x118f(%rsp), %rdi
callq 0xd0630
leaq 0x11b8(%rsp), %rdi
callq 0xd0b38
leaq 0x11b7(%rsp), %rdi
callq 0xd0630
leaq 0x11e0(%rsp), %rdi
callq 0xd0b38
leaq 0x11df(%rsp), %rdi
callq 0xd0630
leaq 0x1210(%rsp), %rdi
callq 0xd9400
leaq 0x1200(%rsp), %rdi
callq 0xd9410
leaq 0x1228(%rsp), %rdi
callq 0xd0b38
leaq 0x1227(%rsp), %rdi
callq 0xd0630
leaq 0x1250(%rsp), %rdi
callq 0xd0b38
leaq 0x124f(%rsp), %rdi
callq 0xd0630
leaq 0x1278(%rsp), %rdi
callq 0xd0b38
leaq 0x1277(%rsp), %rdi
callq 0xd0630
leaq 0x12a8(%rsp), %rdi
callq 0xd9400
leaq 0x1298(%rsp), %rdi
callq 0xd9410
leaq 0x12c0(%rsp), %rdi
callq 0xd0b38
leaq 0x12bf(%rsp), %rdi
callq 0xd0630
leaq 0x12e8(%rsp), %rdi
callq 0xd0b38
leaq 0x12e7(%rsp), %rdi
callq 0xd0630
leaq 0x1310(%rsp), %rdi
callq 0xd0b38
leaq 0x130f(%rsp), %rdi
callq 0xd0630
leaq 0x1340(%rsp), %rdi
callq 0xd9400
leaq 0x1330(%rsp), %rdi
callq 0xd9410
leaq 0x1358(%rsp), %rdi
callq 0xd0b38
leaq 0x1357(%rsp), %rdi
callq 0xd0630
leaq 0x1380(%rsp), %rdi
callq 0xd0b38
leaq 0x137f(%rsp), %rdi
callq 0xd0630
leaq 0x13a8(%rsp), %rdi
callq 0xd0b38
leaq 0x13a7(%rsp), %rdi
callq 0xd0630
leaq 0x13d8(%rsp), %rdi
callq 0xd9400
leaq 0x13c8(%rsp), %rdi
callq 0xd9410
leaq 0x13f0(%rsp), %rdi
callq 0xd0b38
leaq 0x13ef(%rsp), %rdi
callq 0xd0630
leaq 0x1418(%rsp), %rdi
callq 0xd0b38
leaq 0x1417(%rsp), %rdi
callq 0xd0630
leaq 0x1440(%rsp), %rdi
callq 0xd0b38
leaq 0x143f(%rsp), %rdi
callq 0xd0630
leaq 0x1470(%rsp), %rdi
callq 0xd9400
leaq 0x1460(%rsp), %rdi
callq 0xd9410
leaq 0x1488(%rsp), %rdi
callq 0xd0b38
leaq 0x1487(%rsp), %rdi
callq 0xd0630
leaq 0x14b0(%rsp), %rdi
callq 0xd0b38
leaq 0x14af(%rsp), %rdi
callq 0xd0630
leaq 0x14d8(%rsp), %rdi
callq 0xd0b38
leaq 0x14d7(%rsp), %rdi
callq 0xd0630
leaq 0x1508(%rsp), %rdi
callq 0xd9400
leaq 0x14f8(%rsp), %rdi
callq 0xd9410
leaq 0x1520(%rsp), %rdi
callq 0xd0b38
leaq 0x151f(%rsp), %rdi
callq 0xd0630
leaq 0x1548(%rsp), %rdi
callq 0xd0b38
leaq 0x1547(%rsp), %rdi
callq 0xd0630
leaq 0x1590(%rsp), %rdi
callq 0xd9420
leaq 0x1570(%rsp), %rdi
callq 0xd0b38
leaq 0x156f(%rsp), %rdi
callq 0xd0630
leaq 0xcf0(%rsp), %rdi
leaq 0x1618(%rsp), %rsi
leaq 0x17d0(%rsp), %rdx
leaq 0x17c8(%rsp), %rcx
callq 0xd9440
jmp 0xd5505
leaq 0xccf(%rsp), %rdi
movq %rdi, 0x4d8(%rsp)
callq 0xd0a20
movq 0x4d8(%rsp), %rdx
leaq 0x9b782(%rip), %rsi     # 0x170cab
leaq 0xcd0(%rsp), %rdi
callq 0xd8b80
jmp 0xd5538
leaq 0xcf0(%rsp), %rdi
leaq 0xcd0(%rsp), %rsi
callq 0xd9540
movq %rax, 0x4d0(%rsp)
jmp 0xd5557
leaq 0xcd0(%rsp), %rdi
callq 0xd0b38
leaq 0xccf(%rsp), %rdi
callq 0xd0630
movq 0x4d0(%rsp), %rax
cmpq $0x0, %rax
je 0xd633a
leaq 0xca7(%rsp), %rdi
movq %rdi, 0x4c8(%rsp)
callq 0xd0a20
movq 0x4c8(%rsp), %rdx
leaq 0x9b704(%rip), %rsi     # 0x170cab
leaq 0xca8(%rsp), %rdi
callq 0xd8b80
jmp 0xd55b6
leaq 0xcf0(%rsp), %rdi
leaq 0xca8(%rsp), %rsi
callq 0xd9600
movq %rax, 0x4c0(%rsp)
jmp 0xd55d5
movq 0x4c0(%rsp), %rdi
callq 0xd96b0
movq %rax, 0x4b8(%rsp)
jmp 0xd55ec
movq 0x4b8(%rsp), %rsi
leaq 0x17a8(%rsp), %rdi
callq 0xd0080
jmp 0xd5603
leaq 0xca8(%rsp), %rdi
callq 0xd0b38
leaq 0xca7(%rsp), %rdi
callq 0xd0630
jmp 0xd636b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5689
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd566f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0x15c0(%rsp), %rdi
callq 0xd0b38
leaq 0x15bf(%rsp), %rdi
callq 0xd0630
leaq 0x15f8(%rsp), %rdi
callq 0xd0b38
leaq 0x15f7(%rsp), %rdi
callq 0xd0630
jmp 0xd8b3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd627d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6270
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6256
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd623c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd622f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6208
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd61fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd61ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd61d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd61c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd61a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6193
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6186
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd616c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd615f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6138
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd612b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd611e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6104
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd60f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd60d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd60c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd60b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd609c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd608f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd605b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd604e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6034
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6027
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5ff3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5fe6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5fcc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5fbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5f16
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5efc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5eef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5ec8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5eae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5e94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5e87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5e60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5e53
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5e46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5e2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5e1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5df8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5deb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5dde
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5dc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5db7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5d90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5d83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5d76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5d5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5d4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd5d28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xdb8(%rsp), %rdi
callq 0xd0b38
leaq 0xdb7(%rsp), %rdi
callq 0xd0630
leaq 0xde8(%rsp), %rdi
callq 0xd9400
leaq 0xdd8(%rsp), %rdi
callq 0xd9410
leaq 0xe00(%rsp), %rdi
callq 0xd0b38
leaq 0xdff(%rsp), %rdi
callq 0xd0630
leaq 0xe28(%rsp), %rdi
callq 0xd0b38
leaq 0xe27(%rsp), %rdi
callq 0xd0630
leaq 0xe50(%rsp), %rdi
callq 0xd0b38
leaq 0xe4f(%rsp), %rdi
callq 0xd0630
leaq 0xe80(%rsp), %rdi
callq 0xd9400
leaq 0xe70(%rsp), %rdi
callq 0xd9410
leaq 0xe98(%rsp), %rdi
callq 0xd0b38
leaq 0xe97(%rsp), %rdi
callq 0xd0630
leaq 0xec0(%rsp), %rdi
callq 0xd0b38
leaq 0xebf(%rsp), %rdi
callq 0xd0630
leaq 0xee8(%rsp), %rdi
callq 0xd0b38
leaq 0xee7(%rsp), %rdi
callq 0xd0630
leaq 0xf18(%rsp), %rdi
callq 0xd9400
leaq 0xf08(%rsp), %rdi
callq 0xd9410
leaq 0xf30(%rsp), %rdi
callq 0xd0b38
leaq 0xf2f(%rsp), %rdi
callq 0xd0630
leaq 0xf58(%rsp), %rdi
callq 0xd0b38
leaq 0xf57(%rsp), %rdi
callq 0xd0630
leaq 0xf80(%rsp), %rdi
callq 0xd0b38
leaq 0xf7f(%rsp), %rdi
callq 0xd0630
leaq 0xfb0(%rsp), %rdi
callq 0xd9400
leaq 0xfa0(%rsp), %rdi
callq 0xd9410
leaq 0xfc8(%rsp), %rdi
callq 0xd0b38
leaq 0xfc7(%rsp), %rdi
callq 0xd0630
leaq 0xff0(%rsp), %rdi
callq 0xd0b38
leaq 0xfef(%rsp), %rdi
callq 0xd0630
leaq 0x1018(%rsp), %rdi
callq 0xd0b38
leaq 0x1017(%rsp), %rdi
callq 0xd0630
leaq 0x1048(%rsp), %rdi
callq 0xd9400
leaq 0x1038(%rsp), %rdi
callq 0xd9410
leaq 0x1060(%rsp), %rdi
callq 0xd0b38
leaq 0x105f(%rsp), %rdi
callq 0xd0630
leaq 0x1088(%rsp), %rdi
callq 0xd0b38
leaq 0x1087(%rsp), %rdi
callq 0xd0630
leaq 0x10b0(%rsp), %rdi
callq 0xd0b38
leaq 0x10af(%rsp), %rdi
callq 0xd0630
leaq 0x10e0(%rsp), %rdi
callq 0xd9400
leaq 0x10d0(%rsp), %rdi
callq 0xd9410
leaq 0x10f8(%rsp), %rdi
callq 0xd0b38
leaq 0x10f7(%rsp), %rdi
callq 0xd0630
leaq 0x1120(%rsp), %rdi
callq 0xd0b38
leaq 0x111f(%rsp), %rdi
callq 0xd0630
leaq 0x1148(%rsp), %rdi
callq 0xd0b38
leaq 0x1147(%rsp), %rdi
callq 0xd0630
leaq 0x1178(%rsp), %rdi
callq 0xd9400
leaq 0x1168(%rsp), %rdi
callq 0xd9410
leaq 0x1190(%rsp), %rdi
callq 0xd0b38
leaq 0x118f(%rsp), %rdi
callq 0xd0630
leaq 0x11b8(%rsp), %rdi
callq 0xd0b38
leaq 0x11b7(%rsp), %rdi
callq 0xd0630
leaq 0x11e0(%rsp), %rdi
callq 0xd0b38
leaq 0x11df(%rsp), %rdi
callq 0xd0630
leaq 0x1210(%rsp), %rdi
callq 0xd9400
leaq 0x1200(%rsp), %rdi
callq 0xd9410
leaq 0x1228(%rsp), %rdi
callq 0xd0b38
leaq 0x1227(%rsp), %rdi
callq 0xd0630
leaq 0x1250(%rsp), %rdi
callq 0xd0b38
leaq 0x124f(%rsp), %rdi
callq 0xd0630
leaq 0x1278(%rsp), %rdi
callq 0xd0b38
leaq 0x1277(%rsp), %rdi
callq 0xd0630
leaq 0x12a8(%rsp), %rdi
callq 0xd9400
leaq 0x1298(%rsp), %rdi
callq 0xd9410
leaq 0x12c0(%rsp), %rdi
callq 0xd0b38
leaq 0x12bf(%rsp), %rdi
callq 0xd0630
leaq 0x12e8(%rsp), %rdi
callq 0xd0b38
leaq 0x12e7(%rsp), %rdi
callq 0xd0630
leaq 0x1310(%rsp), %rdi
callq 0xd0b38
leaq 0x130f(%rsp), %rdi
callq 0xd0630
leaq 0x1340(%rsp), %rdi
callq 0xd9400
leaq 0x1330(%rsp), %rdi
callq 0xd9410
leaq 0x1358(%rsp), %rdi
callq 0xd0b38
leaq 0x1357(%rsp), %rdi
callq 0xd0630
leaq 0x1380(%rsp), %rdi
callq 0xd0b38
leaq 0x137f(%rsp), %rdi
callq 0xd0630
leaq 0x13a8(%rsp), %rdi
callq 0xd0b38
leaq 0x13a7(%rsp), %rdi
callq 0xd0630
leaq 0x13d8(%rsp), %rdi
callq 0xd9400
leaq 0x13c8(%rsp), %rdi
callq 0xd9410
leaq 0x13f0(%rsp), %rdi
callq 0xd0b38
leaq 0x13ef(%rsp), %rdi
callq 0xd0630
leaq 0x1418(%rsp), %rdi
callq 0xd0b38
leaq 0x1417(%rsp), %rdi
callq 0xd0630
leaq 0x1440(%rsp), %rdi
callq 0xd0b38
leaq 0x143f(%rsp), %rdi
callq 0xd0630
leaq 0x1470(%rsp), %rdi
callq 0xd9400
leaq 0x1460(%rsp), %rdi
callq 0xd9410
leaq 0x1488(%rsp), %rdi
callq 0xd0b38
leaq 0x1487(%rsp), %rdi
callq 0xd0630
leaq 0x14b0(%rsp), %rdi
callq 0xd0b38
leaq 0x14af(%rsp), %rdi
callq 0xd0630
leaq 0x14d8(%rsp), %rdi
callq 0xd0b38
leaq 0x14d7(%rsp), %rdi
callq 0xd0630
leaq 0x1508(%rsp), %rdi
callq 0xd9400
leaq 0x14f8(%rsp), %rdi
callq 0xd9410
leaq 0x1520(%rsp), %rdi
callq 0xd0b38
leaq 0x151f(%rsp), %rdi
callq 0xd0630
leaq 0x1548(%rsp), %rdi
callq 0xd0b38
leaq 0x1547(%rsp), %rdi
callq 0xd0630
leaq 0x1590(%rsp), %rdi
callq 0xd9420
leaq 0x1570(%rsp), %rdi
callq 0xd0b38
leaq 0x156f(%rsp), %rdi
callq 0xd0630
jmp 0xd8b30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd8b30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd62df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xcd0(%rsp), %rdi
callq 0xd0b38
leaq 0xccf(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6328
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xca8(%rsp), %rdi
callq 0xd0b38
leaq 0xca7(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
leaq 0x9ad05(%rip), %rsi     # 0x171046
leaq 0x17a8(%rsp), %rdi
callq 0xd07c0
jmp 0xd6350
jmp 0xd636b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd8b23
leaq 0xc7f(%rsp), %rdi
movq %rdi, 0x4b0(%rsp)
callq 0xd0a20
movq 0x4b0(%rsp), %rdx
leaq 0x9a9a3(%rip), %rsi     # 0x170d32
leaq 0xc80(%rsp), %rdi
callq 0xd8b80
jmp 0xd639e
leaq 0xcf0(%rsp), %rdi
leaq 0xc80(%rsp), %rsi
callq 0xd9540
movq %rax, 0x4a8(%rsp)
jmp 0xd63bd
leaq 0xc80(%rsp), %rdi
callq 0xd0b38
leaq 0xc7f(%rsp), %rdi
callq 0xd0630
movq 0x4a8(%rsp), %rax
cmpq $0x0, %rax
je 0xd651a
leaq 0xc57(%rsp), %rdi
movq %rdi, 0x4a0(%rsp)
callq 0xd0a20
movq 0x4a0(%rsp), %rdx
leaq 0x9a925(%rip), %rsi     # 0x170d32
leaq 0xc58(%rsp), %rdi
callq 0xd8b80
jmp 0xd641c
leaq 0xcf0(%rsp), %rdi
leaq 0xc58(%rsp), %rsi
callq 0xd9600
movq %rax, 0x498(%rsp)
jmp 0xd643b
movq 0x498(%rsp), %rdi
callq 0xd96b0
movq %rax, 0x490(%rsp)
jmp 0xd6452
movq 0x490(%rsp), %rsi
leaq 0x1788(%rsp), %rdi
callq 0xd0080
jmp 0xd6469
leaq 0xc58(%rsp), %rdi
callq 0xd0b38
leaq 0xc57(%rsp), %rdi
callq 0xd0630
jmp 0xd6532
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd64bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xc80(%rsp), %rdi
callq 0xd0b38
leaq 0xc7f(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6508
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xc58(%rsp), %rdi
callq 0xd0b38
leaq 0xc57(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
leaq 0x9b2ca(%rip), %rsi     # 0x1717eb
leaq 0x1788(%rsp), %rdi
callq 0xd07c0
jmp 0xd6530
jmp 0xd6532
leaq 0xc2f(%rsp), %rdi
movq %rdi, 0x488(%rsp)
callq 0xd0a20
movq 0x488(%rsp), %rdx
leaq 0x9a824(%rip), %rsi     # 0x170d7a
leaq 0xc30(%rsp), %rdi
callq 0xd8b80
jmp 0xd6565
leaq 0xcf0(%rsp), %rdi
leaq 0xc30(%rsp), %rsi
callq 0xd9540
movq %rax, 0x480(%rsp)
jmp 0xd6584
leaq 0xc30(%rsp), %rdi
callq 0xd0b38
leaq 0xc2f(%rsp), %rdi
callq 0xd0630
movq 0x480(%rsp), %rax
cmpq $0x0, %rax
je 0xd66e1
leaq 0xc07(%rsp), %rdi
movq %rdi, 0x478(%rsp)
callq 0xd0a20
movq 0x478(%rsp), %rdx
leaq 0x9a7a6(%rip), %rsi     # 0x170d7a
leaq 0xc08(%rsp), %rdi
callq 0xd8b80
jmp 0xd65e3
leaq 0xcf0(%rsp), %rdi
leaq 0xc08(%rsp), %rsi
callq 0xd9600
movq %rax, 0x470(%rsp)
jmp 0xd6602
movq 0x470(%rsp), %rdi
callq 0xd96b0
movq %rax, 0x468(%rsp)
jmp 0xd6619
movq 0x468(%rsp), %rsi
leaq 0x1768(%rsp), %rdi
callq 0xd0080
jmp 0xd6630
leaq 0xc08(%rsp), %rdi
callq 0xd0b38
leaq 0xc07(%rsp), %rdi
callq 0xd0630
jmp 0xd66f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6686
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xc30(%rsp), %rdi
callq 0xd0b38
leaq 0xc2f(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd66cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xc08(%rsp), %rdi
callq 0xd0b38
leaq 0xc07(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
leaq 0x9a96b(%rip), %rsi     # 0x171053
leaq 0x1768(%rsp), %rdi
callq 0xd07c0
jmp 0xd66f7
jmp 0xd66f9
leaq 0xbdf(%rsp), %rdi
movq %rdi, 0x460(%rsp)
callq 0xd0a20
movq 0x460(%rsp), %rdx
leaq 0x9a6b4(%rip), %rsi     # 0x170dd1
leaq 0xbe0(%rsp), %rdi
callq 0xd8b80
jmp 0xd672c
leaq 0xcf0(%rsp), %rdi
leaq 0xbe0(%rsp), %rsi
callq 0xd9600
movq %rax, 0x458(%rsp)
jmp 0xd674b
movq 0x458(%rsp), %rdi
callq 0xd97a0
movq %rax, 0x450(%rsp)
jmp 0xd6762
movq 0x450(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x1764(%rsp)
leaq 0xbe0(%rsp), %rdi
callq 0xd0b38
leaq 0xbdf(%rsp), %rdi
callq 0xd0630
jmp 0xd681a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd67c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xbe0(%rsp), %rdi
callq 0xd0b38
leaq 0xbdf(%rsp), %rdi
callq 0xd0630
movl 0x15e4(%rsp), %eax
movl %eax, 0x44c(%rsp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xd68b3
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xbc8(%rsp)
movl $0x3e8, 0x1764(%rsp) # imm = 0x3E8
callq 0xd0940
jmp 0xd6818
jmp 0xd681a
leaq 0xba7(%rsp), %rdi
movq %rdi, 0x440(%rsp)
callq 0xd0a20
movq 0x440(%rsp), %rdx
leaq 0x9a5c5(%rip), %rsi     # 0x170e03
leaq 0xba8(%rsp), %rdi
callq 0xd8b80
jmp 0xd684d
leaq 0xcf0(%rsp), %rdi
leaq 0xba8(%rsp), %rsi
callq 0xd9600
movq %rax, 0x438(%rsp)
jmp 0xd686c
movq 0x438(%rsp), %rdi
callq 0xd97a0
movq %rax, 0x430(%rsp)
jmp 0xd6883
movq 0x430(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x1760(%rsp)
leaq 0xba8(%rsp), %rdi
callq 0xd0b38
leaq 0xba7(%rsp), %rdi
callq 0xd0630
jmp 0xd69ec
movl 0x44c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd8b23
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xbd0(%rsp)
movq 0xd56fd(%rip), %rdi     # 0x1abfe0
leaq 0x9a77a(%rip), %rsi     # 0x171064
callq 0xd05b0
movq %rax, 0x428(%rsp)
jmp 0xd68f9
movq 0xbd0(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq 0x428(%rsp), %rdi
movq %rax, %rsi
callq 0xd05b0
movq %rax, 0x420(%rsp)
jmp 0xd6924
movq 0x420(%rsp), %rdi
movq 0xd5605(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd693a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd695f
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd699b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xba8(%rsp), %rdi
callq 0xd0b38
leaq 0xba7(%rsp), %rdi
callq 0xd0630
movl 0x15e4(%rsp), %eax
movl %eax, 0x41c(%rsp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xd6a85
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xb90(%rsp)
movl $0x1f4, 0x1760(%rsp) # imm = 0x1F4
callq 0xd0940
jmp 0xd69ea
jmp 0xd69ec
leaq 0xb6f(%rsp), %rdi
movq %rdi, 0x410(%rsp)
callq 0xd0a20
movq 0x410(%rsp), %rdx
leaq 0x9a427(%rip), %rsi     # 0x170e37
leaq 0xb70(%rsp), %rdi
callq 0xd8b80
jmp 0xd6a1f
leaq 0xcf0(%rsp), %rdi
leaq 0xb70(%rsp), %rsi
callq 0xd9600
movq %rax, 0x408(%rsp)
jmp 0xd6a3e
movq 0x408(%rsp), %rdi
callq 0xd97a0
movq %rax, 0x400(%rsp)
jmp 0xd6a55
movq 0x400(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x175c(%rsp)
leaq 0xb70(%rsp), %rdi
callq 0xd0b38
leaq 0xb6f(%rsp), %rdi
callq 0xd0630
jmp 0xd6bbe
movl 0x41c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd8b23
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xb98(%rsp)
movq 0xd552b(%rip), %rdi     # 0x1abfe0
leaq 0x9a5c6(%rip), %rsi     # 0x171082
callq 0xd05b0
movq %rax, 0x3f8(%rsp)
jmp 0xd6acb
movq 0xb98(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq 0x3f8(%rsp), %rdi
movq %rax, %rsi
callq 0xd05b0
movq %rax, 0x3f0(%rsp)
jmp 0xd6af6
movq 0x3f0(%rsp), %rdi
movq 0xd5433(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd6b0c
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd6b31
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6b6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xb70(%rsp), %rdi
callq 0xd0b38
leaq 0xb6f(%rsp), %rdi
callq 0xd0630
movl 0x15e4(%rsp), %eax
movl %eax, 0x3ec(%rsp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xd6c57
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xb58(%rsp)
movl $0x1f4, 0x175c(%rsp) # imm = 0x1F4
callq 0xd0940
jmp 0xd6bbc
jmp 0xd6bbe
leaq 0xb37(%rsp), %rdi
movq %rdi, 0x3e0(%rsp)
callq 0xd0a20
movq 0x3e0(%rsp), %rdx
leaq 0x9a27e(%rip), %rsi     # 0x170e60
leaq 0xb38(%rsp), %rdi
callq 0xd8b80
jmp 0xd6bf1
leaq 0xcf0(%rsp), %rdi
leaq 0xb38(%rsp), %rsi
callq 0xd9600
movq %rax, 0x3d8(%rsp)
jmp 0xd6c10
movq 0x3d8(%rsp), %rdi
callq 0xd97a0
movq %rax, 0x3d0(%rsp)
jmp 0xd6c27
movq 0x3d0(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x1750(%rsp)
leaq 0xb38(%rsp), %rdi
callq 0xd0b38
leaq 0xb37(%rsp), %rdi
callq 0xd0630
jmp 0xd6d90
movl 0x3ec(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd8b23
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xb60(%rsp)
movq 0xd5359(%rip), %rdi     # 0x1abfe0
leaq 0x9a413(%rip), %rsi     # 0x1710a1
callq 0xd05b0
movq %rax, 0x3c8(%rsp)
jmp 0xd6c9d
movq 0xb60(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq 0x3c8(%rsp), %rdi
movq %rax, %rsi
callq 0xd05b0
movq %rax, 0x3c0(%rsp)
jmp 0xd6cc8
movq 0x3c0(%rsp), %rdi
movq 0xd5261(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd6cde
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd6d03
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6d3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xb38(%rsp), %rdi
callq 0xd0b38
leaq 0xb37(%rsp), %rdi
callq 0xd0630
movl 0x15e4(%rsp), %eax
movl %eax, 0x3bc(%rsp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xd6e29
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xb20(%rsp)
movl $0x5a, 0x1750(%rsp)
callq 0xd0940
jmp 0xd6d8e
jmp 0xd6d90
leaq 0xaff(%rsp), %rdi
movq %rdi, 0x3b0(%rsp)
callq 0xd0a20
movq 0x3b0(%rsp), %rdx
leaq 0x9a19b(%rip), %rsi     # 0x170f4f
leaq 0xb00(%rsp), %rdi
callq 0xd8b80
jmp 0xd6dc3
leaq 0xcf0(%rsp), %rdi
leaq 0xb00(%rsp), %rsi
callq 0xd9600
movq %rax, 0x3a8(%rsp)
jmp 0xd6de2
movq 0x3a8(%rsp), %rdi
callq 0xd97a0
movq %rax, 0x3a0(%rsp)
jmp 0xd6df9
movq 0x3a0(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x174c(%rsp)
leaq 0xb00(%rsp), %rdi
callq 0xd0b38
leaq 0xaff(%rsp), %rdi
callq 0xd0630
jmp 0xd6f62
movl 0x3bc(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd8b23
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xb28(%rsp)
movq 0xd5187(%rip), %rdi     # 0x1abfe0
leaq 0x9a262(%rip), %rsi     # 0x1710c2
callq 0xd05b0
movq %rax, 0x398(%rsp)
jmp 0xd6e6f
movq 0xb28(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq 0x398(%rsp), %rdi
movq %rax, %rsi
callq 0xd05b0
movq %rax, 0x390(%rsp)
jmp 0xd6e9a
movq 0x390(%rsp), %rdi
movq 0xd508f(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd6eb0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd6ed5
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd6f11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xb00(%rsp), %rdi
callq 0xd0b38
leaq 0xaff(%rsp), %rdi
callq 0xd0630
movl 0x15e4(%rsp), %eax
movl %eax, 0x38c(%rsp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xd6ffb
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xae8(%rsp)
movl $0x1e, 0x174c(%rsp)
callq 0xd0940
jmp 0xd6f60
jmp 0xd6f62
leaq 0xac7(%rsp), %rdi
movq %rdi, 0x380(%rsp)
callq 0xd0a20
movq 0x380(%rsp), %rdx
leaq 0x99f5e(%rip), %rsi     # 0x170ee4
leaq 0xac8(%rsp), %rdi
callq 0xd8b80
jmp 0xd6f95
leaq 0xcf0(%rsp), %rdi
leaq 0xac8(%rsp), %rsi
callq 0xd9600
movq %rax, 0x378(%rsp)
jmp 0xd6fb4
movq 0x378(%rsp), %rdi
callq 0xd97a0
movq %rax, 0x370(%rsp)
jmp 0xd6fcb
movq 0x370(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x1748(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0xd0b38
leaq 0xac7(%rsp), %rdi
callq 0xd0630
jmp 0xd7134
movl 0x38c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd8b23
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xaf0(%rsp)
movq 0xd4fb5(%rip), %rdi     # 0x1abfe0
leaq 0x9a0b0(%rip), %rsi     # 0x1710e2
callq 0xd05b0
movq %rax, 0x368(%rsp)
jmp 0xd7041
movq 0xaf0(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq 0x368(%rsp), %rdi
movq %rax, %rsi
callq 0xd05b0
movq %rax, 0x360(%rsp)
jmp 0xd706c
movq 0x360(%rsp), %rdi
movq 0xd4ebd(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7082
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd70a7
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd70e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xac8(%rsp), %rdi
callq 0xd0b38
leaq 0xac7(%rsp), %rdi
callq 0xd0630
movl 0x15e4(%rsp), %eax
movl %eax, 0x35c(%rsp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xd71d1
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xab0(%rsp)
movl $0x1, 0x1748(%rsp)
callq 0xd0940
jmp 0xd7132
jmp 0xd7134
leaq 0xa8f(%rsp), %rdi
movq %rdi, 0x350(%rsp)
callq 0xd0a20
movq 0x350(%rsp), %rdx
leaq 0xa0fa2(%rip), %rsi     # 0x1780fa
leaq 0xa90(%rsp), %rdi
callq 0xd8b80
jmp 0xd7167
leaq 0xcf0(%rsp), %rdi
leaq 0xa90(%rsp), %rsi
callq 0xd9600
movq %rax, 0x348(%rsp)
jmp 0xd7186
movq 0x348(%rsp), %rdi
callq 0xd98a0
movq %rax, 0x340(%rsp)
jmp 0xd719d
movq 0x340(%rsp), %rax
movsd (%rax), %xmm0
movsd %xmm0, 0x1738(%rsp)
leaq 0xa90(%rsp), %rdi
callq 0xd0b38
leaq 0xa8f(%rsp), %rdi
callq 0xd0630
jmp 0xd7311
movl 0x35c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd8b23
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xab8(%rsp)
movq 0xd4ddf(%rip), %rdi     # 0x1abfe0
leaq 0x99ef6(%rip), %rsi     # 0x1710fe
callq 0xd05b0
movq %rax, 0x338(%rsp)
jmp 0xd7217
movq 0xab8(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq 0x338(%rsp), %rdi
movq %rax, %rsi
callq 0xd05b0
movq %rax, 0x330(%rsp)
jmp 0xd7242
movq 0x330(%rsp), %rdi
movq 0xd4ce7(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7258
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd727d
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd72b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xa90(%rsp), %rdi
callq 0xd0b38
leaq 0xa8f(%rsp), %rdi
callq 0xd0630
movl 0x15e4(%rsp), %eax
movl %eax, 0x32c(%rsp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xd7513
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xa78(%rsp)
movabsq $0x3fb999999999999a, %rax # imm = 0x3FB999999999999A
movq %rax, 0x1738(%rsp)
callq 0xd0940
jmp 0xd730f
jmp 0xd7311
leaq 0xa57(%rsp), %rdi
movq %rdi, 0x320(%rsp)
callq 0xd0a20
movq 0x320(%rsp), %rdx
leaq 0x99c97(%rip), %rsi     # 0x170fcc
leaq 0xa58(%rsp), %rdi
callq 0xd8b80
jmp 0xd7344
leaq 0xcf0(%rsp), %rdi
leaq 0xa58(%rsp), %rsi
callq 0xd9540
movq %rax, 0x318(%rsp)
jmp 0xd7363
movq 0x318(%rsp), %rax
testq %rax, %rax
setne 0x1747(%rsp)
leaq 0xa58(%rsp), %rdi
callq 0xd0b38
leaq 0xa57(%rsp), %rdi
callq 0xd0630
leaq 0xa2f(%rsp), %rdi
movq %rdi, 0x310(%rsp)
callq 0xd0a20
movq 0x310(%rsp), %rdx
leaq 0x99c61(%rip), %rsi     # 0x171015
leaq 0xa30(%rsp), %rdi
callq 0xd8b80
jmp 0xd73c3
leaq 0xcf0(%rsp), %rdi
leaq 0xa30(%rsp), %rsi
callq 0xd9540
movq %rax, 0x308(%rsp)
jmp 0xd73e2
movq 0x308(%rsp), %rax
testq %rax, %rax
setne 0x1746(%rsp)
leaq 0xa30(%rsp), %rdi
callq 0xd0b38
leaq 0xa2f(%rsp), %rdi
callq 0xd0630
leaq 0xa07(%rsp), %rdi
movq %rdi, 0x300(%rsp)
callq 0xd0a20
movq 0x300(%rsp), %rdx
leaq 0x99b4b(%rip), %rsi     # 0x170f7e
leaq 0xa08(%rsp), %rdi
callq 0xd8b80
jmp 0xd7442
leaq 0xcf0(%rsp), %rdi
leaq 0xa08(%rsp), %rsi
callq 0xd9540
movq %rax, 0x2f8(%rsp)
jmp 0xd7461
movq 0x2f8(%rsp), %rax
testq %rax, %rax
setne 0x1745(%rsp)
leaq 0xa08(%rsp), %rdi
callq 0xd0b38
leaq 0xa07(%rsp), %rdi
callq 0xd0630
movl $0x10, 0x1758(%rsp)
movl $0x3e8, 0x1754(%rsp) # imm = 0x3E8
leaq 0x17a8(%rsp), %rdi
movq %rdi, 0x2e8(%rsp)
callq 0xd0880
movq 0x2e8(%rsp), %rdi
movq %rax, %rsi
decq %rsi
callq 0xd0b10
movq %rax, 0x2f0(%rsp)
jmp 0xd74d6
movq 0x2f0(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0xd76b9
cmpl $0x1, 0x1748(%rsp)
jne 0xd769f
leaq 0x9ea7a(%rip), %rsi     # 0x175f79
leaq 0x17a8(%rsp), %rdi
callq 0xd05a0
jmp 0xd750e
jmp 0xd76b7
movl 0x32c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xd8b23
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0xa80(%rsp)
movq 0xd4a9d(%rip), %rdi     # 0x1abfe0
leaq 0x99bd7(%rip), %rsi     # 0x171121
callq 0xd05b0
movq %rax, 0x2e0(%rsp)
jmp 0xd7559
movq 0xa80(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq 0x2e0(%rsp), %rdi
movq %rax, %rsi
callq 0xd05b0
movq %rax, 0x2d8(%rsp)
jmp 0xd7584
movq 0x2d8(%rsp), %rdi
movq 0xd49a5(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd759a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd75bf
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd75fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xa58(%rsp), %rdi
callq 0xd0b38
leaq 0xa57(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd7644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xa30(%rsp), %rdi
callq 0xd0b38
leaq 0xa2f(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd768d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0xa08(%rsp), %rdi
callq 0xd0b38
leaq 0xa07(%rsp), %rdi
callq 0xd0630
jmp 0xd8b23
leaq 0x99725(%rip), %rsi     # 0x170dcb
leaq 0x17a8(%rsp), %rdi
callq 0xd05a0
jmp 0xd76b5
jmp 0xd76b7
jmp 0xd76b9
movq 0xd48c8(%rip), %rdi     # 0x1abf88
movq 0xd4871(%rip), %rsi     # 0x1abf38
callq 0xd0610
movq %rax, 0x2d0(%rsp)
jmp 0xd76d6
movq 0x2d0(%rsp), %rdi
leaq 0x99a57(%rip), %rsi     # 0x17113c
callq 0xd05b0
movq %rax, 0x2c8(%rsp)
jmp 0xd76f4
movq 0x2c8(%rsp), %rdi
movq 0xd4835(%rip), %rsi     # 0x1abf38
callq 0xd0610
movq %rax, 0x2c0(%rsp)
jmp 0xd7712
movq 0x2c0(%rsp), %rdi
movq 0xd4817(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7728
movq 0xd4859(%rip), %rdi     # 0x1abf88
leaq 0x99a21(%rip), %rsi     # 0x171157
callq 0xd05b0
movq %rax, 0x2b8(%rsp)
jmp 0xd7745
movq 0x2b8(%rsp), %rdi
movq 0xd47e4(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd775b
movq 0xd4826(%rip), %rdi     # 0x1abf88
leaq 0x999fd(%rip), %rsi     # 0x171166
callq 0xd05b0
movq %rax, 0x2b0(%rsp)
jmp 0xd7778
movq 0x2b0(%rsp), %rdi
leaq 0x17a8(%rsp), %rsi
callq 0xd0540
movq %rax, 0x2a8(%rsp)
jmp 0xd7797
movq 0x2a8(%rsp), %rdi
movq 0xd4792(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd77ad
leaq 0x9a037(%rip), %rsi     # 0x1717eb
leaq 0x1788(%rsp), %rdi
callq 0xd9990
movb %al, 0x2a7(%rsp)
jmp 0xd77ca
movb 0x2a7(%rsp), %al
testb $0x1, %al
jne 0xd77d7
jmp 0xd782b
movq 0xd47aa(%rip), %rdi     # 0x1abf88
leaq 0x9999a(%rip), %rsi     # 0x17117f
callq 0xd05b0
movq %rax, 0x298(%rsp)
jmp 0xd77f4
movq 0x298(%rsp), %rdi
leaq 0x1788(%rsp), %rsi
callq 0xd0540
movq %rax, 0x290(%rsp)
jmp 0xd7813
movq 0x290(%rsp), %rdi
movq 0xd4716(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7829
jmp 0xd782b
cmpl $0x1, 0x1748(%rsp)
jbe 0xd7889
movq 0xd474c(%rip), %rdi     # 0x1abf88
leaq 0x99955(%rip), %rsi     # 0x171198
callq 0xd05b0
movq %rax, 0x288(%rsp)
jmp 0xd7852
movq 0x288(%rsp), %rdi
leaq 0x1768(%rsp), %rsi
callq 0xd0540
movq %rax, 0x280(%rsp)
jmp 0xd7871
movq 0x280(%rsp), %rdi
movq 0xd46b8(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7887
jmp 0xd7889
movq 0xd46f8(%rip), %rdi     # 0x1abf88
leaq 0x9991a(%rip), %rsi     # 0x1711b1
callq 0xd05b0
movq %rax, 0x278(%rsp)
jmp 0xd78a6
movq 0x278(%rsp), %rdi
movl 0x1764(%rsp), %esi
callq 0xd07b0
movq %rax, 0x270(%rsp)
jmp 0xd78c4
movq 0x270(%rsp), %rdi
leaq 0x99c75(%rip), %rsi     # 0x171548
callq 0xd05b0
movq %rax, 0x268(%rsp)
jmp 0xd78e2
movq 0x268(%rsp), %rdi
movl 0x1760(%rsp), %esi
callq 0xd07b0
movq %rax, 0x260(%rsp)
jmp 0xd7900
movq 0x260(%rsp), %rdi
leaq 0x998bb(%rip), %rsi     # 0x1711ca
callq 0xd05b0
movq %rax, 0x258(%rsp)
jmp 0xd791e
movq 0x258(%rsp), %rdi
movq 0xd460b(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7934
movq 0xd464d(%rip), %rdi     # 0x1abf88
leaq 0x9988b(%rip), %rsi     # 0x1711cd
callq 0xd05b0
movq %rax, 0x250(%rsp)
jmp 0xd7951
movq 0x250(%rsp), %rdi
movl 0x1748(%rsp), %esi
callq 0xd07b0
movq %rax, 0x248(%rsp)
jmp 0xd796f
movq 0x248(%rsp), %rdi
movq 0xd45ba(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7985
cmpl $0x1, 0x1748(%rsp)
jbe 0xd79e2
movq 0xd45f2(%rip), %rdi     # 0x1abf88
leaq 0x99849(%rip), %rsi     # 0x1711e6
callq 0xd05b0
movq %rax, 0x240(%rsp)
jmp 0xd79ac
movq 0x240(%rsp), %rdi
movl 0x174c(%rsp), %esi
callq 0xd07b0
movq %rax, 0x238(%rsp)
jmp 0xd79ca
movq 0x238(%rsp), %rdi
movq 0xd455f(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd79e0
jmp 0xd79e2
movq 0xd459f(%rip), %rdi     # 0x1abf88
leaq 0x9980f(%rip), %rsi     # 0x1711ff
callq 0xd05b0
movq %rax, 0x230(%rsp)
jmp 0xd79ff
movq 0x230(%rsp), %rdi
movl 0x175c(%rsp), %esi
callq 0xd07b0
movq %rax, 0x228(%rsp)
jmp 0xd7a1d
movq 0x228(%rsp), %rdi
movq 0xd450c(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7a33
movq 0xd454e(%rip), %rdi     # 0x1abf88
leaq 0x997d7(%rip), %rsi     # 0x171218
callq 0xd05b0
movq %rax, 0x220(%rsp)
jmp 0xd7a50
movq 0x220(%rsp), %rdi
movl 0x1750(%rsp), %esi
callq 0xd07b0
movq %rax, 0x218(%rsp)
jmp 0xd7a6e
movq 0x218(%rsp), %rdi
movq 0xd44bb(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7a84
movq 0xd44fd(%rip), %rdi     # 0x1abf88
leaq 0x9979f(%rip), %rsi     # 0x171231
callq 0xd05b0
movq %rax, 0x210(%rsp)
jmp 0xd7aa1
movq 0x210(%rsp), %rdi
movsd 0x1738(%rsp), %xmm0
callq 0xd0aa0
movq %rax, 0x208(%rsp)
jmp 0xd7ac1
movq 0x208(%rsp), %rdi
movq 0xd4468(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7ad7
movq 0xd44aa(%rip), %rdi     # 0x1abf88
leaq 0x99765(%rip), %rsi     # 0x17124a
callq 0xd05b0
jmp 0xd7aec
testb $0x1, 0x1746(%rsp)
je 0xd7b2b
movq 0xd448b(%rip), %rdi     # 0x1abf88
leaq 0x9975f(%rip), %rsi     # 0x171263
callq 0xd05b0
movq %rax, 0x200(%rsp)
jmp 0xd7b13
movq 0x200(%rsp), %rdi
movq 0xd4416(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7b29
jmp 0xd7b60
movq 0xd4456(%rip), %rdi     # 0x1abf88
leaq 0x9972e(%rip), %rsi     # 0x171267
callq 0xd05b0
movq %rax, 0x1f8(%rsp)
jmp 0xd7b48
movq 0x1f8(%rsp), %rdi
movq 0xd43e1(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7b5e
jmp 0xd7b60
cmpl $0x1, 0x1748(%rsp)
jbe 0xd7bf9
movq 0xd4413(%rip), %rdi     # 0x1abf88
leaq 0x996ee(%rip), %rsi     # 0x17126a
callq 0xd05b0
jmp 0xd7b83
testb $0x1, 0x1745(%rsp)
je 0xd7bc2
movq 0xd43f4(%rip), %rdi     # 0x1abf88
leaq 0x996c8(%rip), %rsi     # 0x171263
callq 0xd05b0
movq %rax, 0x1f0(%rsp)
jmp 0xd7baa
movq 0x1f0(%rsp), %rdi
movq 0xd437f(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7bc0
jmp 0xd7bf7
movq 0xd43bf(%rip), %rdi     # 0x1abf88
leaq 0x99697(%rip), %rsi     # 0x171267
callq 0xd05b0
movq %rax, 0x1e8(%rsp)
jmp 0xd7bdf
movq 0x1e8(%rsp), %rdi
movq 0xd434a(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7bf5
jmp 0xd7bf7
jmp 0xd7bf9
movq $0x0, 0x9f0(%rsp)
leaq 0x1788(%rsp), %rdi
callq 0xd0970
testb $0x1, %al
jne 0xd7c1b
jmp 0xd7e37
movq 0xd4366(%rip), %rdi     # 0x1abf88
movq 0xd430f(%rip), %rsi     # 0x1abf38
callq 0xd0610
movq %rax, 0x1e0(%rsp)
jmp 0xd7c38
movq 0x1e0(%rsp), %rdi
leaq 0x9963c(%rip), %rsi     # 0x171283
callq 0xd05b0
movq %rax, 0x1d8(%rsp)
jmp 0xd7c56
movq 0x1d8(%rsp), %rdi
movq 0xd42d3(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7c6c
movq 0xd4315(%rip), %rdi     # 0x1abf88
leaq 0x99623(%rip), %rsi     # 0x17129d
callq 0xd05b0
movq %rax, 0x1d0(%rsp)
jmp 0xd7c89
movq 0x1d0(%rsp), %rdi
movq 0xd42a0(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7c9f
callq 0xd3ba0
movq %rax, 0x1c8(%rsp)
jmp 0xd7cae
movq 0x1c8(%rsp), %rax
movq %rax, 0x9f8(%rsp)
movq 0xd42c3(%rip), %rdi     # 0x1abf88
leaq 0x995e7(%rip), %rsi     # 0x1712b3
callq 0xd05b0
movq %rax, 0x1c0(%rsp)
jmp 0xd7cdb
movq 0x9f8(%rsp), %rdi
callq 0x162bc0
movq %rax, 0x1b8(%rsp)
jmp 0xd7cf2
movq 0x1b8(%rsp), %rsi
movq 0x1c0(%rsp), %rdi
callq 0xd0120
movq %rax, 0x1b0(%rsp)
jmp 0xd7d11
movq 0x1b0(%rsp), %rdi
leaq 0x995a5(%rip), %rsi     # 0x1712c5
callq 0xd05b0
movq %rax, 0x1a8(%rsp)
jmp 0xd7d2f
movq 0x1a8(%rsp), %rdi
movq 0xd41fa(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7d45
movq 0xd423c(%rip), %rdi     # 0x1abf88
leaq 0x9957b(%rip), %rsi     # 0x1712ce
callq 0xd05b0
movq %rax, 0x1a0(%rsp)
jmp 0xd7d62
movq 0x1a0(%rsp), %rdi
movq 0xd41c7(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7d78
movl 0x1750(%rsp), %eax
cvtsi2sd %rax, %xmm0
movsd 0x1738(%rsp), %xmm1
movl 0x1764(%rsp), %edi
movl 0x1760(%rsp), %esi
movl 0x175c(%rsp), %edx
movzbl 0x1746(%rsp), %ecx
andl $0x1, %ecx
callq 0xd4070
movq %rax, 0x198(%rsp)
jmp 0xd7dbc
movq 0x198(%rsp), %rax
movq %rax, 0x9f0(%rsp)
movq 0xd41b5(%rip), %rdi     # 0x1abf88
leaq 0x9950b(%rip), %rsi     # 0x1712e5
callq 0xd05b0
movq %rax, 0x190(%rsp)
jmp 0xd7de9
movq 0x190(%rsp), %rdi
movq 0xd4140(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7dff
movq 0xd4182(%rip), %rdi     # 0x1abf88
leaq 0x994da(%rip), %rsi     # 0x1712e7
callq 0xd05b0
movq %rax, 0x188(%rsp)
jmp 0xd7e1c
movq 0x188(%rsp), %rdi
movq 0xd410d(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7e32
jmp 0xd8613
movq 0xd414a(%rip), %rdi     # 0x1abf88
movq 0xd40f3(%rip), %rsi     # 0x1abf38
callq 0xd0610
movq %rax, 0x180(%rsp)
jmp 0xd7e54
movq 0x180(%rsp), %rdi
leaq 0x99489(%rip), %rsi     # 0x1712ec
callq 0xd05b0
movq %rax, 0x178(%rsp)
jmp 0xd7e72
movq 0x178(%rsp), %rdi
movq 0xd40b7(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7e88
leaq 0x7e8(%rsp), %rdi
leaq 0x1788(%rsp), %rsi
movl $0x8, %edx
callq 0xd0910
jmp 0xd7ea4
leaq 0x7e8(%rsp), %rdi
callq 0xd0900
movb %al, 0x177(%rsp)
jmp 0xd7eba
movb 0x177(%rsp), %al
testb $0x1, %al
jne 0xd7f89
jmp 0xd7ecb
movq 0xd410e(%rip), %rdi     # 0x1abfe0
leaq 0x99423(%rip), %rsi     # 0x1712fc
callq 0xd05b0
movq %rax, 0x168(%rsp)
jmp 0xd7ee8
callq 0xd0090
movl (%rax), %esi
leaq 0x7c8(%rsp), %rdi
callq 0x16ab30
jmp 0xd7efe
movq 0x168(%rsp), %rdi
leaq 0x7c8(%rsp), %rsi
callq 0xd0540
movq %rax, 0x160(%rsp)
jmp 0xd7f1d
movq 0x160(%rsp), %rdi
movq 0xd400c(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd7f33
leaq 0x7c8(%rsp), %rdi
callq 0xd0b38
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd8601
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0x7c8(%rsp), %rdi
callq 0xd0b38
jmp 0xd8601
xorl %eax, %eax
movl %eax, %esi
leaq 0x7b8(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0xd99c0
movq 0x158(%rsp), %rsi
leaq 0x7e8(%rsp), %rdi
callq 0xd9a00
jmp 0xd7fb9
leaq 0x7e8(%rsp), %rdi
callq 0xd0100
jmp 0xd7fc8
leaq 0x7b8(%rsp), %rdi
callq 0xd9b20
testb $0x1, %al
jne 0xd8070
movq 0xd3ffc(%rip), %rdi     # 0x1abfe0
leaq 0x99327(%rip), %rsi     # 0x171312
callq 0xd05b0
movq %rax, 0x150(%rsp)
jmp 0xd7ffa
movq 0x150(%rsp), %rdi
leaq 0x1788(%rsp), %rsi
callq 0xd0540
movq %rax, 0x148(%rsp)
jmp 0xd8019
movq 0x148(%rsp), %rdi
leaq 0x992f9(%rip), %rsi     # 0x171321
callq 0xd05b0
movq %rax, 0x140(%rsp)
jmp 0xd8037
movq 0x140(%rsp), %rdi
movq 0xd3ef2(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd804d
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd85f4
leaq 0x992c1(%rip), %rsi     # 0x171338
leaq 0x7b8(%rsp), %rdi
callq 0xd9b40
movq %rax, 0x138(%rsp)
jmp 0xd808e
movq 0x138(%rsp), %rdi
callq 0xd9da0
testb $0x1, %al
jne 0xd8210
movq 0xd3ede(%rip), %rdi     # 0x1abf88
leaq 0x9928d(%rip), %rsi     # 0x17133e
callq 0xd05b0
movq %rax, 0x130(%rsp)
jmp 0xd80c0
movq 0x130(%rsp), %rdi
movq 0xd3e69(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd80d6
leaq 0x9925b(%rip), %rsi     # 0x171338
leaq 0x7b8(%rsp), %rdi
callq 0xd9b40
movq %rax, 0x128(%rsp)
jmp 0xd80f4
movq 0x128(%rsp), %rsi
leaq 0x7a8(%rsp), %rdi
callq 0xd9dc0
jmp 0xd810b
leaq 0x7a8(%rsp), %rdi
callq 0x1632e0
movq %rax, 0x120(%rsp)
jmp 0xd8122
movq 0x120(%rsp), %rax
movq %rax, 0x9f8(%rsp)
leaq 0x7a8(%rsp), %rdi
callq 0xd9f30
jmp 0xd820e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd817b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0x7a8(%rsp), %rdi
callq 0xd9f30
movl 0x15e4(%rsp), %eax
movl $0x3, %ecx
cmpl %ecx, %eax
jne 0xd85f4
movq 0x15e8(%rsp), %rdi
callq 0xd0210
movq %rax, 0x7a0(%rsp)
movq 0x7a0(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rsi
movq 0xd3e21(%rip), %rdi     # 0x1abfe0
callq 0xd05b0
movq %rax, 0x118(%rsp)
jmp 0xd81ce
movq 0x118(%rsp), %rdi
movq 0xd3d5b(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd81e4
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xd0700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
callq 0xd0940
jmp 0xd8209
jmp 0xd85f4
jmp 0xd8262
movq 0xd3d71(%rip), %rdi     # 0x1abf88
leaq 0x9907f(%rip), %rsi     # 0x17129d
callq 0xd05b0
movq %rax, 0x110(%rsp)
jmp 0xd822d
movq 0x110(%rsp), %rdi
movq 0xd3cfc(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd8243
callq 0xd3ba0
movq %rax, 0x108(%rsp)
jmp 0xd8252
movq 0x108(%rsp), %rax
movq %rax, 0x9f8(%rsp)
movq 0xd3d1f(%rip), %rdi     # 0x1abf88
leaq 0x99043(%rip), %rsi     # 0x1712b3
callq 0xd05b0
movq %rax, 0x100(%rsp)
jmp 0xd827f
movq 0x9f8(%rsp), %rdi
callq 0x162bc0
movq %rax, 0xf8(%rsp)
jmp 0xd8296
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdi
callq 0xd0120
movq %rax, 0xf0(%rsp)
jmp 0xd82b5
movq 0xf0(%rsp), %rdi
leaq 0x99001(%rip), %rsi     # 0x1712c5
callq 0xd05b0
movq %rax, 0xe8(%rsp)
jmp 0xd82d3
movq 0xe8(%rsp), %rdi
movq 0xd3c56(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd82e9
leaq 0x99061(%rip), %rsi     # 0x171351
leaq 0x7b8(%rsp), %rdi
callq 0xd9b40
movq %rax, 0xe0(%rsp)
jmp 0xd8307
movq 0xe0(%rsp), %rdi
callq 0xd9da0
testb $0x1, %al
jne 0xd851e
movq 0xd3c65(%rip), %rdi     # 0x1abf88
leaq 0x9902e(%rip), %rsi     # 0x171358
callq 0xd05b0
movq %rax, 0xd8(%rsp)
jmp 0xd8339
movq 0xd8(%rsp), %rdi
movq 0xd3bf0(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd834f
leaq 0x98ffb(%rip), %rsi     # 0x171351
leaq 0x7b8(%rsp), %rdi
callq 0xd9b40
movq %rax, 0xd0(%rsp)
jmp 0xd836d
movq 0xd0(%rsp), %rsi
leaq 0x790(%rsp), %rdi
callq 0xd9dc0
jmp 0xd8384
leaq 0x790(%rsp), %rdi
callq 0x161960
movq %rax, 0xc8(%rsp)
jmp 0xd839b
movq 0xc8(%rsp), %rax
movq %rax, 0x9f0(%rsp)
leaq 0x790(%rsp), %rdi
callq 0xd9f30
movq 0x9f0(%rsp), %rdi
movl 0x1764(%rsp), %esi
movl 0x1760(%rsp), %edx
movl 0x175c(%rsp), %ecx
movzbl 0x1746(%rsp), %r8d
andl $0x1, %r8d
callq 0xd4020
movq 0x9f0(%rsp), %rdi
callq 0x160e50
jmp 0xd83f6
movq 0x9f0(%rsp), %rax
movsd 0x80(%rax), %xmm0
movl 0x1750(%rsp), %eax
cvtsi2sd %rax, %xmm1
ucomisd %xmm1, %xmm0
jne 0xd841f
jp 0xd841f
jmp 0xd84a1
movq 0xd3b62(%rip), %rdi     # 0x1abf88
leaq 0x98f3f(%rip), %rsi     # 0x17136c
callq 0xd05b0
movq %rax, 0xc0(%rsp)
jmp 0xd843c
movq 0xc0(%rsp), %rdi
movq 0x9f0(%rsp), %rax
movsd 0x80(%rax), %xmm0
callq 0xd0aa0
movq %rax, 0xb8(%rsp)
jmp 0xd8463
movq 0xb8(%rsp), %rdi
movq 0xd3ac6(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd8479
jmp 0xd84a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0x790(%rsp), %rdi
callq 0xd9f30
jmp 0xd85f4
movq 0x9f0(%rsp), %rax
movsd 0x88(%rax), %xmm0
ucomisd 0x1738(%rsp), %xmm0
jne 0xd84c0
jp 0xd84c0
jmp 0xd851c
movq 0xd3ac1(%rip), %rdi     # 0x1abf88
leaq 0x98ec7(%rip), %rsi     # 0x171395
callq 0xd05b0
movq %rax, 0xb0(%rsp)
jmp 0xd84dd
movq 0xb0(%rsp), %rdi
movq 0x9f0(%rsp), %rax
movsd 0x88(%rax), %xmm0
callq 0xd0aa0
movq %rax, 0xa8(%rsp)
jmp 0xd8504
movq 0xa8(%rsp), %rdi
movq 0xd3a25(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd851a
jmp 0xd851c
jmp 0xd8572
movl 0x1750(%rsp), %eax
cvtsi2sd %rax, %xmm0
movsd 0x1738(%rsp), %xmm1
movl 0x1764(%rsp), %edi
movl 0x1760(%rsp), %esi
movl 0x175c(%rsp), %edx
movzbl 0x1746(%rsp), %ecx
andl $0x1, %ecx
callq 0xd4070
movq %rax, 0xa0(%rsp)
jmp 0xd8562
movq 0xa0(%rsp), %rax
movq %rax, 0x9f0(%rsp)
movq 0xd3a0f(%rip), %rdi     # 0x1abf88
leaq 0x98d65(%rip), %rsi     # 0x1712e5
callq 0xd05b0
movq %rax, 0x98(%rsp)
jmp 0xd858f
movq 0x98(%rsp), %rdi
movq 0xd399a(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd85a5
movq 0xd39dc(%rip), %rdi     # 0x1abf88
leaq 0x98d34(%rip), %rsi     # 0x1712e7
callq 0xd05b0
movq %rax, 0x90(%rsp)
jmp 0xd85c2
movq 0x90(%rsp), %rdi
movq 0xd3967(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd85d8
leaq 0x7b8(%rsp), %rdi
callq 0xd9f30
leaq 0x7e8(%rsp), %rdi
callq 0xd0140
jmp 0xd8613
leaq 0x7b8(%rsp), %rdi
callq 0xd9f30
leaq 0x7e8(%rsp), %rdi
callq 0xd0140
jmp 0xd8b23
movq 0xd396e(%rip), %rdi     # 0x1abf88
movq 0xd3917(%rip), %rsi     # 0x1abf38
callq 0xd0610
movq %rax, 0x88(%rsp)
jmp 0xd8630
movq 0x88(%rsp), %rdi
leaq 0x98d7a(%rip), %rsi     # 0x1713b9
callq 0xd05b0
movq %rax, 0x80(%rsp)
jmp 0xd864e
movq 0x80(%rsp), %rdi
movq 0xd38db(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd8664
movl 0x1758(%rsp), %esi
movl 0x1754(%rsp), %edx
movzbl 0x1747(%rsp), %ecx
andl $0x1, %ecx
leaq 0x784(%rsp), %rdi
callq 0x1392c0
jmp 0xd868c
callq 0xd00a0
movq %rax, 0x778(%rsp)
movq 0x778(%rsp), %rax
movq %rax, 0x770(%rsp)
cmpl $0x1, 0x1748(%rsp)
jne 0xd87be
movq 0x9f8(%rsp), %rdx
movq 0x9f0(%rsp), %rcx
leaq 0x760(%rsp), %rdi
leaq 0x784(%rsp), %rsi
callq 0x139300
jmp 0xd86de
callq 0xd00a0
movq %rax, 0x758(%rsp)
movq 0x758(%rsp), %rax
movq %rax, 0x770(%rsp)
movq 0xd3886(%rip), %rdi     # 0x1abf88
leaq 0x98cbd(%rip), %rsi     # 0x1713c6
callq 0xd05b0
movq %rax, 0x78(%rsp)
jmp 0xd8715
movq 0x78(%rsp), %rdi
movq 0xd3817(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd8728
leaq 0x738(%rsp), %rdi
leaq 0x17a8(%rsp), %rsi
callq 0xd0250
jmp 0xd873f
leaq 0x760(%rsp), %rdi
leaq 0x738(%rsp), %rsi
callq 0x13bb50
jmp 0xd8756
leaq 0x738(%rsp), %rdi
callq 0xd0b38
leaq 0x760(%rsp), %rdi
callq 0x13b4a0
jmp 0xd8970
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd87ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0x738(%rsp), %rdi
callq 0xd0b38
leaq 0x760(%rsp), %rdi
callq 0x13b4a0
jmp 0xd8b23
movq 0x9f0(%rsp), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x68(%rsp)
movl 0xc(%rax), %eax
movl %eax, 0x6c(%rsp)
movl 0x1748(%rsp), %eax
movl %eax, 0x70(%rsp)
movl 0x174c(%rsp), %eax
movl %eax, 0x74(%rsp)
leaq 0x6c8(%rsp), %rdi
leaq 0x1768(%rsp), %rsi
callq 0xd0250
jmp 0xd8801
movl 0x74(%rsp), %r8d
movl 0x70(%rsp), %ecx
movl 0x6c(%rsp), %edx
movl 0x68(%rsp), %esi
movzbl 0x1745(%rsp), %edi
andl $0x1, %edi
movq %rsp, %rax
movl %edi, (%rax)
leaq 0x6e8(%rsp), %rdi
leaq 0x6c8(%rsp), %r9
callq 0x139cc0
jmp 0xd8839
leaq 0x6c8(%rsp), %rdi
callq 0xd0b38
movq 0x9f8(%rsp), %rsi
movq 0x9f0(%rsp), %rdx
leaq 0x784(%rsp), %rdi
leaq 0x6e8(%rsp), %rcx
callq 0x139530
jmp 0xd886d
callq 0xd00a0
movq %rax, 0x6c0(%rsp)
movq 0x6c0(%rsp), %rax
movq %rax, 0x770(%rsp)
movq 0xd36f7(%rip), %rdi     # 0x1abf88
leaq 0x98b40(%rip), %rsi     # 0x1713d8
callq 0xd05b0
movq %rax, 0x60(%rsp)
jmp 0xd88a4
movq 0x60(%rsp), %rdi
movq 0xd3688(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd88b7
leaq 0x6a0(%rsp), %rdi
leaq 0x17a8(%rsp), %rsi
callq 0xd0250
jmp 0xd88ce
leaq 0x6e8(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
callq 0x13a690
jmp 0xd88e5
leaq 0x6a0(%rsp), %rdi
callq 0xd0b38
leaq 0x6e8(%rsp), %rdi
callq 0x13a340
jmp 0xd8970
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0x6c8(%rsp), %rdi
callq 0xd0b38
jmp 0xd8b23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
jmp 0xd895e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x15e8(%rsp)
movl %eax, 0x15e4(%rsp)
leaq 0x6a0(%rsp), %rdi
callq 0xd0b38
leaq 0x6e8(%rsp), %rdi
callq 0x13a340
jmp 0xd8b23
leaq 0x770(%rsp), %rdi
leaq 0x778(%rsp), %rsi
callq 0xd9f70
movq %rax, 0x58(%rsp)
jmp 0xd898c
movq 0x58(%rsp), %rax
movq %rax, 0x698(%rsp)
leaq 0x698(%rsp), %rdi
callq 0xd9fc0
movq %rax, 0x50(%rsp)
jmp 0xd89ad
movq 0x50(%rsp), %rax
movq %rax, 0x690(%rsp)
movq 0xd35c7(%rip), %rdi     # 0x1abf88
leaq 0x98a21(%rip), %rsi     # 0x1713e9
callq 0xd05b0
movq %rax, 0x48(%rsp)
jmp 0xd89d4
leaq 0x690(%rsp), %rdi
callq 0xd9ff0
movq %rax, 0x40(%rsp)
jmp 0xd89e8
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rax
cvtsi2sd %rax, %xmm0
movsd 0x97669(%rip), %xmm1    # 0x170068
divsd %xmm1, %xmm0
callq 0xd0aa0
movq %rax, 0x38(%rsp)
jmp 0xd8a0f
movq 0x38(%rsp), %rdi
leaq 0x989e4(%rip), %rsi     # 0x1713ff
callq 0xd05b0
movq %rax, 0x30(%rsp)
jmp 0xd8a27
movq 0x30(%rsp), %rdi
movq 0xd3505(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd8a3a
movq 0x9f8(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpq $0x0, %rax
je 0xd8a58
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x9f0(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpq $0x0, %rax
je 0xd8a76
movq 0x20(%rsp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq 0xd350b(%rip), %rdi     # 0x1abf88
movq 0xd34b4(%rip), %rsi     # 0x1abf38
callq 0xd0610
movq %rax, 0x18(%rsp)
jmp 0xd8a90
movq 0x18(%rsp), %rdi
leaq 0x9896c(%rip), %rsi     # 0x171408
callq 0xd05b0
movq %rax, 0x10(%rsp)
jmp 0xd8aa8
movq 0x10(%rsp), %rdi
movq 0xd3484(%rip), %rsi     # 0x1abf38
callq 0xd0610
movq %rax, 0x8(%rsp)
jmp 0xd8ac0
movq 0x8(%rsp), %rdi
movq 0xd346c(%rip), %rsi     # 0x1abf38
callq 0xd0610
jmp 0xd8ad3
leaq 0xcf0(%rsp), %rdi
callq 0xda000
leaq 0x1618(%rsp), %rdi
callq 0xda060
leaq 0x1768(%rsp), %rdi
callq 0xd0b38
leaq 0x1788(%rsp), %rdi
callq 0xd0b38
leaq 0x17a8(%rsp), %rdi
callq 0xd0b38
movl 0x17d4(%rsp), %eax
addq $0x17d8, %rsp           # imm = 0x17D8
retq
leaq 0xcf0(%rsp), %rdi
callq 0xda000
leaq 0x1618(%rsp), %rdi
callq 0xda060
leaq 0x1768(%rsp), %rdi
callq 0xd0b38
leaq 0x1788(%rsp), %rdi
callq 0xd0b38
leaq 0x17a8(%rsp), %rdi
callq 0xd0b38
movq 0x15e8(%rsp), %rdi
callq 0xd0a10
movq %rax, %rdi
callq 0xd9890
nopl (%rax)