// File: /workspace/github_cpp_makefile_star2_O1/bonetblai[P]mdp-engine/ctp3/../engine/dispatcher.h
// Function: Dispatcher::dispatcher_t<state_t>::create_request(Problem::problem_t<state_t> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void dispatcher_t<T>::create_request(const Problem::problem_t<T> &problem, const std::string &type, const std::string &request) {
    if( (type != "algorithm") && (type != "heuristic") && (type != "policy") ) {
        std::cout << Utils::error() << "dispatcher: create-request: invalid '" << type << "=" << request << "'" << std::endl;
        return;
    }

    // parse request
    std::string name;
    std::string parameter_str;
    std::multimap<std::string, std::string> parameters;
    Utils::split_request(request, name, parameter_str);
    Utils::tokenize(parameter_str, parameters);

    // algorithms
    if( type == "algorithm" ) {
        if( fetch_algorithm(request) != 0 ) {
#ifdef DEBUG
            std::cout << "dispatcher: create-request: found algorithm '" << request << "'" << std::endl;
#endif
            return;
        }
        std::cout << "dispatcher: create-request: creating: type=" << type << ", request=" << request << std::endl;

        Algorithm::algorithm_t<T> *algorithm = 0;
        if( name == "hdp" )
            algorithm = new Algorithm::hdp_t<T>(problem);
        else if( name == "improved-lao" )
            algorithm = new Algorithm::improved_lao_t<T>(problem);
        else if( name == "ldfs" )
            algorithm = new Algorithm::ldfs_t<T>(problem);
        else if( name == "ldfs-plus" )
            algorithm = new Algorithm::ldfs_plus_t<T>(problem);
        else if( (name == "standard-lrtdp") || (name == "lrtdp") )
            algorithm = new Algorithm::standard_lrtdp_t<T>(problem);
        else if( name == "uniform-lrtdp" )
            algorithm = new Algorithm::uniform_lrtdp_t<T>(problem);
        else if( name == "bounded-lrtdp" )
            algorithm = new Algorithm::bounded_lrtdp_t<T>(problem);
        else if( name == "plain-check" )
            algorithm = new Algorithm::plain_check_t<T>(problem);
        else if( (name == "simple-a*" ) || (name == "simple-astar") )
            algorithm = new Algorithm::simple_astar_t<T>(problem);
        else if( name == "value-iteration" )
            algorithm = new Algorithm::value_iteration_t<T>(problem);

        if( algorithm != 0 ) {
            algorithm->set_parameters(parameters, *this);
            algorithms_.insert(std::make_pair(request, algorithm));
            return;
        }
    }

    // heuristics
    if( type == "heuristic" ) {
        if( fetch_heuristic(request) != 0 ) {
#ifdef DEBUG
            std::cout << "dispatcher: create-request: found heuristic '" << request << "'" << std::endl;
#endif
            return;
        }
        std::cout << "dispatcher: create-request: creating: type=" << type << ", request=" << request << std::endl;

        Heuristic::heuristic_t<T> *heuristic = 0;
        if( name == "zero" )
            heuristic = new Heuristic::zero_heuristic_t<T>(problem);
        else if( name == "min-min" )
            heuristic = new Heuristic::min_min_heuristic_t<T>(problem);
        else if( name == "optimal" )
            heuristic = new Heuristic::optimal_heuristic_t<T>(problem);
        else if( name == "scaled" )
            heuristic = new Heuristic::scaled_heuristic_t<T>(problem);

        if( heuristic != 0 ) {
            heuristic->set_parameters(parameters, *this);
            heuristics_.insert(std::make_pair(request, heuristic));
            return;
        }
    }

    // policies
    if( type == "policy" ) {
        if( fetch_policy(request) != 0 ) {
#ifdef DEBUG
            std::cout << "dispatcher: create-request: found policy '" << request << "'" << std::endl;
#endif
            return;
        }
        std::cout << "dispatcher: create-request: creating: type=" << type << ", request=" << request << std::endl;

        Online::Policy::policy_t<T> *policy = 0;
        if( name == "optimal" )
            policy = new Online::Policy::optimal_policy_t<T>(problem);
        else if( name == "greedy" )
            policy = new Online::Policy::base_greedy_t<T>(problem);
        else if( name == "random" )
            policy = new Online::Policy::random_t<T>(problem);
        else if( name == "rollout" )
            policy = new Online::Policy::Rollout::nested_rollout_t<T>(problem);
        else if( name == "uct" )
            policy = new Online::Policy::UCT::uct_t<T>(problem);
        else if( name == "aot" )
            policy = new Online::Policy::AOT::aot_t<T>(problem);
        else if( name == "aot-gh" )
            assert(0);
        else if( name == "aot-path" )
            assert(0);
        else if( name == "finite-horizon-lrtdp" )
            policy = new Online::Policy::RTDP::finite_horizon_lrtdp_t<T>(problem);

        if( policy != 0 ) {
            policy->set_parameters(parameters, *this);
            policies_.insert(std::make_pair(request, policy));
            return;
        }
    }

    // if this far, request is not recognized
    std::cout << Utils::error() << "dispatcher: create-request: unrecognized: type=" << type << ", request=" << request << std::endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %r15
