// File: bonetblai[P]mdp-engine/ctp3/main.cc
// Function: main
int main(int argc, const char **argv) {
    int cache_capacity = (int)5e5;
    int shortcut_cost = (int)5e3;
    float dead_end_value = 0;
    unsigned num_trials = 1;

    int calculate_features = 0;
    int calculate_nsamples = 0;

    vector<string> requests;

    float start_time = Utils::read_time_in_seconds();
    cout << fixed;

    // parse arguments
    for( ++argv, --argc; (argc > 1) && (**argv == '-'); ++argv, --argc ) {
        if( string(*argv) == "--no-colors" ) {
            Utils::g_use_colors = false;
        } else if( ((*argv)[1] == 'r') || (string(*argv) == "--request") ) {
            requests.push_back(argv[1]);
            ++argv;
            --argc;
        } else if( ((*argv)[1] == 's') || (string(*argv) == "--seed") ) {
            Algorithm::g_seed = strtoul(argv[1], 0, 0);
            Online::g_seed = Algorithm::g_seed;
            ++argv;
            --argc;
        } else if( ((*argv)[1] == 't') || (string(*argv) == "--trials") ) {
            num_trials = strtoul(argv[1], 0, 0);
            ++argv;
            --argc;
        } else if( ((*argv)[1] == 'c') || (string(*argv) == "--shortcut-cost") ) {
            shortcut_cost = strtoul(argv[1], 0, 0);
            ++argv;
            --argc;
        } else if( ((*argv)[1] == 'd') || (string(*argv) == "--dead-end-value") ) {
            dead_end_value = strtod(argv[1], 0);
            ++argv;
            --argc;
        } else if( ((*argv)[1] == 'f') || (string(*argv) == "--calculate-features") ) {
            calculate_nsamples = strtoul(argv[1], 0, 0);
            calculate_features = true;
            ++argv;
            --argc;
        } else {
            usage(cout);
            exit(-1);
        }
    }

    // read problem parameters
    CTP::graph_t graph(false, shortcut_cost);
    if( argc >= 1 ) {
        ifstream is(argv[0], ifstream::in);
        if( !graph.parse(is) ) exit(-1);
        is.close();
    } else {
        usage(cout);
        exit(-1);
    }

    // build problem instances
    cout << "main: seed=" << Algorithm::g_seed << endl;
    Random::set_seed(Algorithm::g_seed);
    state_t::initialize(graph, false, cache_capacity);
    problem_t problem(graph, dead_end_value, false, cache_capacity);

    if( calculate_features ) {
        float probability = probability_bad_weather(graph, calculate_nsamples);
        cout << "P(bad weather)=" << probability << endl;
        pair<float, float> p = branching_factor(problem, calculate_nsamples);
        cout << "avg-branching=" << p.first << endl;
        cout << "max-branching=" << p.second << endl;
    }

    // build requests
    vector<pair<string, Online::Policy::policy_t<state_t>*> > policies;
    vector<pair<string, Algorithm::algorithm_t<state_t>*> > algorithms;
    Dispatcher::dispatcher_t<state_t> dispatcher;
    dispatcher.insert_heuristic("ctp-min-min()", new ctp_min_min_t(problem));
    dispatcher.insert_policy("ctp-optimistic()", new ctp_optimistic_policy_t(problem, graph, 1.0));
    for( int i = 0; i < int(requests.size()); ++i ) {
        const string &request_str = requests[i];
        std::multimap<std::string, std::string> request;
        Utils::tokenize(request_str, request);
        for( std::multimap<std::string, std::string>::const_iterator it = request.begin(); it != request.end(); ++it ) {
            dispatcher.create_request(problem, it->first, it->second);
            if( it->first == "algorithm" ) {
                Algorithm::algorithm_t<state_t> *algorithm = dispatcher.fetch_algorithm(it->second);
                if( algorithm != 0 ) algorithms.push_back(make_pair(it->second, algorithm));
            } else if( it->first == "policy" ) {
                Online::Policy::policy_t<state_t> *policy = dispatcher.fetch_policy(it->second);
                if( policy != 0 ) policies.push_back(make_pair(it->second, policy));
            }
        }
    }

    // solve problems with requested algorithms
    vector<Dispatcher::dispatcher_t<state_t>::solve_result_t> solve_results;
    for( int i = 0; i < int(algorithms.size()); ++i ) {
        const string &request = algorithms[i].first;
        const Algorithm::algorithm_t<state_t> &algorithm = *algorithms[i].second;
        Dispatcher::dispatcher_t<state_t>::solve_result_t result;
        dispatcher.solve(request, algorithm, problem.init(), result);
        solve_results.push_back(result);
    }

    cout << Utils::warning() << "the following stats may aggregate figures when elements are shared among algorithms" << endl;
    if( !solve_results.empty() ) {
        for( int i = 0; i < int(solve_results.size()); ++i ) {
            dispatcher.print_stats(cout, solve_results[i]);
        }
    }

    // evaluate requested policies
    vector<Dispatcher::dispatcher_t<state_t>::evaluate_result_t> evaluate_results;
    for( int i = 0; i < int(policies.size()); ++i ) {
        const string &request = policies[i].first;
        const Online::Policy::policy_t<state_t> &policy = *policies[i].second;
        Dispatcher::dispatcher_t<state_t>::evaluate_result_t result;
        dispatcher.evaluate(request, policy, problem.init(), result, num_trials, 100, true);
        evaluate_results.push_back(result);
    }

    cout << Utils::warning() << "the following stats may aggregate figures when elements are shared among policies" << endl;
    if( !evaluate_results.empty() ) {
        for( int i = 0; i < int(evaluate_results.size()); ++i ) {
            dispatcher.print_stats(cout, evaluate_results[i]);
        }
    }

    cout << "main: total-time=" << Utils::read_time_in_seconds() - start_time << endl;
    return 0;
}

