// File: /workspace/github_cpp_makefile_star2_O3/GAStudyGroup[P]GPX2/src/main.cpp
// Function: initArgs(int, char**)
void initArgs(int argc, char *argv[]){
    string NAME = "name|n";
    string SIZE = "size|s";
    string LIB = "lib|l";
    string ID = "id";
    string LK = "lk";
    string NEW_POP = "newpop|np";
    string N_BEST = "nbest|nb";
    string BEST_FITNESS = "bestfitness|bf";
    string RESET = "reset|r";
    string GEN_NEW_TOUR = "newtour|nt";

    Arg arg(argc,argv);
    arg.setProgramName("GPX2");
    arg.setHelp();

    arg.newArgument(NAME,true,"name of the tour.");
    arg.newArgument(SIZE,true,"size of the pop.");
    arg.newArgument(LIB,false,"path to the .tsp file.");
    arg.newArgument(ID,false,"numeric id of the run.");
    arg.newArgument(LK,false,"percentage of population to be generated using linkern.");
    arg.newArgument(NEW_POP,false,"method to be used to generate the next generation.");
    arg.newArgument(N_BEST,false,"number of tours to be saved to the next generation.");
    arg.newArgument(BEST_FITNESS,false,"best fitness found to this tour.");
    arg.newArgument(RESET,false,"percentage of the population to reset each generation");
    arg.newArgument(GEN_NEW_TOUR,false,"mode to generate new tour, used to generate first population and reset");

    try{
        arg.validateArguments();
    }catch(std::runtime_error &e){
        std::cout<<e.what()<<endl;
        exit(0);
    }

    
    Config::NAME = arg.getOption(NAME);
    Config::POP_SIZE = stoi(arg.getOption(SIZE));
    string tmp = arg.getOption(LIB);
    Config::LIB_PATH = tmp.empty()?Config::LIB_PATH:tmp;
    tmp = arg.getOption(ID);
    Config::ID = tmp.empty()?Config::ID:stoi(tmp);
    tmp = arg.getOption(LK);
    Config::LK_PERCENTAGE = tmp.empty()?Config::LK_PERCENTAGE:stod(tmp);
    tmp = arg.getOption(NEW_POP);
    Config::NEW_POP_TYPE = tmp.empty()?Config::NEW_POP_TYPE:stoi(tmp);
    tmp = arg.getOption(N_BEST);
    Config::N_BEST = tmp.empty()?Config::N_BEST:stoi(tmp);
    tmp = arg.getOption(BEST_FITNESS);
    Config::BEST_FITNESS = tmp.empty()?Config::BEST_FITNESS:stoi(tmp);
    tmp = arg.getOption(RESET);
    Config::RESET_PERCENTAGE = tmp.empty()?Config::RESET_PERCENTAGE:stod(tmp);
    tmp = arg.getOption(GEN_NEW_TOUR);
    Config::NEW_TOUR_MODE = tmp.empty()?Config::NEW_TOUR_MODE:stod(tmp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x5b8, %rsp            # imm = 0x5B8
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x78(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ae80(%rip), %rsi     # 0x3109a
leaq 0x2ae7f(%rip), %rdx     # 0x310a0
leaq 0x68(%rsp), %rdi
callq 0x8264
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ae66(%rip), %rsi     # 0x310a1
leaq 0x2ae65(%rip), %rdx     # 0x310a7
leaq 0x48(%rsp), %rdi
callq 0x8264
leaq 0x178(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ae49(%rip), %rsi     # 0x310a8
leaq 0x2ae47(%rip), %rdx     # 0x310ad
leaq 0x168(%rsp), %rdi
callq 0x8264
leaq 0x158(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2b02c(%rip), %rsi     # 0x312b2
leaq 0x2b027(%rip), %rdx     # 0x312b4
leaq 0x148(%rsp), %rdi
callq 0x8264
leaq 0x138(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ae01(%rip), %rsi     # 0x310ae
leaq 0x2adfc(%rip), %rdx     # 0x310b0
leaq 0x128(%rsp), %rdi
callq 0x8264
leaq 0x118(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2addd(%rip), %rsi     # 0x310b1
leaq 0x2addf(%rip), %rdx     # 0x310ba
leaq 0x108(%rsp), %rdi
callq 0x8264
leaq 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2adc0(%rip), %rsi     # 0x310bb
leaq 0x2adc1(%rip), %rdx     # 0x310c3
leaq 0xe8(%rsp), %rdi
callq 0x8264
leaq 0xd8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ada2(%rip), %rsi     # 0x310c4
leaq 0x2ada9(%rip), %rdx     # 0x310d2
leaq 0xc8(%rsp), %rdi
callq 0x8264
leaq 0xb8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ad8a(%rip), %rsi     # 0x310d3
leaq 0x2ad8a(%rip), %rdx     # 0x310da
leaq 0xa8(%rsp), %rdi
callq 0x8264
leaq 0x98(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ad6b(%rip), %rsi     # 0x310db
leaq 0x2ad6e(%rip), %rdx     # 0x310e5
leaq 0x88(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x1f804
leaq 0x5a8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x2ad3d(%rip), %rsi     # 0x310e6
leaq 0x2ad3a(%rip), %rdx     # 0x310ea
leaq 0x598(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x598(%rsp), %rsi
callq 0x20f4a
movq 0x598(%rsp), %rdi
cmpq %rbx, %rdi
je 0x63ef
movq 0x5a8(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x188(%rsp), %rdi
callq 0x20f54
leaq 0x588(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x578(%rsp), %rdi
callq 0x82fa
leaq 0x568(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2acb6(%rip), %rsi     # 0x310eb
leaq 0x2acc0(%rip), %rdx     # 0x310fc
leaq 0x558(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x578(%rsp), %rsi
leaq 0x558(%rsp), %rcx
movl $0x1, %edx
callq 0x1f886
movq 0x558(%rsp), %rdi
cmpq %r15, %rdi
je 0x6488
movq 0x568(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x578(%rsp), %rdi
cmpq %rbx, %rdi
je 0x64a5
movq 0x588(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x548(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x538(%rsp), %rdi
callq 0x82fa
leaq 0x528(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2ac1f(%rip), %rsi     # 0x310fd
leaq 0x2ac28(%rip), %rdx     # 0x3110d
leaq 0x518(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x538(%rsp), %rsi
leaq 0x518(%rsp), %rcx
movl $0x1, %edx
callq 0x1f886
movq 0x518(%rsp), %rdi
cmpq %r15, %rdi
je 0x6531
movq 0x528(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x538(%rsp), %rdi
cmpq %rbx, %rdi
je 0x654e
movq 0x548(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x508(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x168(%rsp), %rsi
movq 0x170(%rsp), %rdx
addq %rsi, %rdx
leaq 0x4f8(%rsp), %rdi
callq 0x82fa
leaq 0x4e8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2ab81(%rip), %rsi     # 0x3110e
leaq 0x2ab90(%rip), %rdx     # 0x31124
leaq 0x4d8(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x4f8(%rsp), %rsi
leaq 0x4d8(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x4d8(%rsp), %rdi
cmpq %r15, %rdi
je 0x65dd
movq 0x4e8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x4f8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x65fa
movq 0x508(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x4c8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x148(%rsp), %rsi
movq 0x150(%rsp), %rdx
addq %rsi, %rdx
leaq 0x4b8(%rsp), %rdi
callq 0x82fa
leaq 0x4a8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2aaec(%rip), %rsi     # 0x31125
leaq 0x2aafb(%rip), %rdx     # 0x3113b
leaq 0x498(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
leaq 0x498(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x498(%rsp), %rdi
cmpq %r15, %rdi
je 0x6689
movq 0x4a8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x4b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x66a6
movq 0x4c8(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x488(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
addq %rsi, %rdx
leaq 0x478(%rsp), %rdi
callq 0x82fa
leaq 0x468(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2aa57(%rip), %rsi     # 0x3113c
leaq 0x2aa87(%rip), %rdx     # 0x31173
leaq 0x458(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x478(%rsp), %rsi
leaq 0x458(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x458(%rsp), %rdi
cmpq %r15, %rdi
je 0x6735
movq 0x468(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x478(%rsp), %rdi
cmpq %rbx, %rdi
je 0x6752
movq 0x488(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x448(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x108(%rsp), %rsi
movq 0x110(%rsp), %rdx
addq %rsi, %rdx
leaq 0x438(%rsp), %rdi
callq 0x82fa
leaq 0x428(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2a9e3(%rip), %rsi     # 0x31174
leaq 0x2aa0e(%rip), %rdx     # 0x311a6
leaq 0x418(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x438(%rsp), %rsi
leaq 0x418(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x418(%rsp), %rdi
cmpq %r15, %rdi
je 0x67e1
movq 0x428(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x438(%rsp), %rdi
cmpq %rbx, %rdi
je 0x67fe
movq 0x448(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x408(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3f8(%rsp), %rdi
callq 0x82fa
leaq 0x3e8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2a96a(%rip), %rsi     # 0x311a7
leaq 0x2a996(%rip), %rdx     # 0x311da
leaq 0x3d8(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x3f8(%rsp), %rsi
leaq 0x3d8(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x3d8(%rsp), %rdi
cmpq %r15, %rdi
je 0x688d
movq 0x3e8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x3f8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x68aa
movq 0x408(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x3c8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3b8(%rsp), %rdi
callq 0x82fa
leaq 0x3a8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2a8f2(%rip), %rsi     # 0x311db
leaq 0x2a90b(%rip), %rdx     # 0x311fb
leaq 0x398(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
leaq 0x398(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x398(%rsp), %rdi
cmpq %r15, %rdi
je 0x6939
movq 0x3a8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x3b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x6956
movq 0x3c8(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x388(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x378(%rsp), %rdi
callq 0x82fa
leaq 0x368(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2a867(%rip), %rsi     # 0x311fc
leaq 0x2a895(%rip), %rdx     # 0x31231
leaq 0x358(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x358(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x358(%rsp), %rdi
cmpq %r15, %rdi
je 0x69e5
movq 0x368(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x378(%rsp), %rdi
cmpq %rbx, %rdi
je 0x6a02
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x348(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
addq %rsi, %rdx
leaq 0x338(%rsp), %rdi
callq 0x82fa
leaq 0x328(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2a7f1(%rip), %rsi     # 0x31232
leaq 0x2a830(%rip), %rdx     # 0x31278
leaq 0x318(%rsp), %rdi
callq 0x8264
leaq 0x188(%rsp), %rdi
leaq 0x338(%rsp), %rsi
leaq 0x318(%rsp), %rcx
xorl %edx, %edx
callq 0x1f886
movq 0x318(%rsp), %rdi
cmpq %r15, %rdi
je 0x6a91
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x338(%rsp), %rdi
cmpq %rbx, %rdi
je 0x6aae
movq 0x348(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x188(%rsp), %rdi
callq 0x1fb3e
leaq 0x308(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2f8(%rsp), %rdi
callq 0x82fa
leaq 0x8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x2f8(%rsp), %rdx
callq 0x20e92
leaq 0x3bd86(%rip), %rdi     # 0x42888
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x5480
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6b29
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x2f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6b46
movq 0x308(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x2e8(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2d8(%rsp), %rdi
callq 0x82fa
leaq 0x8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x2d8(%rsp), %rdx
callq 0x20e92
movq 0x8(%rsp), %r14
callq 0x5060
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x5500
cmpq %r14, (%r15)
je 0x74fb
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x7507
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x7507
testl %ecx, %ecx
jne 0x6bd9
movl %r13d, (%rbx)
leaq 0x3bcf0(%rip), %rcx     # 0x428d0
movl %eax, (%rcx)
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6bfe
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x2d8(%rsp), %rdi
cmpq %r12, %rdi
je 0x6c1b
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x2c8(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x168(%rsp), %rsi
movq 0x170(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2b8(%rsp), %rdi
callq 0x82fa
leaq 0x8(%rsp), %r14
leaq 0x188(%rsp), %rsi
leaq 0x2b8(%rsp), %rdx
movq %r14, %rdi
callq 0x20e92
movq 0x2b8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6c81
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x53b0
cmpq $0x0, 0x10(%rsp)
leaq 0x3bc1a(%rip), %rdi     # 0x428a8
cmoveq %rdi, %r14
movq %r14, %rsi
callq 0x5210
leaq 0x2a8(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x148(%rsp), %rsi
movq 0x150(%rsp), %rdx
addq %rsi, %rdx
leaq 0x298(%rsp), %rdi
callq 0x82fa
leaq 0x28(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x298(%rsp), %rdx
callq 0x20e92
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x5480
movq (%r14), %rdi
leaq 0x38(%rsp), %r12
cmpq %r12, %rdi
je 0x6d0c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x298(%rsp), %rdi
cmpq %r15, %rdi
je 0x6d29
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x53b0
movabsq $-0x100000000, %r13     # imm = 0xFFFFFFFF00000000
cmpq $0x0, 0x10(%rsp)
je 0x6d89
movq 0x8(%rsp), %r14
movl (%rbx), %ebp
movl $0x0, (%rbx)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x5500
cmpq %r14, (%r15)
je 0x7513
leaq -0x80000000(%rax), %rcx
cmpq %r13, %rcx
jb 0x751f
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x751f
testl %ecx, %ecx
jne 0x6d92
movl %ebp, (%rbx)
jmp 0x6d92
leaq 0x3baf0(%rip), %rax     # 0x42880
movl (%rax), %eax
leaq 0x3bae7(%rip), %rcx     # 0x42880
movl %eax, (%rcx)
leaq 0x288(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
addq %rsi, %rdx
leaq 0x278(%rsp), %rdi
callq 0x82fa
leaq 0x28(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x278(%rsp), %rdx
callq 0x20e92
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x5480
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x6e08
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x278(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e25
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x53b0
cmpq $0x0, 0x10(%rsp)
je 0x6e6a
movq 0x8(%rsp), %r14
movl (%rbx), %ebp
movl $0x0, (%rbx)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x52e0
cmpq %r14, (%r15)
je 0x752b
movl (%rbx), %eax
testl %eax, %eax
je 0x6e77
cmpl $0x22, %eax
jne 0x6e79
leaq 0x2a421(%rip), %rdi     # 0x31286
callq 0x5540
leaq 0x3ba57(%rip), %rax     # 0x428c8
movsd (%rax), %xmm0
jmp 0x6e79
movl %ebp, (%rbx)
leaq 0x3ba48(%rip), %rax     # 0x428c8
movsd %xmm0, (%rax)
leaq 0x268(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x108(%rsp), %rsi
movq 0x110(%rsp), %rdx
addq %rsi, %rdx
leaq 0x258(%rsp), %rdi
callq 0x82fa
leaq 0x28(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x258(%rsp), %rdx
callq 0x20e92
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x5480
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x6ef1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x258(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f0e
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x53b0
cmpq $0x0, 0x10(%rsp)
je 0x6f64
movq 0x8(%rsp), %r14
movl (%rbx), %ebp
movl $0x0, (%rbx)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x5500
cmpq %r14, (%r15)
je 0x7537
leaq -0x80000000(%rax), %rcx
cmpq %r13, %rcx
jb 0x7543
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x7543
testl %ecx, %ecx
jne 0x6f6d
movl %ebp, (%rbx)
jmp 0x6f6d
leaq 0x3b849(%rip), %rax     # 0x427b4
movl (%rax), %eax
leaq 0x3b840(%rip), %rcx     # 0x427b4
movl %eax, (%rcx)
leaq 0x248(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x238(%rsp), %rdi
callq 0x82fa
leaq 0x28(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x238(%rsp), %rdx
callq 0x20e92
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x5480
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x6fe3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x238(%rsp), %rdi
cmpq %r15, %rdi
je 0x7000
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x53b0
cmpq $0x0, 0x10(%rsp)
je 0x7056
movq 0x8(%rsp), %r14
movl (%rbx), %ebp
movl $0x0, (%rbx)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x5500
cmpq %r14, (%r15)
je 0x754f
leaq -0x80000000(%rax), %rcx
cmpq %r13, %rcx
jb 0x755b
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x755b
testl %ecx, %ecx
jne 0x705f
movl %ebp, (%rbx)
jmp 0x705f
leaq 0x3b753(%rip), %rax     # 0x427b0
movl (%rax), %eax
leaq 0x3b74a(%rip), %rcx     # 0x427b0
movl %eax, (%rcx)
leaq 0x228(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x218(%rsp), %rdi
callq 0x82fa
leaq 0x28(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x218(%rsp), %rdx
callq 0x20e92
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x5480
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x70d5
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x218(%rsp), %rdi
cmpq %r15, %rdi
je 0x70f2
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x53b0
cmpq $0x0, 0x10(%rsp)
je 0x7148
movq 0x8(%rsp), %r14
movl (%rbx), %ebp
movl $0x0, (%rbx)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x5500
cmpq %r14, (%r15)
je 0x7567
leaq -0x80000000(%rax), %rcx
cmpq %r13, %rcx
jb 0x7573
movl (%rbx), %ecx
cmpl $0x22, %ecx
je 0x7573
testl %ecx, %ecx
jne 0x7151
movl %ebp, (%rbx)
jmp 0x7151
leaq 0x3b785(%rip), %rax     # 0x428d4
movl (%rax), %eax
leaq 0x3b77c(%rip), %rcx     # 0x428d4
movl %eax, (%rcx)
leaq 0x208(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1f8(%rsp), %rdi
callq 0x82fa
leaq 0x28(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x1f8(%rsp), %rdx
callq 0x20e92
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x5480
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x71c7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x1f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x71e4
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x53b0
cmpq $0x0, 0x10(%rsp)
je 0x7229
movq 0x8(%rsp), %r14
movl (%rbx), %ebp
movl $0x0, (%rbx)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x52e0
cmpq %r14, (%r15)
je 0x757f
movl (%rbx), %eax
testl %eax, %eax
je 0x7236
cmpl $0x22, %eax
jne 0x7238
leaq 0x2a062(%rip), %rdi     # 0x31286
callq 0x5540
leaq 0x3b590(%rip), %rax     # 0x427c0
movsd (%rax), %xmm0
jmp 0x7238
movl %ebp, (%rbx)
leaq 0x3b581(%rip), %rax     # 0x427c0
movsd %xmm0, (%rax)
leaq 0x1e8(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1d8(%rsp), %rdi
callq 0x82fa
leaq 0x28(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x1d8(%rsp), %rdx
callq 0x20e92
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x5480
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x72b0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x1d8(%rsp), %rdi
cmpq %r15, %rdi
je 0x72cd
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x53b0
cmpq $0x0, 0x10(%rsp)
je 0x731c
movq 0x8(%rsp), %r14
movl (%rbx), %ebp
movl $0x0, (%rbx)
leaq 0x28(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x52e0
cmpq %r14, (%r15)
je 0x758b
movl (%rbx), %eax
testl %eax, %eax
je 0x732f
cmpl $0x22, %eax
leaq 0x78(%rsp), %r14
leaq 0x58(%rsp), %r15
jne 0x733b
leaq 0x29f6f(%rip), %rdi     # 0x31286
callq 0x5540
leaq 0x3b4a5(%rip), %rax     # 0x427c8
movl (%rax), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
jmp 0x7331
movl %ebp, (%rbx)
leaq 0x78(%rsp), %r14
leaq 0x58(%rsp), %r15
cvttsd2si %xmm0, %rax
leaq 0x3b481(%rip), %rcx     # 0x427c8
movl %eax, (%rcx)
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x7365
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x1c0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7386
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x53b0
leaq 0x188(%rsp), %rdi
callq 0x8176
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x73b8
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x73dd
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x7402
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x7427
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x744c
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x7471
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x7496
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x74bb
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x74d2
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x74e9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53b0
addq $0x5b8, %rsp            # imm = 0x5B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x29d7f(%rip), %rdi     # 0x31281
callq 0x5240
leaq 0x29d73(%rip), %rdi     # 0x31281
callq 0x5540
leaq 0x29d67(%rip), %rdi     # 0x31281
callq 0x5240
leaq 0x29d5b(%rip), %rdi     # 0x31281
callq 0x5540
leaq 0x29d54(%rip), %rdi     # 0x31286
callq 0x5240
leaq 0x29d43(%rip), %rdi     # 0x31281
callq 0x5240
leaq 0x29d37(%rip), %rdi     # 0x31281
callq 0x5540
leaq 0x29d2b(%rip), %rdi     # 0x31281
callq 0x5240
leaq 0x29d1f(%rip), %rdi     # 0x31281
callq 0x5540
leaq 0x29d13(%rip), %rdi     # 0x31281
callq 0x5240
leaq 0x29d07(%rip), %rdi     # 0x31281
callq 0x5540
leaq 0x29d00(%rip), %rdi     # 0x31286
callq 0x5240
leaq 0x29cf4(%rip), %rdi     # 0x31286
callq 0x5240
jmp 0x7a76
jmp 0x7a76
jmp 0x7a76
movq %rax, %r14
movq 0x1d8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7a80
movq 0x1e8(%rsp), %rsi
jmp 0x7694
jmp 0x76a3
movq %rax, %r14
movq 0x1f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7a80
movq 0x208(%rsp), %rsi
jmp 0x7694
jmp 0x76a3
movq %rax, %r14
movq 0x218(%rsp), %rdi
cmpq %r15, %rdi
je 0x7a80
movq 0x228(%rsp), %rsi
jmp 0x7694
jmp 0x76a3
movq %rax, %r14
movq 0x238(%rsp), %rdi
cmpq %r15, %rdi
je 0x7a80
movq 0x248(%rsp), %rsi
jmp 0x7694
jmp 0x76a3
movq %rax, %r14
movq 0x258(%rsp), %rdi
cmpq %r15, %rdi
je 0x7a80
movq 0x268(%rsp), %rsi
jmp 0x7694
jmp 0x76a3
movq %rax, %r14
movq 0x278(%rsp), %rdi
cmpq %r15, %rdi
je 0x7a80
movq 0x288(%rsp), %rsi
jmp 0x7694
jmp 0x76a3
movq %rax, %r14
movq 0x298(%rsp), %rdi
cmpq %r15, %rdi
je 0x7a80
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x7a80
jmp 0x76a3
movq %rax, %r14
jmp 0x7a80
movq %rax, %r14
movq 0x2b8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7adf
movq 0x2c8(%rsp), %rsi
jmp 0x7a94
jmp 0x7adc
movq %rax, %r14
jmp 0x7ac5
jmp 0x7adc
movq %rax, %r14
movq 0x2f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7adf
movq 0x308(%rsp), %rsi
jmp 0x7a94
jmp 0x7adc
movq %rax, %r14
cmpl $0x1, %edx
jne 0x7adf
movq %r14, %rdi
callq 0x5170
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0x3a878(%rip), %rdi     # 0x41fa0
movq %rax, %rsi
callq 0x5390
movq %rax, %rdi
callq 0x51b0
xorl %edi, %edi
callq 0x5470
movq %rax, %r14
callq 0x55e0
jmp 0x7adf
movq %rax, %rdi
callq 0x80f0
movq %rax, %r14
movq 0x318(%rsp), %rdi
cmpq %r15, %rdi
je 0x7779
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x7779
movq %rax, %r14
movq 0x338(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x348(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x358(%rsp), %rdi
cmpq %r15, %rdi
je 0x77bc
movq 0x368(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x77bc
movq %rax, %r14
movq 0x378(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x388(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x398(%rsp), %rdi
cmpq %r15, %rdi
je 0x77ff
movq 0x3a8(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x77ff
movq %rax, %r14
movq 0x3b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x3c8(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x3d8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7842
movq 0x3e8(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x7842
movq %rax, %r14
movq 0x3f8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x408(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x418(%rsp), %rdi
cmpq %r15, %rdi
je 0x7885
movq 0x428(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x7885
movq %rax, %r14
movq 0x438(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x448(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x458(%rsp), %rdi
cmpq %r15, %rdi
je 0x78c8
movq 0x468(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x78c8
movq %rax, %r14
movq 0x478(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x488(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x498(%rsp), %rdi
cmpq %r15, %rdi
je 0x790b
movq 0x4a8(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x790b
movq %rax, %r14
movq 0x4b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x4c8(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x4d8(%rsp), %rdi
cmpq %r15, %rdi
je 0x794e
movq 0x4e8(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x794e
movq %rax, %r14
movq 0x4f8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x508(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x518(%rsp), %rdi
cmpq %r15, %rdi
je 0x7991
movq 0x528(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x7991
movq %rax, %r14
movq 0x538(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x548(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x558(%rsp), %rdi
cmpq %r15, %rdi
je 0x79d4
movq 0x568(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x79d4
movq %rax, %r14
movq 0x578(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x588(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
movq 0x598(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7adf
movq 0x5a8(%rsp), %rsi
jmp 0x7a94
jmp 0x7adc
movq %rax, %r14
jmp 0x7aec
movq %rax, %r14
jmp 0x7b11
movq %rax, %r14
jmp 0x7b36
movq %rax, %r14
jmp 0x7b5b
movq %rax, %r14
jmp 0x7b80
movq %rax, %r14
jmp 0x7ba5
movq %rax, %r14
jmp 0x7bca
movq %rax, %r14
jmp 0x7bef
movq %rax, %r14
jmp 0x7c14
movq %rax, %r14
jmp 0x7c30
movq %rax, %r14
jmp 0x7c4c
jmp 0x7a76
jmp 0x7a76
jmp 0x7a76
movq %rax, %r14
cmpl $0x0, (%rbx)
jne 0x7a80
movl %ebp, (%rbx)
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x7adf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53b0
jmp 0x7adf
movq %rax, %r14
cmpl $0x0, (%rbx)
jne 0x7aa9
movl %r13d, (%rbx)
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x7ac5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x2d8(%rsp), %rdi
cmpq %r12, %rdi
je 0x7adf
movq 0x2e8(%rsp), %rsi
jmp 0x7a94
movq %rax, %r14
leaq 0x188(%rsp), %rdi
callq 0x80fc
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x7b11
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x7b36
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x7b5b
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x7b80
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x7ba5
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x7bca
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x7bef
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x7c14
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x7c30
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x53b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x7c4c
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x53b0
movq %r14, %rdi
callq 0x5660