leaq 0x245e7(%rip), %rsi     # 0x2d26d
movq %rdx, %rdi
callq 0x60c0
testl %eax, %eax
je 0x8daf
leaq 0x24b4a(%rip), %rsi     # 0x2d7e7
movq %r14, %rdi
callq 0x60c0
testl %eax, %eax
je 0x8daf
leaq 0x245c3(%rip), %rsi     # 0x2d277
movq %r14, %rdi
callq 0x60c0
testl %eax, %eax
je 0x8daf
movb 0x3658e(%rip), %al      # 0x3f258
testb %al, %al
leaq 0x24d26(%rip), %rcx     # 0x2d9f9
leaq 0x2528d(%rip), %rsi     # 0x2df67
cmovneq %rcx, %rsi
leaq 0x12(%rsi), %rdx
testb %al, %al
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
cmoveq %rsi, %rdx
leaq 0x48(%rsp), %r15
movq %r15, %rdi
callq 0xe5ba
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq 0x362cb(%rip), %rdi     # 0x3efd8
callq 0x62e0
movq %rax, %r15
leaq 0x24ad5(%rip), %rsi     # 0x2d7f1
movl $0x25, %edx
movq %rax, %rdi
callq 0x62e0
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r15, %rdi
callq 0x62e0
movq %rax, %r14
leaq 0x244ec(%rip), %rsi     # 0x2d22e
movl $0x1, %edx
movq %rax, %rdi
callq 0x62e0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x62e0
movq %rax, %rbx
leaq 0x24aad(%rip), %rsi     # 0x2d815
movl $0x1, %edx
movq %rax, %rdi
callq 0x62e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6270
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x61e0
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
jne 0x98f2
jmp 0x98f7
leaq 0x10(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x88(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x50(%rsp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
movq %rsp, %rsi
leaq 0x78(%rsp), %rdx
movq %rbx, %rdi
callq 0xf151
leaq 0x78(%rsp), %rdi
leaq 0x48(%rsp), %rsi
movl $0x2c, %edx
callq 0x89f5
leaq 0x24455(%rip), %rsi     # 0x2d26d
movq %r14, %rdi
callq 0x60c0
testl %eax, %eax
je 0x8f2d
leaq 0x249b8(%rip), %rsi     # 0x2d7e7
movq %r14, %rdi
callq 0x60c0
testl %eax, %eax
je 0x90e6
leaq 0x24431(%rip), %rsi     # 0x2d277
movq %r14, %rdi
callq 0x60c0
testl %eax, %eax
je 0x91e7
movb 0x363fc(%rip), %al      # 0x3f258
testb %al, %al
leaq 0x24b94(%rip), %rcx     # 0x2d9f9
leaq 0x250fb(%rip), %rsi     # 0x2df67
cmovneq %rcx, %rsi
leaq 0x12(%rsi), %rdx
testb %al, %al
leaq 0x30(%rsp), %r12
movq %r12, -0x10(%r12)
cmoveq %rsi, %rdx
leaq 0x20(%rsp), %rdi
callq 0xe5ba
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq 0x36139(%rip), %rdi     # 0x3efd8
callq 0x62e0
movq %rax, %r15
leaq 0x24b1b(%rip), %rsi     # 0x2d9c9
movl $0x2f, %edx
movq %rax, %rdi
callq 0x62e0
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r15, %rdi
callq 0x62e0
movq %rax, %r14
leaq 0x2496f(%rip), %rsi     # 0x2d843
movl $0xa, %edx
movq %rax, %rdi
callq 0x62e0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x62e0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6270
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x61e0
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
jne 0x98be
jmp 0x98c3
leaq 0x8(%r15), %r13
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2ad28
leaq 0x10(%r15), %rcx
cmpq %rcx, %rax
je 0x8f50
cmpq $0x0, 0x40(%rax)
jne 0x98c3
movq 0x36081(%rip), %rdi     # 0x3efd8
leaq 0x248b9(%rip), %rsi     # 0x2d817
movl $0x2b, %edx
callq 0x62e0
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x36062(%rip), %rdi     # 0x3efd8
callq 0x62e0
movq %rax, %rbp
leaq 0x248be(%rip), %rsi     # 0x2d843
movl $0xa, %edx
movq %rax, %rdi
callq 0x62e0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %rbp, %rdi
callq 0x62e0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x6270
movsbl %al, %esi
movq %rbp, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x61e0
leaq 0x2487c(%rip), %rsi     # 0x2d84e
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x935b
leaq 0x24869(%rip), %rsi     # 0x2d852
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x93cf
leaq 0x2485f(%rip), %rsi     # 0x2d85f
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9442
leaq 0x2484d(%rip), %rsi     # 0x2d864
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9548
leaq 0x24840(%rip), %rsi     # 0x2d86e
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9507
leaq 0x2484e(%rip), %rsi     # 0x2d893
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9507
leaq 0x24821(%rip), %rsi     # 0x2d87d
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9758
leaq 0x24818(%rip), %rsi     # 0x2d88b
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x97b9
leaq 0x2480f(%rip), %rsi     # 0x2d899
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9942
leaq 0x24804(%rip), %rsi     # 0x2d8a5
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9909
leaq 0x247f7(%rip), %rsi     # 0x2d8af
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9909
leaq 0x247ed(%rip), %rsi     # 0x2d8bc
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x997b
xorl %ebp, %ebp
jmp 0x9588
leaq 0x38(%r15), %r13
movq %r13, %rdi
movq %rbx, %rsi
callq 0x190ac
leaq 0x40(%r15), %rcx
cmpq %rcx, %rax
je 0x9109
cmpq $0x0, 0x40(%rax)
jne 0x98c3
movq 0x35ec8(%rip), %rdi     # 0x3efd8
leaq 0x24700(%rip), %rsi     # 0x2d817
movl $0x2b, %edx
callq 0x62e0
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x35ea9(%rip), %rdi     # 0x3efd8
callq 0x62e0
movq %rax, %rbp
leaq 0x24705(%rip), %rsi     # 0x2d843
movl $0xa, %edx
movq %rax, %rdi
callq 0x62e0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %rbp, %rdi
callq 0x62e0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x6270
movsbl %al, %esi
movq %rbp, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x61e0
leaq 0x24741(%rip), %rsi     # 0x2d8cc
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x939f
leaq 0x2472f(%rip), %rsi     # 0x2d8d1
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9425
leaq 0x24720(%rip), %rsi     # 0x2d8d9
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x94ea
leaq 0x24711(%rip), %rsi     # 0x2d8e1
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9612
xorl %ebp, %ebp
jmp 0x9646
leaq 0x68(%r15), %r13
movq %r13, %rdi
movq %rbx, %rsi
callq 0x2b068
leaq 0x70(%r15), %rcx
cmpq %rcx, %rax
je 0x920a
cmpq $0x0, 0x40(%rax)
jne 0x98c3
movq 0x35dc7(%rip), %rdi     # 0x3efd8
leaq 0x245ff(%rip), %rsi     # 0x2d817
movl $0x2b, %edx
callq 0x62e0
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x35da8(%rip), %rdi     # 0x3efd8
callq 0x62e0
movq %rax, %rbp
leaq 0x24604(%rip), %rsi     # 0x2d843
movl $0xa, %edx
movq %rax, %rdi
callq 0x62e0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %rbp, %rdi
callq 0x62e0
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x6270
movsbl %al, %esi
movq %rbp, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x61e0
leaq 0x2464d(%rip), %rsi     # 0x2d8d9
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9408
leaq 0x24ac8(%rip), %rsi     # 0x2dd6b
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x947d
leaq 0x2462e(%rip), %rsi     # 0x2d8e8
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x95d6
leaq 0x2461e(%rip), %rsi     # 0x2d8ef
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x9694
leaq 0x2460f(%rip), %rsi     # 0x2d8f7
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x96e7
leaq 0x245fc(%rip), %rsi     # 0x2d8fb
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x979c
leaq 0x245e9(%rip), %rsi     # 0x2d8ff
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x99c6
leaq 0x2467e(%rip), %rsi     # 0x2d9ab
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x99e5
leaq 0x24670(%rip), %rsi     # 0x2d9b4
movq %rsp, %rdi
callq 0x60c0
testl %eax, %eax
je 0x97fd
xorl %ebp, %ebp
jmp 0x986b
movl $0x20, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34c39(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35f37(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
leaq 0x34ba9(%rip), %rax     # 0x3df38
movq %rax, (%rbp)
movl $0x0, 0x1c(%rbp)
jmp 0x9588
movl $0x20, %edi
callq 0x6290
movq %rax, %rbp
movq %r12, 0x8(%rax)
movq $0x0, 0x10(%rax)
movl $0x0, 0x18(%rax)
leaq 0x3509a(%rip), %rax     # 0x3e460
movq %rax, (%rbp)
jmp 0x9646
movl $0x20, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34bc5(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35ec3(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
leaq 0x34c3d(%rip), %rax     # 0x3e040
jmp 0x9584
movl $0x38, %edi
callq 0x6290
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
callq 0xf32e
jmp 0x986b
movl $0x30, %edi
callq 0x6290
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
callq 0xf23e
jmp 0x9646
movl $0x28, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34b52(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
xorl %eax, %eax
movq %rax, 0x10(%rbp)
movl 0x35e52(%rip), %ecx     # 0x3f2bc
movl %ecx, 0x18(%rbp)
movq %rax, 0x1c(%rbp)
leaq 0x34c28(%rip), %rax     # 0x3e0a0
jmp 0x9584
movl $0x70, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x348a7(%rip), %rax     # 0x3dd38
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movl 0x35e21(%rip), %eax     # 0x3f2c0
movl %eax, 0x10(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x14(%rbp)
leaq 0x353a8(%rip), %rax     # 0x3e858
movq %rax, (%rbp)
movq %rbp, %rax
addq $0x68, %rax
movq $0x0, 0x28(%rbp)
movl $0x0, 0x2f(%rbp)
movq %rax, 0x38(%rbp)
movq $0x1, 0x40(%rbp)
movups %xmm0, 0x48(%rbp)
movl $0x3f800000, 0x58(%rbp) # imm = 0x3F800000
movups %xmm0, 0x60(%rbp)
jmp 0x986b
movl $0x30, %edi
callq 0x6290
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
callq 0xf2b6
jmp 0x9646
movl $0x30, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34a8d(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35d8b(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
movaps 0x23b45(%rip), %xmm0    # 0x2d080
movups %xmm0, 0x1c(%rbp)
leaq 0x34c7a(%rip), %rax     # 0x3e1c0
jmp 0x9584
movl $0x28, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34a4c(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35d4a(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
movq $0x1, 0x1c(%rbp)
leaq 0x34bdc(%rip), %rax     # 0x3e160
movq %rax, (%rbp)
testq %rbp, %rbp
je 0x8e28
movq (%rbp), %rax
leaq 0x48(%rsp), %rsi
movq %rbp, %rdi
movq %r15, %rdx
callq *0x20(%rax)
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
leaq 0x20(%rsp), %rdi
callq 0xe888
leaq 0x20(%rsp), %rsi
movq %rbp, 0x20(%rsi)
movq %r13, %rdi
callq 0x18ece
jmp 0x98b4
movl $0x28, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x3474e(%rip), %rax     # 0x3dd38
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movl 0x35cc8(%rip), %eax     # 0x3f2c0
movl %eax, 0x10(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x14(%rbp)
leaq 0x3469f(%rip), %rax     # 0x3dca8
movq %rax, (%rbp)
jmp 0x986b
movl $0x30, %edi
callq 0x6290
movq %rax, %rbp
movq %r12, 0x8(%rax)
xorl %eax, %eax
movq %rax, 0x10(%rbp)
movl $0x0, 0x18(%rbp)
leaq 0x350b9(%rip), %rcx     # 0x3e6f0
movq %rcx, (%rbp)
movq %rax, 0x20(%rbp)
movl $0x3f800000, 0x28(%rbp) # imm = 0x3F800000
testq %rbp, %rbp
je 0x8e3f
movq (%rbp), %rax
leaq 0x48(%rsp), %rsi
movq %rbp, %rdi
movq %r15, %rdx
callq *0x38(%rax)
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
leaq 0x20(%rsp), %rdi
callq 0xe888
leaq 0x20(%rsp), %rsi
movq %rbp, 0x20(%rsi)
movq %r13, %rdi
callq 0xed96
jmp 0x98b4
movl $0x58, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34690(%rip), %rax     # 0x3dd38
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movl 0x35c0a(%rip), %eax     # 0x3f2c0
movl %eax, 0x10(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x14(%rbp)
movq $0x0, 0x28(%rbp)
leaq 0x35209(%rip), %rax     # 0x3e8d8
movq %rax, (%rbp)
movups %xmm0, 0x30(%rbp)
movups %xmm0, 0x40(%rbp)
movl $0x0, 0x50(%rbp)
jmp 0x986b
movl $0x80, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x3463d(%rip), %rax     # 0x3dd38
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movl 0x35bb7(%rip), %eax     # 0x3f2c0
movl %eax, 0x10(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x14(%rbp)
movups %xmm0, 0x28(%rbp)
leaq 0x3533a(%rip), %rax     # 0x3ea58
movq %rax, (%rbp)
movq %rbp, %rax
addq $0x78, %rax
movq $0x0, 0x35(%rbp)
movq %rax, 0x48(%rbp)
movq $0x1, 0x50(%rbp)
movups %xmm0, 0x58(%rbp)
movl $0x3f800000, 0x68(%rbp) # imm = 0x3F800000
movups %xmm0, 0x70(%rbp)
leaq 0x35385(%rip), %rax     # 0x3ead8
jmp 0x9867
movl $0x30, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x3483c(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35b3a(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
movaps 0x238e4(%rip), %xmm0    # 0x2d070
movups %xmm0, 0x1c(%rbp)
leaq 0x34ae9(%rip), %rax     # 0x3e280
jmp 0x9584
movl $0x1b8, %edi            # imm = 0x1B8
callq 0x6290
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
callq 0xf3ba
jmp 0x986b
movl $0x30, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x347db(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35ad9(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
movaps 0x23873(%rip), %xmm0    # 0x2d060
movups %xmm0, 0x1c(%rbp)
leaq 0x34ae8(%rip), %rax     # 0x3e2e0
jmp 0x9584
movl $0x88, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34527(%rip), %rax     # 0x3dd38
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movl 0x35aa1(%rip), %eax     # 0x3f2c0
movl %eax, 0x10(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x14(%rbp)
leaq 0x354a0(%rip), %rax     # 0x3ecd0
movq %rax, (%rbp)
movq %rbp, %rax
addq $0x78, %rax
movups %xmm0, 0x28(%rbp)
movw $0x0, 0x38(%rbp)
movq %rax, 0x48(%rbp)
movq $0x1, 0x50(%rbp)
movups %xmm0, 0x58(%rbp)
movl $0x3f800000, 0x68(%rbp) # imm = 0x3F800000
movups %xmm0, 0x70(%rbp)
leaq 0x354e9(%rip), %rax     # 0x3ed50
movq %rax, 0x40(%rbp)
testq %rbp, %rbp
je 0x8e56
movq (%rbp), %rax
leaq 0x48(%rsp), %rsi
movq %rbp, %rdi
movq %r15, %rdx
callq *0x38(%rax)
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
addq %rsi, %rdx
leaq 0x20(%rsp), %rdi
callq 0xe888
leaq 0x20(%rsp), %rsi
movq %rbp, 0x20(%rsi)
movq %r13, %rdi
callq 0xef74
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x98c3
callq 0x6260
leaq 0x48(%rsp), %rdi
callq 0xe918
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x98e4
callq 0x6260
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x98f7
callq 0x6260
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x3468b(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35989(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
leaq 0x34a63(%rip), %rax     # 0x3e3a0
jmp 0x9584
movl $0x20, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34652(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35950(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
leaq 0x349ca(%rip), %rax     # 0x3e340
jmp 0x9584
movl $0x28, %edi
callq 0x6290
movq %rax, %rbp
leaq 0x34619(%rip), %rax     # 0x3dfa8
movq %rax, (%rbp)
movq %r12, 0x8(%rbp)
movq $0x0, 0x10(%rbp)
movl 0x35917(%rip), %eax     # 0x3f2bc
movl %eax, 0x18(%rbp)
leaq 0x34a51(%rip), %rax     # 0x3e400
movq %rax, (%rbp)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x1c(%rbp)
jmp 0x9588
leaq 0x24700(%rip), %rdi     # 0x2e0cd
leaq 0x23f32(%rip), %rsi     # 0x2d906
leaq 0x23f42(%rip), %rcx     # 0x2d91d
movl $0x104, %edx            # imm = 0x104
callq 0x61c0
leaq 0x246e1(%rip), %rdi     # 0x2e0cd
leaq 0x23f13(%rip), %rsi     # 0x2d906
leaq 0x23f23(%rip), %rcx     # 0x2d91d
movl $0x106, %edx            # imm = 0x106
callq 0x61c0
jmp 0x9a0a
jmp 0x9a0a
jmp 0x9a0a
movq %rax, %rbx
movq %rbp, %rdi
jmp 0x9a40
jmp 0x9a1a
jmp 0x9a56
jmp 0x9a1a
jmp 0x9a56
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
jne 0x9a40
jmp 0x9a59
jmp 0x9a56
jmp 0x9a56
jmp 0x9a56
jmp 0x9a56
jmp 0x9a56
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r12, %rdi
je 0x9a59
callq 0x6260
jmp 0x9a59
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
jne 0x9a88
jmp 0x9a8d
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xe918
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x9a7a
callq 0x6260
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x9a8d
callq 0x6260
movq %rbx, %rdi
callq 0x6410
nop