// Assembly:
subq $0xa78, %rsp            # imm = 0xA78
movl $0x0, 0xa74(%rsp)
movl %edi, 0xa70(%rsp)
movq %rsi, 0xa68(%rsp)
movl $0x7a120, 0xa64(%rsp) # imm = 0x7A120
movl $0x1388, 0xa60(%rsp) # imm = 0x1388
movl $0x0, 0xa5c(%rsp)
movl $0x1, 0xa58(%rsp)
movl $0x0, 0xa54(%rsp)
movl $0x0, 0xa50(%rsp)
leaq 0xa38(%rsp), %rdi
callq 0x84e0
callq 0x84f0
movss %xmm0, 0x228(%rsp)
jmp 0x6800
movss 0x228(%rsp), %xmm0
movss %xmm0, 0xa34(%rsp)
movq 0x7c7b7(%rip), %rdi     # 0x82fd0
leaq 0x1d50(%rip), %rsi      # 0x8570
callq 0x6120
jmp 0x6827
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
xorl %eax, %eax
cmpl $0x1, 0xa70(%rsp)
movb %al, 0x227(%rsp)
jle 0x687a
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
sete %al
movb %al, 0x227(%rsp)
movb 0x227(%rsp), %al
testb $0x1, %al
jne 0x688a
jmp 0x74ae
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x210(%rsp)
leaq 0x9ff(%rsp), %rdi
movq %rdi, 0x218(%rsp)
callq 0x6530
movq 0x210(%rsp), %rsi
movq 0x218(%rsp), %rdx
leaq 0xa00(%rsp), %rdi
callq 0x6460
jmp 0x68d1
leaq 0x56870(%rip), %rsi     # 0x5d148
leaq 0xa00(%rsp), %rdi
callq 0x8590
movb %al, 0x20f(%rsp)
jmp 0x68ee
leaq 0xa00(%rsp), %rdi
callq 0x61f0
leaq 0x9ff(%rsp), %rdi
callq 0x6390
movb 0x20f(%rsp), %al
testb $0x1, %al
jne 0x6915
jmp 0x6983
movb $0x0, 0x7c9d4(%rip)     # 0x832f0
jmp 0x7482
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x83f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x6971
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0xa00(%rsp), %rdi
callq 0x61f0
leaq 0x9ff(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %ecx
movb $0x0, 0x9d6(%rsp)
movb $0x0, 0x9d5(%rsp)
movb $0x1, %al
cmpl $0x72, %ecx
movb %al, 0x20e(%rsp)
je 0x6a38
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x1f8(%rsp)
leaq 0x9d7(%rsp), %rdi
movq %rdi, 0x200(%rsp)
callq 0x6530
movq 0x1f8(%rsp), %rsi
movq 0x200(%rsp), %rdx
movb $0x1, 0x9d6(%rsp)
leaq 0x9d8(%rsp), %rdi
callq 0x6460
jmp 0x6a03
movb $0x1, 0x9d5(%rsp)
leaq 0x56742(%rip), %rsi     # 0x5d154
leaq 0x9d8(%rsp), %rdi
callq 0x8590
movb %al, 0x1f7(%rsp)
jmp 0x6a28
movb 0x1f7(%rsp), %al
movb %al, 0x20e(%rsp)
jmp 0x6a38
movb 0x20e(%rsp), %al
movb %al, 0x1f6(%rsp)
testb $0x1, 0x9d5(%rsp)
jne 0x6a52
jmp 0x6a5f
leaq 0x9d8(%rsp), %rdi
callq 0x61f0
testb $0x1, 0x9d6(%rsp)
jne 0x6a6b
jmp 0x6a78
leaq 0x9d7(%rsp), %rdi
callq 0x6390
movb 0x1f6(%rsp), %al
testb $0x1, %al
jne 0x6a88
jmp 0x6bd7
movq 0xa68(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x1e0(%rsp)
leaq 0x9af(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0x6530
movq 0x1e0(%rsp), %rsi
movq 0x1e8(%rsp), %rdx
leaq 0x9b0(%rsp), %rdi
callq 0x6460
jmp 0x6ad0
leaq 0xa38(%rsp), %rdi
leaq 0x9b0(%rsp), %rsi
callq 0x85c0
jmp 0x6ae7
leaq 0x9b0(%rsp), %rdi
callq 0x61f0
leaq 0x9af(%rsp), %rdi
callq 0x6390
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
jmp 0x7480
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x6b70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
testb $0x1, 0x9d5(%rsp)
jne 0x6b61
jmp 0x6b6e
leaq 0x9d8(%rsp), %rdi
callq 0x61f0
jmp 0x6b70
testb $0x1, 0x9d6(%rsp)
jne 0x6b7c
jmp 0x6b89
leaq 0x9d7(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x6bc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x9b0(%rsp), %rdi
callq 0x61f0
leaq 0x9af(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %ecx
movb $0x0, 0x986(%rsp)
movb $0x0, 0x985(%rsp)
movb $0x1, %al
cmpl $0x73, %ecx
movb %al, 0x1df(%rsp)
je 0x6c8c
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x987(%rsp), %rdi
movq %rdi, 0x1d0(%rsp)
callq 0x6530
movq 0x1c8(%rsp), %rsi
movq 0x1d0(%rsp), %rdx
movb $0x1, 0x986(%rsp)
leaq 0x988(%rsp), %rdi
callq 0x6460
jmp 0x6c57
movb $0x1, 0x985(%rsp)
leaq 0x564f8(%rip), %rsi     # 0x5d15e
leaq 0x988(%rsp), %rdi
callq 0x8590
movb %al, 0x1c7(%rsp)
jmp 0x6c7c
movb 0x1c7(%rsp), %al
movb %al, 0x1df(%rsp)
jmp 0x6c8c
movb 0x1df(%rsp), %al
movb %al, 0x1c6(%rsp)
testb $0x1, 0x985(%rsp)
jne 0x6ca6
jmp 0x6cb3
leaq 0x988(%rsp), %rdi
callq 0x61f0
testb $0x1, 0x986(%rsp)
jne 0x6cbf
jmp 0x6ccc
leaq 0x987(%rsp), %rdi
callq 0x6390
movb 0x1c6(%rsp), %al
testb $0x1, %al
jne 0x6cdc
jmp 0x6d92
movq 0xa68(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x6110
movl %eax, 0x7c65b(%rip)     # 0x83354
movl 0x7c655(%rip), %eax     # 0x83354
movl %eax, 0x7c653(%rip)     # 0x83358
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
jmp 0x747e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x6d74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
testb $0x1, 0x985(%rsp)
jne 0x6d65
jmp 0x6d72
leaq 0x988(%rsp), %rdi
callq 0x61f0
jmp 0x6d74
testb $0x1, 0x986(%rsp)
jne 0x6d80
jmp 0x6d8d
leaq 0x987(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %ecx
movb $0x0, 0x95e(%rsp)
movb $0x0, 0x95d(%rsp)
movb $0x1, %al
cmpl $0x74, %ecx
movb %al, 0x1c5(%rsp)
je 0x6e47
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x1b0(%rsp)
leaq 0x95f(%rsp), %rdi
movq %rdi, 0x1b8(%rsp)
callq 0x6530
movq 0x1b0(%rsp), %rsi
movq 0x1b8(%rsp), %rdx
movb $0x1, 0x95e(%rsp)
leaq 0x960(%rsp), %rdi
callq 0x6460
jmp 0x6e12
movb $0x1, 0x95d(%rsp)
leaq 0x56344(%rip), %rsi     # 0x5d165
leaq 0x960(%rsp), %rdi
callq 0x8590
movb %al, 0x1af(%rsp)
jmp 0x6e37
movb 0x1af(%rsp), %al
movb %al, 0x1c5(%rsp)
jmp 0x6e47
movb 0x1c5(%rsp), %al
movb %al, 0x1ae(%rsp)
testb $0x1, 0x95d(%rsp)
jne 0x6e61
jmp 0x6e6e
leaq 0x960(%rsp), %rdi
callq 0x61f0
testb $0x1, 0x95e(%rsp)
jne 0x6e7a
jmp 0x6e87
leaq 0x95f(%rsp), %rdi
callq 0x6390
movb 0x1ae(%rsp), %al
testb $0x1, %al
jne 0x6e97
jmp 0x6f42
movq 0xa68(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x6110
movl %eax, 0xa58(%rsp)
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
jmp 0x747c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x6f24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
testb $0x1, 0x95d(%rsp)
jne 0x6f15
jmp 0x6f22
leaq 0x960(%rsp), %rdi
callq 0x61f0
jmp 0x6f24
testb $0x1, 0x95e(%rsp)
jne 0x6f30
jmp 0x6f3d
leaq 0x95f(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %ecx
movb $0x0, 0x936(%rsp)
movb $0x0, 0x935(%rsp)
movb $0x1, %al
cmpl $0x63, %ecx
movb %al, 0x1ad(%rsp)
je 0x6ff7
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x198(%rsp)
leaq 0x937(%rsp), %rdi
movq %rdi, 0x1a0(%rsp)
callq 0x6530
movq 0x198(%rsp), %rsi
movq 0x1a0(%rsp), %rdx
movb $0x1, 0x936(%rsp)
leaq 0x938(%rsp), %rdi
callq 0x6460
jmp 0x6fc2
movb $0x1, 0x935(%rsp)
leaq 0x5619d(%rip), %rsi     # 0x5d16e
leaq 0x938(%rsp), %rdi
callq 0x8590
movb %al, 0x197(%rsp)
jmp 0x6fe7
movb 0x197(%rsp), %al
movb %al, 0x1ad(%rsp)
jmp 0x6ff7
movb 0x1ad(%rsp), %al
movb %al, 0x196(%rsp)
testb $0x1, 0x935(%rsp)
jne 0x7011
jmp 0x701e
leaq 0x938(%rsp), %rdi
callq 0x61f0
testb $0x1, 0x936(%rsp)
jne 0x702a
jmp 0x7037
leaq 0x937(%rsp), %rdi
callq 0x6390
movb 0x196(%rsp), %al
testb $0x1, %al
jne 0x7047
jmp 0x70f2
movq 0xa68(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x6110
movl %eax, 0xa60(%rsp)
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
jmp 0x747a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x70d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
testb $0x1, 0x935(%rsp)
jne 0x70c5
jmp 0x70d2
leaq 0x938(%rsp), %rdi
callq 0x61f0
jmp 0x70d4
testb $0x1, 0x936(%rsp)
jne 0x70e0
jmp 0x70ed
leaq 0x937(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %ecx
movb $0x0, 0x90e(%rsp)
movb $0x0, 0x90d(%rsp)
movb $0x1, %al
cmpl $0x64, %ecx
movb %al, 0x195(%rsp)
je 0x71a7
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x180(%rsp)
leaq 0x90f(%rsp), %rdi
movq %rdi, 0x188(%rsp)
callq 0x6530
movq 0x180(%rsp), %rsi
movq 0x188(%rsp), %rdx
movb $0x1, 0x90e(%rsp)
leaq 0x910(%rsp), %rdi
callq 0x6460
jmp 0x7172
movb $0x1, 0x90d(%rsp)
leaq 0x55ffd(%rip), %rsi     # 0x5d17e
leaq 0x910(%rsp), %rdi
callq 0x8590
movb %al, 0x17f(%rsp)
jmp 0x7197
movb 0x17f(%rsp), %al
movb %al, 0x195(%rsp)
jmp 0x71a7
movb 0x195(%rsp), %al
movb %al, 0x17e(%rsp)
testb $0x1, 0x90d(%rsp)
jne 0x71c1
jmp 0x71ce
leaq 0x910(%rsp), %rdi
callq 0x61f0
testb $0x1, 0x90e(%rsp)
jne 0x71da
jmp 0x71e7
leaq 0x90f(%rsp), %rdi
callq 0x6390
movb 0x17e(%rsp), %al
testb $0x1, %al
jne 0x71f7
jmp 0x72a6
movq 0xa68(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x6290
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xa5c(%rsp)
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
jmp 0x7478
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x7288
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
testb $0x1, 0x90d(%rsp)
jne 0x7279
jmp 0x7286
leaq 0x910(%rsp), %rdi
callq 0x61f0
jmp 0x7288
testb $0x1, 0x90e(%rsp)
jne 0x7294
jmp 0x72a1
leaq 0x90f(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %ecx
movb $0x0, 0x8e6(%rsp)
movb $0x0, 0x8e5(%rsp)
movb $0x1, %al
cmpl $0x66, %ecx
movb %al, 0x17d(%rsp)
je 0x735b
movq 0xa68(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x168(%rsp)
leaq 0x8e7(%rsp), %rdi
movq %rdi, 0x170(%rsp)
callq 0x6530
movq 0x168(%rsp), %rsi
movq 0x170(%rsp), %rdx
movb $0x1, 0x8e6(%rsp)
leaq 0x8e8(%rsp), %rdi
callq 0x6460
jmp 0x7326
movb $0x1, 0x8e5(%rsp)
leaq 0x55e5a(%rip), %rsi     # 0x5d18f
leaq 0x8e8(%rsp), %rdi
callq 0x8590
movb %al, 0x167(%rsp)
jmp 0x734b
movb 0x167(%rsp), %al
movb %al, 0x17d(%rsp)
jmp 0x735b
movb 0x17d(%rsp), %al
movb %al, 0x166(%rsp)
testb $0x1, 0x8e5(%rsp)
jne 0x7375
jmp 0x7382
leaq 0x8e8(%rsp), %rdi
callq 0x61f0
testb $0x1, 0x8e6(%rsp)
jne 0x738e
jmp 0x739b
leaq 0x8e7(%rsp), %rdi
callq 0x6390
movb 0x166(%rsp), %al
testb $0x1, %al
jne 0x73ab
jmp 0x745e
movq 0xa68(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x6110
movl %eax, 0xa50(%rsp)
movl $0x1, 0xa54(%rsp)
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
jmp 0x7476
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x7440
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
testb $0x1, 0x8e5(%rsp)
jne 0x7431
jmp 0x743e
leaq 0x8e8(%rsp), %rdi
callq 0x61f0
jmp 0x7440
testb $0x1, 0x8e6(%rsp)
jne 0x744c
jmp 0x7459
leaq 0x8e7(%rsp), %rdi
callq 0x6390
jmp 0x83f3
movq 0x7bb6b(%rip), %rdi     # 0x82fd0
callq 0x6750
jmp 0x746c
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x63e0
jmp 0x7478
jmp 0x747a
jmp 0x747c
jmp 0x747e
jmp 0x7480
jmp 0x7482
jmp 0x7484
movq 0xa68(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa68(%rsp)
movl 0xa70(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa70(%rsp)
jmp 0x684c
movl 0xa60(%rsp), %edx
leaq 0x888(%rsp), %rdi
xorl %esi, %esi
callq 0x85f0
jmp 0x74c6
cmpl $0x1, 0xa70(%rsp)
jl 0x7585
movq 0xa68(%rsp), %rax
movq (%rax), %rsi
leaq 0x680(%rsp), %rdi
movl $0x8, %edx
callq 0x6560
jmp 0x74f3
leaq 0x888(%rsp), %rdi
leaq 0x680(%rsp), %rsi
callq 0x8670
movb %al, 0x165(%rsp)
jmp 0x7511
movb 0x165(%rsp), %al
testb $0x1, %al
jne 0x7567
jmp 0x751e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x63e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x83e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x680(%rsp), %rdi
callq 0x60d0
jmp 0x83e6
leaq 0x680(%rsp), %rdi
callq 0x60b0
jmp 0x7576
leaq 0x680(%rsp), %rdi
callq 0x60d0
jmp 0x759d
movq 0x7ba44(%rip), %rdi     # 0x82fd0
callq 0x6750
jmp 0x7593
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x63e0
movq 0x7ba2c(%rip), %rdi     # 0x82fd0
leaq 0x55bf9(%rip), %rsi     # 0x5d1a4
callq 0x6330
movq %rax, 0x158(%rsp)
jmp 0x75ba
movq 0x158(%rsp), %rdi
movl 0x7bd8c(%rip), %esi     # 0x83354
callq 0x6440
movq %rax, 0x150(%rsp)
jmp 0x75d7
movq 0x150(%rsp), %rdi
movq 0x7b9d2(%rip), %rsi     # 0x82fb8
callq 0x6370
jmp 0x75ed
movl 0x7bd61(%rip), %edi     # 0x83354
callq 0x8f50
jmp 0x75fa
movl 0xa64(%rsp), %edx
leaq 0x888(%rsp), %rdi
xorl %esi, %esi
callq 0x8f90
jmp 0x7612
movss 0xa5c(%rsp), %xmm0
movl 0xa64(%rsp), %ecx
leaq 0x5b8(%rsp), %rdi
leaq 0x888(%rsp), %rsi
xorl %edx, %edx
callq 0x9170
jmp 0x763b
cmpl $0x0, 0xa54(%rsp)
je 0x77bd
movl 0xa50(%rsp), %esi
leaq 0x888(%rsp), %rdi
callq 0x92b0
movss %xmm0, 0x14c(%rsp)
jmp 0x7668
movss 0x14c(%rsp), %xmm0
movss %xmm0, 0x5b4(%rsp)
movq 0x7b94f(%rip), %rdi     # 0x82fd0
leaq 0x55b28(%rip), %rsi     # 0x5d1b0
callq 0x6330
movq %rax, 0x140(%rsp)
jmp 0x7697
movq 0x140(%rsp), %rdi
movss 0x5b4(%rsp), %xmm0
callq 0x6270
movq %rax, 0x138(%rsp)
jmp 0x76b7
movq 0x138(%rsp), %rdi
movq 0x7b8f2(%rip), %rsi     # 0x82fb8
callq 0x6370
jmp 0x76cd
movl 0xa50(%rsp), %esi
leaq 0x5b8(%rsp), %rdi
callq 0x93c0
movaps %xmm0, 0x120(%rsp)
jmp 0x76eb
movaps 0x120(%rsp), %xmm0
movlpd %xmm0, 0x5ac(%rsp)
movq 0x7b8cd(%rip), %rdi     # 0x82fd0
leaq 0x55ab6(%rip), %rsi     # 0x5d1c0
callq 0x6330
movq %rax, 0x118(%rsp)
jmp 0x7719
movq 0x118(%rsp), %rdi
movss 0x5ac(%rsp), %xmm0
callq 0x6270
movq %rax, 0x110(%rsp)
jmp 0x7739
movq 0x110(%rsp), %rdi
movq 0x7b870(%rip), %rsi     # 0x82fb8
callq 0x6370
jmp 0x774f
movq 0x7b87a(%rip), %rdi     # 0x82fd0
leaq 0x55a72(%rip), %rsi     # 0x5d1cf
callq 0x6330
movq %rax, 0x108(%rsp)
jmp 0x776c
movq 0x108(%rsp), %rdi
movss 0x5b0(%rsp), %xmm0
callq 0x6270
movq %rax, 0x100(%rsp)
jmp 0x778c
movq 0x100(%rsp), %rdi
movq 0x7b81d(%rip), %rsi     # 0x82fb8
callq 0x6370
jmp 0x77a2
jmp 0x77bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x83d9
leaq 0x590(%rsp), %rdi
callq 0x95f0
leaq 0x578(%rsp), %rdi
callq 0x9600
leaq 0x4e0(%rsp), %rdi
callq 0x9610
jmp 0x77e6
leaq 0x4bf(%rsp), %rdi
movq %rdi, 0xf8(%rsp)
callq 0x6530
movq 0xf8(%rsp), %rdx
leaq 0x559d4(%rip), %rsi     # 0x5d1de
leaq 0x4c0(%rsp), %rdi
callq 0x6460
jmp 0x7819
movl $0x20, %edi
callq 0x6340
movq %rax, 0xf0(%rsp)
jmp 0x782d
movq 0xf0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0x9710
jmp 0x7844
movq 0xf0(%rsp), %rdx
leaq 0x4e0(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x9660
jmp 0x7863
leaq 0x4c0(%rsp), %rdi
callq 0x61f0
leaq 0x4bf(%rsp), %rdi
callq 0x6390
leaq 0x497(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x6530
movq 0xe8(%rsp), %rdx
leaq 0x5594b(%rip), %rsi     # 0x5d1ec
leaq 0x498(%rsp), %rdi
callq 0x6460
jmp 0x78b0
movl $0x38, %edi
callq 0x6340
movq %rax, 0xe0(%rsp)
jmp 0x78c4
movq 0xe0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
leaq 0x888(%rsp), %rdx
movss 0x55720(%rip), %xmm0    # 0x5d004
callq 0x9800
jmp 0x78eb
movq 0xe0(%rsp), %rdx
leaq 0x4e0(%rsp), %rdi
leaq 0x498(%rsp), %rsi
callq 0x9750
jmp 0x790a
leaq 0x498(%rsp), %rdi
callq 0x61f0
leaq 0x497(%rsp), %rdi
callq 0x6390
movl $0x0, 0x490(%rsp)
movl 0x490(%rsp), %eax
movl %eax, 0xdc(%rsp)
leaq 0xa38(%rsp), %rdi
callq 0x9860
movq %rax, %rcx
movl 0xdc(%rsp), %eax
cmpl %ecx, %eax
jge 0x7db0
movslq 0x490(%rsp), %rsi
leaq 0xa38(%rsp), %rdi
callq 0x9880
movq %rax, 0x488(%rsp)
leaq 0x458(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x98a0
movq 0xd0(%rsp), %rsi
movq 0x488(%rsp), %rdi
movl $0x2c, %edx
callq 0x98b0
jmp 0x79aa
leaq 0x458(%rsp), %rdi
callq 0x9c40
movq %rax, 0x448(%rsp)
leaq 0x450(%rsp), %rdi
leaq 0x448(%rsp), %rsi
callq 0x9c70
leaq 0x458(%rsp), %rdi
callq 0x9cb0
movq %rax, 0x438(%rsp)
leaq 0x440(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0x9c70
leaq 0x450(%rsp), %rdi
leaq 0x440(%rsp), %rsi
callq 0x9c90
testb $0x1, %al
jne 0x7a1c
jmp 0x7d7b
leaq 0x450(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0xb0d0
movq 0xc0(%rsp), %rdi
movq %rax, 0xc8(%rsp)
callq 0xb0d0
movq 0xc8(%rsp), %rdx
movq %rax, %rcx
addq $0x20, %rcx
leaq 0x4e0(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0x9ce0
jmp 0x7a6c
leaq 0x450(%rsp), %rdi
callq 0xb0d0
movq %rax, %rdi
leaq 0x5577a(%rip), %rsi     # 0x5d1fd
callq 0x8590
movb %al, 0xbf(%rsp)
jmp 0x7a91
movb 0xbf(%rsp), %al
testb $0x1, %al
jne 0x7aa1
jmp 0x7c74
leaq 0x450(%rsp), %rdi
callq 0xb0d0
movq %rax, %rsi
addq $0x20, %rsi
leaq 0x4e0(%rsp), %rdi
callq 0xb0f0
movq %rax, 0xb0(%rsp)
jmp 0x7acc
movq 0xb0(%rsp), %rax
movq %rax, 0x430(%rsp)
cmpq $0x0, 0x430(%rsp)
je 0x7c6f
leaq 0x450(%rsp), %rdi
callq 0xb0d0
movq %rax, %rsi
addq $0x20, %rsi
leaq 0x408(%rsp), %rdi
leaq 0x430(%rsp), %rdx
callq 0xb1c0
jmp 0x7b16
leaq 0x578(%rsp), %rdi
leaq 0x408(%rsp), %rsi
callq 0xb190
jmp 0x7b2d
leaq 0x408(%rsp), %rdi
callq 0xb200
jmp 0x7c6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x83bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x7bb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x7ba5
movq 0xf0(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
callq 0x6310
leaq 0x4c0(%rsp), %rdi
callq 0x61f0
leaq 0x4bf(%rsp), %rdi
callq 0x6390
jmp 0x83b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x7c1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x7c11
movq 0xe0(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
callq 0x6310
leaq 0x498(%rsp), %rdi
callq 0x61f0
leaq 0x497(%rsp), %rdi
callq 0x6390
jmp 0x83b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x7d9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x408(%rsp), %rdi
callq 0xb200
jmp 0x7d9e
jmp 0x7d67
leaq 0x450(%rsp), %rdi
callq 0xb0d0
movq %rax, %rdi
leaq 0x5557c(%rip), %rsi     # 0x5d207
callq 0x8590
movb %al, 0xaf(%rsp)
jmp 0x7c99
movb 0xaf(%rsp), %al
testb $0x1, %al
jne 0x7ca9
jmp 0x7d65
leaq 0x450(%rsp), %rdi
callq 0xb0d0
movq %rax, %rsi
addq $0x20, %rsi
leaq 0x4e0(%rsp), %rdi
callq 0xb210
movq %rax, 0xa0(%rsp)
jmp 0x7cd4
movq 0xa0(%rsp), %rax
movq %rax, 0x400(%rsp)
cmpq $0x0, 0x400(%rsp)
je 0x7d63
leaq 0x450(%rsp), %rdi
callq 0xb0d0
movq %rax, %rsi
addq $0x20, %rsi
leaq 0x3d8(%rsp), %rdi
leaq 0x400(%rsp), %rdx
callq 0xb2e0
jmp 0x7d1a
leaq 0x590(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0xb2b0
jmp 0x7d31
leaq 0x3d8(%rsp), %rdi
callq 0xb320
jmp 0x7d63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x3d8(%rsp), %rdi
callq 0xb320
jmp 0x7d9e
jmp 0x7d65
jmp 0x7d67
jmp 0x7d69
leaq 0x450(%rsp), %rdi
callq 0xb330
jmp 0x79d4
leaq 0x458(%rsp), %rdi
callq 0xb360
movl 0x490(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x490(%rsp)
jmp 0x792f
leaq 0x458(%rsp), %rdi
callq 0xb360
jmp 0x83b2
leaq 0x3c0(%rsp), %rdi
callq 0xb370
movl $0x0, 0x3bc(%rsp)
movl 0x3bc(%rsp), %eax
movl %eax, 0x9c(%rsp)
leaq 0x578(%rsp), %rdi
callq 0xb380
movq %rax, %rcx
movl 0x9c(%rsp), %eax
cmpl %ecx, %eax
jge 0x7f23
movslq 0x3bc(%rsp), %rsi
leaq 0x578(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xb3a0
movq 0x90(%rsp), %rdi
movq %rax, 0x3b0(%rsp)
movslq 0x3bc(%rsp), %rsi
callq 0xb3a0
movq 0x20(%rax), %rax
movq %rax, 0x3a8(%rsp)
leaq 0x2f0(%rsp), %rdi
callq 0xb3c0
jmp 0x7e4a
movq 0x3b0(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x3a8(%rsp), %rax
movq %rax, 0x80(%rsp)
leaq 0x5b8(%rsp), %rdi
callq 0xb570
movq %rax, 0x88(%rsp)
jmp 0x7e7e
movq 0x88(%rsp), %rcx
movq 0x80(%rsp), %rdx
movq 0x78(%rsp), %rsi
leaq 0x4e0(%rsp), %rdi
leaq 0x2f0(%rsp), %r8
callq 0xb3f0
jmp 0x7eaa
leaq 0x3c0(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0xb580
jmp 0x7ec1
leaq 0x2f0(%rsp), %rdi
callq 0xb600
movl 0x3bc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3bc(%rsp)
jmp 0x7dc8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x83a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x2f0(%rsp), %rdi
callq 0xb600
jmp 0x83a5
leaq 0x2d0(%rsp), %rdi
callq 0xb630
jmp 0x7f32
movq 0x7b097(%rip), %rdi     # 0x82fd0
leaq 0x2d0(%rsp), %rsi
callq 0x62f0
movq %rax, 0x70(%rsp)
jmp 0x7f4d
movq 0x70(%rsp), %rdi
leaq 0x552b5(%rip), %rsi     # 0x5d20e
callq 0x6330
movq %rax, 0x68(%rsp)
jmp 0x7f65
movq 0x68(%rsp), %rdi
movq 0x7b047(%rip), %rsi     # 0x82fb8
callq 0x6370
jmp 0x7f78
leaq 0x2d0(%rsp), %rdi
callq 0x61f0
leaq 0x3c0(%rsp), %rdi
callq 0xb6d0
testb $0x1, %al
jne 0x8033
movl $0x0, 0x2cc(%rsp)
movl 0x2cc(%rsp), %eax
movl %eax, 0x64(%rsp)
leaq 0x3c0(%rsp), %rdi
callq 0xb720
movq %rax, %rcx
movl 0x64(%rsp), %eax
cmpl %ecx, %eax
jge 0x8031
movslq 0x2cc(%rsp), %rsi
leaq 0x3c0(%rsp), %rdi
callq 0xc400
movq %rax, %rdx
movq 0x7afe9(%rip), %rsi     # 0x82fd0
leaq 0x4e0(%rsp), %rdi
callq 0xb740
jmp 0x7ff6
jmp 0x7ff8
movl 0x2cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2cc(%rsp)
jmp 0x7fa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x2d0(%rsp), %rdi
callq 0x61f0
jmp 0x83a5
jmp 0x8033
leaq 0x2b0(%rsp), %rdi
callq 0xc420
movl $0x0, 0x2ac(%rsp)
movl 0x2ac(%rsp), %eax
movl %eax, 0x60(%rsp)
leaq 0x590(%rsp), %rdi
callq 0xc430
movq %rax, %rcx
movl 0x60(%rsp), %eax
cmpl %ecx, %eax
jge 0x818b
movslq 0x2ac(%rsp), %rsi
leaq 0x590(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xc450
movq 0x40(%rsp), %rdi
movq %rax, 0x2a0(%rsp)
movslq 0x2ac(%rsp), %rsi
callq 0xc450
movq 0x20(%rax), %rax
movq %rax, 0x298(%rsp)
leaq 0x250(%rsp), %rdi
callq 0xc470
movq 0x2a0(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x298(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x5b8(%rsp), %rdi
callq 0xb570
movq %rax, 0x58(%rsp)
jmp 0x80ed
movq 0x58(%rsp), %rcx
movq 0x50(%rsp), %rdx
movq 0x48(%rsp), %rsi
movl 0xa58(%rsp), %r9d
movq %rsp, %rax
movl $0x1, 0x8(%rax)
movl $0x64, (%rax)
leaq 0x4e0(%rsp), %rdi
leaq 0x250(%rsp), %r8
callq 0xc480
jmp 0x812b
leaq 0x2b0(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0xc5e0
jmp 0x8142
leaq 0x250(%rsp), %rdi
callq 0xc650
movl 0x2ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2ac(%rsp)
jmp 0x804b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x250(%rsp), %rdi
callq 0xc650
jmp 0x8398
leaq 0x230(%rsp), %rdi
callq 0xb630
jmp 0x819a
movq 0x7ae2f(%rip), %rdi     # 0x82fd0
leaq 0x230(%rsp), %rsi
callq 0x62f0
movq %rax, 0x38(%rsp)
jmp 0x81b5
movq 0x38(%rsp), %rdi
leaq 0x550a1(%rip), %rsi     # 0x5d262
callq 0x6330
movq %rax, 0x30(%rsp)
jmp 0x81cd
movq 0x30(%rsp), %rdi
movq 0x7addf(%rip), %rsi     # 0x82fb8
callq 0x6370
jmp 0x81e0
leaq 0x230(%rsp), %rdi
callq 0x61f0
leaq 0x2b0(%rsp), %rdi
callq 0xc660
testb $0x1, %al
jne 0x82b8
movl $0x0, 0x22c(%rsp)
movl 0x22c(%rsp), %eax
movl %eax, 0x2c(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0xc6b0
movq %rax, %rcx
movl 0x2c(%rsp), %eax
cmpl %ecx, %eax
jge 0x82b6
movslq 0x22c(%rsp), %rsi
leaq 0x2b0(%rsp), %rdi
callq 0xcb80
movq %rax, %rdx
movq 0x7ad7d(%rip), %rsi     # 0x82fd0
leaq 0x4e0(%rsp), %rdi
callq 0xc6d0
jmp 0x8262
jmp 0x8264
movl 0x22c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x22c(%rsp)
jmp 0x820d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
jmp 0x8398
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa28(%rsp)
movl %eax, 0xa24(%rsp)
leaq 0x230(%rsp), %rdi
callq 0x61f0
jmp 0x8398
jmp 0x82b8
movq 0x7ad11(%rip), %rdi     # 0x82fd0
leaq 0x54fee(%rip), %rsi     # 0x5d2b4
callq 0x6330
movq %rax, 0x20(%rsp)
jmp 0x82d2
callq 0x84f0
movss %xmm0, 0x1c(%rsp)
jmp 0x82df
movq 0x20(%rsp), %rdi
movss 0x1c(%rsp), %xmm0
movss 0xa34(%rsp), %xmm1
subss %xmm1, %xmm0
callq 0x6270
movq %rax, 0x10(%rsp)
jmp 0x8303
movq 0x10(%rsp), %rdi
movq 0x7aca9(%rip), %rsi     # 0x82fb8
callq 0x6370
jmp 0x8316
movl $0x0, 0xa74(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0xcba0
leaq 0x3c0(%rsp), %rdi
callq 0xcc00
leaq 0x4e0(%rsp), %rdi
callq 0xcc60
leaq 0x578(%rsp), %rdi
callq 0xce60
leaq 0x590(%rsp), %rdi
callq 0xcec0
leaq 0x5b8(%rsp), %rdi
callq 0xcf20
leaq 0x888(%rsp), %rdi
callq 0xcf70
leaq 0xa38(%rsp), %rdi
callq 0xd000
movl 0xa74(%rsp), %eax
addq $0xa78, %rsp            # imm = 0xA78
retq
leaq 0x2b0(%rsp), %rdi
callq 0xcba0
leaq 0x3c0(%rsp), %rdi
callq 0xcc00
leaq 0x4e0(%rsp), %rdi
callq 0xcc60
leaq 0x578(%rsp), %rdi
callq 0xce60
leaq 0x590(%rsp), %rdi
callq 0xcec0
leaq 0x5b8(%rsp), %rdi
callq 0xcf20
leaq 0x888(%rsp), %rdi
callq 0xcf70
leaq 0xa38(%rsp), %rdi
callq 0xd000
movq 0xa28(%rsp), %rdi
callq 0x6520
nopl (%rax)