// File: readmapping[P]alfalfa/src/performanceUtils.cpp
// Function: processCheckParameters(int, char**, samCheckOptions_t&)
void processCheckParameters(int argc, char* argv[], samCheckOptions_t& opt){
    //parse the subcommand
    if(argc < 2 || strcmp(argv[1], "-h")==0 || strcmp(argv[1], "--help")==0){
        option::printUsage(std::cerr, evaluateUsage);
        exit(1);
    }
    string subcommand = argv[1];
    if(strcmp(argv[1], "sam") == 0) opt.subcommand = ORACLE;
    else if(strcmp(argv[1], "summary") == 0) opt.subcommand = SUMMARY;
    else if(strcmp(argv[1], "wgsim") == 0) opt.subcommand = WGSIM;
    else{
        fprintf(stderr, "[main] unrecognized command '%s'\n", argv[1]);
        option::printUsage(std::cerr, evaluateUsage);
        exit(1);
    }
    cerr << "COMMAND: evaluate " << argv[1] << endl;
    argc-=2; argv++; argv++;
    //summary options
    if(opt.subcommand == SUMMARY){
        option::Stats  stats(summaryUsage, argc, argv);
        option::Option* options = new option::Option[stats.options_max];
        option::Option* buffer  = new option::Option[stats.buffer_max];
        option::Parser parser(summaryUsage, argc, argv, options, buffer);
        if (parser.error()){
            cerr << "error during parsing of command line options" << endl;
            exit(1);
        }
        if(parser.optionsCount() == 0){
            option::printUsage(std::cerr, summaryUsage); exit(0);
        }
        for (int i = 0; i < parser.optionsCount(); ++i) {
            option::Option& option = buffer[i];
            switch(option.index()) {
                case ARG_INPUT_SAM: opt.querySam = option.arg; break;
                case ARG_OUTPUT_EVAL: opt.outputFile = option.arg; break;
                case ARG_QUALITY: processCommaSepListInt(option.arg, opt.qualityValues, "quality-values", 0, 255); break;
                case ARG_READS: opt.numReads = atoi(option.arg); break;
                case ARG_PAIRED: opt.paired = true; break;
                case ARG_PRINT: opt.print = true; break;
                case ARG_HELP_EVAL: option::printUsage(std::cerr, summaryUsage); exit(0);
                default: cerr << "unknown option: " << option.name << endl; break;
                throw 1;
            }
        }
        delete[] options;
        delete[] buffer;
    }
    else if(opt.subcommand == ORACLE){
        option::Stats  stats(samUsage, argc, argv);
        option::Option* options = new option::Option[stats.options_max];
        option::Option* buffer  = new option::Option[stats.buffer_max];
        option::Parser parser(samUsage, argc, argv, options, buffer);
        if (parser.error()){
            cerr << "error during parsing of command line options" << endl;
            exit(1);
        }
        if(parser.optionsCount() == 0){
            option::printUsage(std::cerr, samUsage); exit(0);
        }
        for (int i = 0; i < parser.optionsCount(); ++i) {
            option::Option& option = buffer[i];
            switch(option.index()) {
                case ARG_INPUT_SAM: opt.querySam = option.arg; break;
                case ARG_OUTPUT_EVAL: opt.outputFile = option.arg; break;
                case ARG_QUALITY: processCommaSepListInt(option.arg, opt.qualityValues, "quality-values", 0, 255); break;
                case ARG_REFERENCE_EVAL: opt.refString = option.arg; break;
                case ARG_WINDOW: processCommaSepListInt(option.arg, opt.correctRange, "ranges", 0, 1000000); break;
                case ARG_INPUT_EDIT: opt.qtag = option.arg; break;
                case ARG_REFERENCE_SAM: opt.oracleSam = option.arg; break;
                case ARG_REFERENCE_EDIT: opt.otag = option.arg; break;
                case ARG_PRINT: opt.print = true; break;
                case ARG_HELP_EVAL: option::printUsage(std::cerr, samUsage); exit(0);
                default: cerr << "unknown option: " << option.name << endl; break;
                throw 1;
            }
        }
        delete[] options;
        delete[] buffer;
    }
    else if(opt.subcommand == WGSIM){
        option::Stats  stats(wgsimUsage, argc, argv);
        option::Option* options = new option::Option[stats.options_max];
        option::Option* buffer  = new option::Option[stats.buffer_max];
        option::Parser parser(wgsimUsage, argc, argv, options, buffer);
        if (parser.error()){
            cerr << "error during parsing of command line options" << endl;
            exit(1);
        }
        if(0==parser.optionsCount()){
            option::printUsage(std::cerr, wgsimUsage); exit(0);
        }
        for (int i = 0; i < parser.optionsCount(); ++i) {
            option::Option& option = buffer[i];
            switch(option.index()) {
                case ARG_INPUT_SAM: opt.querySam = option.arg; break;
                case ARG_OUTPUT_EVAL: opt.outputFile = option.arg; break;
                case ARG_QUALITY: processCommaSepListInt(option.arg, opt.qualityValues, "quality-values", 0, 255); break;
                case ARG_REFERENCE_EVAL: opt.refString = option.arg; break;
                case ARG_WINDOW: processCommaSepListInt(option.arg, opt.correctRange, "ranges", 0, 1000000); break;
                case ARG_INPUT_EDIT: opt.qtag = option.arg; break;
                case ARG_PRINT: opt.print = true; break;
                case ARG_HELP_EVAL: option::printUsage(std::cerr, wgsimUsage); exit(0);
                default: cerr << "unknown option: " << option.name << endl; break;
                throw 1;
            }
        }
        delete[] options;
        delete[] buffer;
    }
    if(opt.querySam.empty()){
        fprintf(stderr, "ERROR: The query SAM file has not been specified using the -i option.\n"); 
        exit(1);
    }
    if(opt.subcommand == SUMMARY){
        if(opt.numReads==0)
            fprintf(stderr, "WARNING: Number of reads was not specified. Number of reads in input sam will be used.\n");
    }
    if(opt.subcommand == ORACLE){
        if(opt.refString.empty()){
            fprintf(stderr, "ERROR: The reference genome has not been specified using the -r option.\n"); 
            exit(1);
        }
        if(opt.oracleSam.empty()){
            fprintf(stderr, "ERROR: The reference SAM file has not been specified using the --reference-sam option.\n"); 
            exit(1);
        }
    }
    if(opt.subcommand == WGSIM){
        if(opt.refString.empty()){
            fprintf(stderr, "ERROR: The reference genome has not been specified using the -r option.\n"); 
            exit(1);
        }
    }
    if(opt.subcommand != SUMMARY && opt.correctRange.empty())
        opt.correctRange.push_back(50);
}

// Assembly:
subq $0x578, %rsp            # imm = 0x578
movl %edi, 0x574(%rsp)
movq %rsi, 0x568(%rsp)
movq %rdx, 0x560(%rsp)
cmpl $0x2, 0x574(%rsp)
jl 0x653e2
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x13db2(%rip), %rsi     # 0x7916d
callq 0x85a0
cmpl $0x0, %eax
je 0x653e2
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x13d98(%rip), %rsi     # 0x79170
callq 0x85a0
cmpl $0x0, %eax
jne 0x6540f
movq 0x31c07(%rip), %rdi     # 0x96ff0
leaq 0x31350(%rip), %rsi     # 0x96740
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
movl $0x1, %edi
callq 0x84a0
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x2c8(%rsp)
leaq 0x53f(%rsp), %rdi
movq %rdi, 0x2d0(%rsp)
callq 0x8750
movq 0x2c8(%rsp), %rsi
movq 0x2d0(%rsp), %rdx
leaq 0x540(%rsp), %rdi
callq 0xb8b0
jmp 0x65457
leaq 0x53f(%rsp), %rdi
callq 0x83e0
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x1b284(%rip), %rsi     # 0x806fb
callq 0x85a0
cmpl $0x0, %eax
jne 0x654ba
movq 0x560(%rsp), %rax
movl $0x0, (%rax)
jmp 0x65587
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
leaq 0x53f(%rsp), %rdi
callq 0x83e0
jmp 0x66e51
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x195e8(%rip), %rsi     # 0x7eab5
callq 0x85a0
cmpl $0x0, %eax
jne 0x654ea
movq 0x560(%rsp), %rax
movl $0x1, (%rax)
jmp 0x65585
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x19fa4(%rip), %rsi     # 0x7f4a1
callq 0x85a0
cmpl $0x0, %eax
jne 0x65517
movq 0x560(%rsp), %rax
movl $0x3, (%rax)
jmp 0x65583
movq 0x31ab2(%rip), %rax     # 0x96fd0
movq (%rax), %rdi
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rdx
leaq 0x1494f(%rip), %rsi     # 0x79e83
xorl %eax, %eax
callq 0x85c0
movq 0x31aae(%rip), %rdi     # 0x96ff0
leaq 0x311f7(%rip), %rsi     # 0x96740
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
jmp 0x65560
movl $0x1, %edi
callq 0x84a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x66e44
jmp 0x65585
jmp 0x65587
movq 0x31a62(%rip), %rdi     # 0x96ff0
leaq 0x19528(%rip), %rsi     # 0x7eabd
callq 0x8360
movq %rax, 0x2c0(%rsp)
jmp 0x655a4
movq 0x2c0(%rsp), %rdi
movq 0x568(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x8360
movq %rax, 0x2b8(%rsp)
jmp 0x655c7
movq 0x2b8(%rsp), %rdi
movq 0x319da(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0x655dd
movl 0x574(%rsp), %eax
subl $0x2, %eax
movl %eax, 0x574(%rsp)
movq 0x568(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x568(%rsp)
movq 0x568(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x568(%rsp)
movq 0x560(%rsp), %rax
cmpl $0x1, (%rax)
jne 0x65c9c
movl 0x574(%rsp), %edx
movq 0x568(%rsp), %rcx
leaq 0x311f3(%rip), %rsi     # 0x96830
leaq 0x524(%rsp), %rdi
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x14aa0
jmp 0x65652
movl 0x528(%rsp), %eax
movq %rax, 0x2a0(%rsp)
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq %rdi, 0x2a8(%rsp)
callq 0x8030
movq %rax, 0x2b0(%rsp)
jmp 0x65680
movq 0x2a0(%rsp), %rax
cmpq $0x0, %rax
je 0x656f0
movq 0x2b0(%rsp), %rax
movq 0x2a0(%rsp), %rcx
imulq $0x30, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x290(%rsp)
movq %rax, 0x298(%rsp)
movq 0x298(%rsp), %rdi
movq %rdi, 0x288(%rsp)
callq 0x14b10
jmp 0x656cf
movq 0x290(%rsp), %rcx
movq 0x288(%rsp), %rax
addq $0x30, %rax
cmpq %rcx, %rax
movq %rax, 0x298(%rsp)
jne 0x656b8
movq 0x2b0(%rsp), %rax
movq %rax, 0x518(%rsp)
movl 0x524(%rsp), %eax
movq %rax, 0x270(%rsp)
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq %rdi, 0x278(%rsp)
callq 0x8030
movq %rax, 0x280(%rsp)
jmp 0x6572e
movq 0x270(%rsp), %rax
cmpq $0x0, %rax
je 0x6579e
movq 0x280(%rsp), %rax
movq 0x270(%rsp), %rcx
imulq $0x30, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x260(%rsp)
movq %rax, 0x268(%rsp)
movq 0x268(%rsp), %rdi
movq %rdi, 0x258(%rsp)
callq 0x14b10
jmp 0x6577d
movq 0x260(%rsp), %rcx
movq 0x258(%rsp), %rax
addq $0x30, %rax
cmpq %rcx, %rax
movq %rax, 0x268(%rsp)
jne 0x65766
movq 0x280(%rsp), %rax
movq %rax, 0x510(%rsp)
movl 0x574(%rsp), %edx
movq 0x568(%rsp), %rcx
movq 0x518(%rsp), %r8
movq 0x510(%rsp), %r9
movq %rsp, %rax
movl $0xffffffff, 0x10(%rax) # imm = 0xFFFFFFFF
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq 0x31045(%rip), %rsi     # 0x96830
leaq 0x4f8(%rsp), %rdi
callq 0x14b70
jmp 0x657fa
leaq 0x4f8(%rsp), %rdi
callq 0x14c20
movb %al, 0x257(%rsp)
jmp 0x65810
movb 0x257(%rsp), %al
testb $0x1, %al
jne 0x65820
jmp 0x658b9
movq 0x317c9(%rip), %rdi     # 0x96ff0
leaq 0x1468c(%rip), %rsi     # 0x79eba
callq 0x8360
movq %rax, 0x248(%rsp)
jmp 0x6583d
movq 0x248(%rsp), %rdi
movq 0x31764(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0x65853
movl $0x1, %edi
callq 0x84a0
movq 0x2a8(%rsp), %rsi
movq 0x2b0(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
callq 0x8800
jmp 0x66e44
movq 0x278(%rsp), %rsi
movq 0x280(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
callq 0x8800
jmp 0x66e44
leaq 0x4f8(%rsp), %rdi
callq 0x14cf0
movl %eax, 0x244(%rsp)
jmp 0x658cf
movl 0x244(%rsp), %eax
cmpl $0x0, %eax
jne 0x65907
movq 0x3170e(%rip), %rdi     # 0x96ff0
leaq 0x30f47(%rip), %rsi     # 0x96830
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
jmp 0x65900
xorl %edi, %edi
callq 0x84a0
movl $0x0, 0x4f4(%rsp)
movl 0x4f4(%rsp), %eax
movl %eax, 0x23c(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0x14cf0
movl %eax, 0x240(%rsp)
jmp 0x65936
movl 0x23c(%rsp), %eax
movl 0x240(%rsp), %ecx
cmpl %ecx, %eax
jge 0x65c51
movq 0x510(%rsp), %rax
movslq 0x4f4(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x4e8(%rsp)
movq 0x4e8(%rsp), %rdi
callq 0x14d00
movl %eax, 0x238(%rsp)
jmp 0x65985
movl 0x238(%rsp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x230(%rsp)
subl $0x6, %eax
ja 0x65be1
movq 0x230(%rsp), %rax
leaq 0x18f50(%rip), %rcx     # 0x7e900
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x4e8(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x70, %rdi
callq 0x8570
jmp 0x659d8
jmp 0x65c39
movq 0x4e8(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x8, %rdi
callq 0x8570
jmp 0x659fc
jmp 0x65c39
movq 0x4e8(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x220(%rsp)
leaq 0x4c7(%rsp), %rdi
movq %rdi, 0x228(%rsp)
callq 0x8750
movq 0x220(%rsp), %rsi
movq 0x228(%rsp), %rdx
leaq 0x4c8(%rsp), %rdi
callq 0xb8b0
jmp 0x65a49
movq 0x560(%rsp), %rax
addq $0xa8, %rax
movq %rax, 0x210(%rsp)
leaq 0x49f(%rsp), %rdi
movq %rdi, 0x218(%rsp)
callq 0x8750
movq 0x218(%rsp), %rdx
leaq 0x1904d(%rip), %rsi     # 0x7ead0
leaq 0x4a0(%rsp), %rdi
callq 0xb8b0
jmp 0x65a92
movq 0x210(%rsp), %rsi
leaq 0x4c8(%rsp), %rdi
leaq 0x4a0(%rsp), %rdx
xorl %ecx, %ecx
movl $0xff, %r8d
callq 0x65170
jmp 0x65ab9
leaq 0x4a0(%rsp), %rdi
callq 0x8858
leaq 0x49f(%rsp), %rdi
callq 0x83e0
leaq 0x4c8(%rsp), %rdi
callq 0x8858
leaq 0x4c7(%rsp), %rdi
callq 0x83e0
jmp 0x65c39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x65b59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x65b3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
leaq 0x4a0(%rsp), %rdi
callq 0x8858
leaq 0x49f(%rsp), %rdi
callq 0x83e0
leaq 0x4c8(%rsp), %rdi
callq 0x8858
leaq 0x4c7(%rsp), %rdi
callq 0x83e0
jmp 0x66e44
movq 0x4e8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x8670
movslq %eax, %rcx
movq 0x560(%rsp), %rax
movq %rcx, 0x118(%rax)
jmp 0x65c39
movq 0x560(%rsp), %rax
movb $0x1, 0x68(%rax)
jmp 0x65c39
movq 0x560(%rsp), %rax
movb $0x1, 0x69(%rax)
jmp 0x65c39
movq 0x31434(%rip), %rdi     # 0x96ff0
leaq 0x30c6d(%rip), %rsi     # 0x96830
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
jmp 0x65bda
xorl %edi, %edi
callq 0x84a0
movq 0x31408(%rip), %rdi     # 0x96ff0
leaq 0x18ef0(%rip), %rsi     # 0x7eadf
callq 0x8360
movq %rax, 0x208(%rsp)
jmp 0x65bfe
movq 0x208(%rsp), %rdi
movq 0x4e8(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0x8360
movq %rax, 0x200(%rsp)
jmp 0x65c21
movq 0x200(%rsp), %rdi
movq 0x31380(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0x65c37
jmp 0x65c39
jmp 0x65c3b
movl 0x4f4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4f4(%rsp)
jmp 0x65912
movq 0x518(%rsp), %rax
movq %rax, 0x1f8(%rsp)
cmpq $0x0, %rax
je 0x65c74
movq 0x1f8(%rsp), %rdi
callq 0x8520
movq 0x510(%rsp), %rax
movq %rax, 0x1f0(%rsp)
cmpq $0x0, %rax
je 0x65c97
movq 0x1f0(%rsp), %rdi
callq 0x8520
jmp 0x66ca2
movq 0x560(%rsp), %rax
cmpl $0x0, (%rax)
jne 0x664e9
movl 0x574(%rsp), %edx
movq 0x568(%rsp), %rcx
leaq 0x30cfd(%rip), %rsi     # 0x969c0
leaq 0x494(%rsp), %rdi
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x14aa0
jmp 0x65cd8
movl 0x498(%rsp), %eax
movq %rax, 0x1d8(%rsp)
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq %rdi, 0x1e0(%rsp)
callq 0x8030
movq %rax, 0x1e8(%rsp)
jmp 0x65d06
movq 0x1d8(%rsp), %rax
cmpq $0x0, %rax
je 0x65d76
movq 0x1e8(%rsp), %rax
movq 0x1d8(%rsp), %rcx
imulq $0x30, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x1c8(%rsp)
movq %rax, 0x1d0(%rsp)
movq 0x1d0(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x14b10
jmp 0x65d55
movq 0x1c8(%rsp), %rcx
movq 0x1c0(%rsp), %rax
addq $0x30, %rax
cmpq %rcx, %rax
movq %rax, 0x1d0(%rsp)
jne 0x65d3e
movq 0x1e8(%rsp), %rax
movq %rax, 0x488(%rsp)
movl 0x494(%rsp), %eax
movq %rax, 0x1a8(%rsp)
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq %rdi, 0x1b0(%rsp)
callq 0x8030
movq %rax, 0x1b8(%rsp)
jmp 0x65db4
movq 0x1a8(%rsp), %rax
cmpq $0x0, %rax
je 0x65e24
movq 0x1b8(%rsp), %rax
movq 0x1a8(%rsp), %rcx
imulq $0x30, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0x198(%rsp)
movq %rax, 0x1a0(%rsp)
movq 0x1a0(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0x14b10
jmp 0x65e03
movq 0x198(%rsp), %rcx
movq 0x190(%rsp), %rax
addq $0x30, %rax
cmpq %rcx, %rax
movq %rax, 0x1a0(%rsp)
jne 0x65dec
movq 0x1b8(%rsp), %rax
movq %rax, 0x480(%rsp)
movl 0x574(%rsp), %edx
movq 0x568(%rsp), %rcx
movq 0x488(%rsp), %r8
movq 0x480(%rsp), %r9
movq %rsp, %rax
movl $0xffffffff, 0x10(%rax) # imm = 0xFFFFFFFF
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq 0x30b4f(%rip), %rsi     # 0x969c0
leaq 0x468(%rsp), %rdi
callq 0x14b70
jmp 0x65e80
leaq 0x468(%rsp), %rdi
callq 0x14c20
movb %al, 0x18f(%rsp)
jmp 0x65e96
movb 0x18f(%rsp), %al
testb $0x1, %al
jne 0x65ea6
jmp 0x65f3f
movq 0x31143(%rip), %rdi     # 0x96ff0
leaq 0x14006(%rip), %rsi     # 0x79eba
callq 0x8360
movq %rax, 0x180(%rsp)
jmp 0x65ec3
movq 0x180(%rsp), %rdi
movq 0x310de(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0x65ed9
movl $0x1, %edi
callq 0x84a0
movq 0x1e0(%rsp), %rsi
movq 0x1e8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
callq 0x8800
jmp 0x66e44
movq 0x1b0(%rsp), %rsi
movq 0x1b8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
callq 0x8800
jmp 0x66e44
leaq 0x468(%rsp), %rdi
callq 0x14cf0
movl %eax, 0x17c(%rsp)
jmp 0x65f55
movl 0x17c(%rsp), %eax
cmpl $0x0, %eax
jne 0x65f8d
movq 0x31088(%rip), %rdi     # 0x96ff0
leaq 0x30a51(%rip), %rsi     # 0x969c0
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
jmp 0x65f86
xorl %edi, %edi
callq 0x84a0
movl $0x0, 0x464(%rsp)
movl 0x464(%rsp), %eax
movl %eax, 0x174(%rsp)
leaq 0x468(%rsp), %rdi
callq 0x14cf0
movl %eax, 0x178(%rsp)
jmp 0x65fbc
movl 0x174(%rsp), %eax
movl 0x178(%rsp), %ecx
cmpl %ecx, %eax
jge 0x6649e
movq 0x480(%rsp), %rax
movslq 0x464(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x458(%rsp)
movq 0x458(%rsp), %rdi
callq 0x14d00
movl %eax, 0x170(%rsp)
jmp 0x6600b
movl 0x170(%rsp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x168(%rsp)
subl $0xb, %eax
ja 0x6642e
movq 0x168(%rsp), %rax
leaq 0x1889a(%rip), %rcx     # 0x7e8d0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x70, %rdi
callq 0x8570
jmp 0x6605e
jmp 0x66486
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x8, %rdi
callq 0x8570
jmp 0x66082
jmp 0x66486
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x158(%rsp)
leaq 0x437(%rsp), %rdi
movq %rdi, 0x160(%rsp)
callq 0x8750
movq 0x158(%rsp), %rsi
movq 0x160(%rsp), %rdx
leaq 0x438(%rsp), %rdi
callq 0xb8b0
jmp 0x660cf
movq 0x560(%rsp), %rax
addq $0xa8, %rax
movq %rax, 0x148(%rsp)
leaq 0x40f(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x8750
movq 0x150(%rsp), %rdx
leaq 0x189c7(%rip), %rsi     # 0x7ead0
leaq 0x410(%rsp), %rdi
callq 0xb8b0
jmp 0x66118
movq 0x148(%rsp), %rsi
leaq 0x438(%rsp), %rdi
leaq 0x410(%rsp), %rdx
xorl %ecx, %ecx
movl $0xff, %r8d
callq 0x65170
jmp 0x6613f
leaq 0x410(%rsp), %rdi
callq 0x8858
leaq 0x40f(%rsp), %rdi
callq 0x83e0
leaq 0x438(%rsp), %rdi
callq 0x8858
leaq 0x437(%rsp), %rdi
callq 0x83e0
jmp 0x66486
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x661df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x661c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
leaq 0x410(%rsp), %rdi
callq 0x8858
leaq 0x40f(%rsp), %rdi
callq 0x83e0
leaq 0x438(%rsp), %rdi
callq 0x8858
leaq 0x437(%rsp), %rdi
callq 0x83e0
jmp 0x66e44
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x48, %rdi
callq 0x8570
jmp 0x66210
jmp 0x66486
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x138(%rsp)
leaq 0x3e7(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x8750
movq 0x138(%rsp), %rsi
movq 0x140(%rsp), %rdx
leaq 0x3e8(%rsp), %rdi
callq 0xb8b0
jmp 0x6625d
movq 0x560(%rsp), %rax
addq $0xc0, %rax
movq %rax, 0x128(%rsp)
leaq 0x3bf(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x8750
movq 0x130(%rsp), %rdx
leaq 0x18859(%rip), %rsi     # 0x7eaf0
leaq 0x3c0(%rsp), %rdi
callq 0xb8b0
jmp 0x662a6
movq 0x128(%rsp), %rsi
leaq 0x3e8(%rsp), %rdi
leaq 0x3c0(%rsp), %rdx
xorl %ecx, %ecx
movl $0xf4240, %r8d          # imm = 0xF4240
callq 0x65170
jmp 0x662cd
leaq 0x3c0(%rsp), %rdi
callq 0x8858
leaq 0x3bf(%rsp), %rdi
callq 0x83e0
leaq 0x3e8(%rsp), %rdi
callq 0x8858
leaq 0x3e7(%rsp), %rdi
callq 0x83e0
jmp 0x66486
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x6636d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x66353
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
leaq 0x3c0(%rsp), %rdi
callq 0x8858
leaq 0x3bf(%rsp), %rdi
callq 0x83e0
leaq 0x3e8(%rsp), %rdi
callq 0x8858
leaq 0x3e7(%rsp), %rdi
callq 0x83e0
jmp 0x66e44
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0xd8, %rdi
callq 0x8570
jmp 0x663a1
jmp 0x66486
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x28, %rdi
callq 0x8570
jmp 0x663c5
jmp 0x66486
movq 0x458(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0xf8, %rdi
callq 0x8570
jmp 0x663ec
jmp 0x66486
movq 0x560(%rsp), %rax
movb $0x1, 0x69(%rax)
jmp 0x66486
movq 0x30be7(%rip), %rdi     # 0x96ff0
leaq 0x305b0(%rip), %rsi     # 0x969c0
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
jmp 0x66427
xorl %edi, %edi
callq 0x84a0
movq 0x30bbb(%rip), %rdi     # 0x96ff0
leaq 0x186a3(%rip), %rsi     # 0x7eadf
callq 0x8360
movq %rax, 0x120(%rsp)
jmp 0x6644b
movq 0x120(%rsp), %rdi
movq 0x458(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0x8360
movq %rax, 0x118(%rsp)
jmp 0x6646e
movq 0x118(%rsp), %rdi
movq 0x30b33(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0x66484
jmp 0x66486
jmp 0x66488
movl 0x464(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x464(%rsp)
jmp 0x65f98
movq 0x488(%rsp), %rax
movq %rax, 0x110(%rsp)
cmpq $0x0, %rax
je 0x664c1
movq 0x110(%rsp), %rdi
callq 0x8520
movq 0x480(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpq $0x0, %rax
je 0x664e4
movq 0x108(%rsp), %rdi
callq 0x8520
jmp 0x66ca0
movq 0x560(%rsp), %rax
cmpl $0x3, (%rax)
jne 0x66c9e
movl 0x574(%rsp), %edx
movq 0x568(%rsp), %rcx
leaq 0x306c0(%rip), %rsi     # 0x96bd0
leaq 0x3b4(%rsp), %rdi
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x14aa0
jmp 0x66525
movl 0x3b8(%rsp), %eax
movq %rax, 0xf0(%rsp)
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq %rdi, 0xf8(%rsp)
callq 0x8030
movq %rax, 0x100(%rsp)
jmp 0x66553
movq 0xf0(%rsp), %rax
cmpq $0x0, %rax
je 0x665c3
movq 0x100(%rsp), %rax
movq 0xf0(%rsp), %rcx
imulq $0x30, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0xe0(%rsp)
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x14b10
jmp 0x665a2
movq 0xe0(%rsp), %rcx
movq 0xd8(%rsp), %rax
addq $0x30, %rax
cmpq %rcx, %rax
movq %rax, 0xe8(%rsp)
jne 0x6658b
movq 0x100(%rsp), %rax
movq %rax, 0x3a8(%rsp)
movl 0x3b4(%rsp), %eax
movq %rax, 0xc0(%rsp)
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x8030
movq %rax, 0xd0(%rsp)
jmp 0x66601
movq 0xc0(%rsp), %rax
cmpq $0x0, %rax
je 0x66671
movq 0xd0(%rsp), %rax
movq 0xc0(%rsp), %rcx
imulq $0x30, %rcx, %rdx
movq %rax, %rcx
addq %rdx, %rcx
movq %rcx, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
movq 0xb8(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x14b10
jmp 0x66650
movq 0xb0(%rsp), %rcx
movq 0xa8(%rsp), %rax
addq $0x30, %rax
cmpq %rcx, %rax
movq %rax, 0xb8(%rsp)
jne 0x66639
movq 0xd0(%rsp), %rax
movq %rax, 0x3a0(%rsp)
movl 0x574(%rsp), %edx
movq 0x568(%rsp), %rcx
movq 0x3a8(%rsp), %r8
movq 0x3a0(%rsp), %r9
movq %rsp, %rax
movl $0xffffffff, 0x10(%rax) # imm = 0xFFFFFFFF
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq 0x30512(%rip), %rsi     # 0x96bd0
leaq 0x388(%rsp), %rdi
callq 0x14b70
jmp 0x666cd
leaq 0x388(%rsp), %rdi
callq 0x14c20
movb %al, 0xa7(%rsp)
jmp 0x666e3
movb 0xa7(%rsp), %al
testb $0x1, %al
jne 0x666f3
jmp 0x6678c
movq 0x308f6(%rip), %rdi     # 0x96ff0
leaq 0x137b9(%rip), %rsi     # 0x79eba
callq 0x8360
movq %rax, 0x98(%rsp)
jmp 0x66710
movq 0x98(%rsp), %rdi
movq 0x30891(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0x66726
movl $0x1, %edi
callq 0x84a0
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
callq 0x8800
jmp 0x66e44
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
callq 0x8800
jmp 0x66e44
leaq 0x388(%rsp), %rdi
callq 0x14cf0
movl %eax, 0x94(%rsp)
jmp 0x667a2
movl 0x94(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x667db
movq 0x3083a(%rip), %rdi     # 0x96ff0
leaq 0x30413(%rip), %rsi     # 0x96bd0
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
jmp 0x667d4
xorl %edi, %edi
callq 0x84a0
movl $0x0, 0x384(%rsp)
movl 0x384(%rsp), %eax
movl %eax, 0x8c(%rsp)
leaq 0x388(%rsp), %rdi
callq 0x14cf0
movl %eax, 0x90(%rsp)
jmp 0x6680a
movl 0x8c(%rsp), %eax
movl 0x90(%rsp), %ecx
cmpl %ecx, %eax
jge 0x66c62
movq 0x3a0(%rsp), %rax
movslq 0x384(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x378(%rsp)
movq 0x378(%rsp), %rdi
callq 0x14d00
movl %eax, 0x88(%rsp)
jmp 0x66859
movl 0x88(%rsp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x80(%rsp)
subl $0x9, %eax
ja 0x66bfe
movq 0x80(%rsp), %rax
leaq 0x18024(%rip), %rcx     # 0x7e8a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x378(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x70, %rdi
callq 0x8570
jmp 0x668ac
jmp 0x66c4a
movq 0x378(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x8, %rdi
callq 0x8570
jmp 0x668d0
jmp 0x66c4a
movq 0x378(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x70(%rsp)
leaq 0x357(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x8750
movq 0x70(%rsp), %rsi
movq 0x78(%rsp), %rdx
leaq 0x358(%rsp), %rdi
callq 0xb8b0
jmp 0x66911
movq 0x560(%rsp), %rax
addq $0xa8, %rax
movq %rax, 0x60(%rsp)
leaq 0x32f(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x8750
movq 0x68(%rsp), %rdx
leaq 0x1818e(%rip), %rsi     # 0x7ead0
leaq 0x330(%rsp), %rdi
callq 0xb8b0
jmp 0x66951
movq 0x60(%rsp), %rsi
leaq 0x358(%rsp), %rdi
leaq 0x330(%rsp), %rdx
xorl %ecx, %ecx
movl $0xff, %r8d
callq 0x65170
jmp 0x66975
leaq 0x330(%rsp), %rdi
callq 0x8858
leaq 0x32f(%rsp), %rdi
callq 0x83e0
leaq 0x358(%rsp), %rdi
callq 0x8858
leaq 0x357(%rsp), %rdi
callq 0x83e0
jmp 0x66c4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x66a15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x669fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
leaq 0x330(%rsp), %rdi
callq 0x8858
leaq 0x32f(%rsp), %rdi
callq 0x83e0
leaq 0x358(%rsp), %rdi
callq 0x8858
leaq 0x357(%rsp), %rdi
callq 0x83e0
jmp 0x66e44
movq 0x378(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0x48, %rdi
callq 0x8570
jmp 0x66a46
jmp 0x66c4a
movq 0x378(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x50(%rsp)
leaq 0x307(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x8750
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
leaq 0x308(%rsp), %rdi
callq 0xb8b0
jmp 0x66a87
movq 0x560(%rsp), %rax
addq $0xc0, %rax
movq %rax, 0x40(%rsp)
leaq 0x2df(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x8750
movq 0x48(%rsp), %rdx
leaq 0x18038(%rip), %rsi     # 0x7eaf0
leaq 0x2e0(%rsp), %rdi
callq 0xb8b0
jmp 0x66ac7
movq 0x40(%rsp), %rsi
leaq 0x308(%rsp), %rdi
leaq 0x2e0(%rsp), %rdx
xorl %ecx, %ecx
movl $0xf4240, %r8d          # imm = 0xF4240
callq 0x65170
jmp 0x66aeb
leaq 0x2e0(%rsp), %rdi
callq 0x8858
leaq 0x2df(%rsp), %rdi
callq 0x83e0
leaq 0x308(%rsp), %rdi
callq 0x8858
leaq 0x307(%rsp), %rdi
callq 0x83e0
jmp 0x66c4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x66b8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
jmp 0x66b71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x530(%rsp)
movl %eax, 0x52c(%rsp)
leaq 0x2e0(%rsp), %rdi
callq 0x8858
leaq 0x2df(%rsp), %rdi
callq 0x83e0
leaq 0x308(%rsp), %rdi
callq 0x8858
leaq 0x307(%rsp), %rdi
callq 0x83e0
jmp 0x66e44
movq 0x378(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x560(%rsp), %rdi
addq $0xd8, %rdi
callq 0x8570
jmp 0x66bbf
jmp 0x66c4a
movq 0x560(%rsp), %rax
movb $0x1, 0x69(%rax)
jmp 0x66c4a
movq 0x30417(%rip), %rdi     # 0x96ff0
leaq 0x2fff0(%rip), %rsi     # 0x96bd0
movl $0x50, %edx
movl $0x32, %ecx
movl $0x4b, %r8d
callq 0xcd10
jmp 0x66bf7
xorl %edi, %edi
callq 0x84a0
movq 0x303eb(%rip), %rdi     # 0x96ff0
leaq 0x17ed3(%rip), %rsi     # 0x7eadf
callq 0x8360
movq %rax, 0x38(%rsp)
jmp 0x66c18
movq 0x38(%rsp), %rdi
movq 0x378(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0x8360
movq %rax, 0x30(%rsp)
jmp 0x66c35
movq 0x30(%rsp), %rdi
movq 0x3036f(%rip), %rsi     # 0x96fb0
callq 0x83b0
jmp 0x66c48
jmp 0x66c4a
jmp 0x66c4c
movl 0x384(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x384(%rsp)
jmp 0x667e6
movq 0x3a8(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpq $0x0, %rax
je 0x66c7f
movq 0x28(%rsp), %rdi
callq 0x8520
movq 0x3a0(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpq $0x0, %rax
je 0x66c9c
movq 0x20(%rsp), %rdi
callq 0x8520
jmp 0x66c9e
jmp 0x66ca0
jmp 0x66ca2
movq 0x560(%rsp), %rdi
addq $0x70, %rdi
callq 0x86e0
testb $0x1, %al
jne 0x66cb9
jmp 0x66cdb
movq 0x30310(%rip), %rax     # 0x96fd0
movq (%rax), %rdi
leaq 0x17e2d(%rip), %rsi     # 0x7eaf7
movb $0x0, %al
callq 0x85c0
movl $0x1, %edi
callq 0x84a0
movq 0x560(%rsp), %rax
cmpl $0x1, (%rax)
jne 0x66d14
movq 0x560(%rsp), %rax
cmpq $0x0, 0x118(%rax)
jne 0x66d12
movq 0x302cf(%rip), %rax     # 0x96fd0
movq (%rax), %rdi
leaq 0x17e33(%rip), %rsi     # 0x7eb3e
movb $0x0, %al
callq 0x85c0
jmp 0x66d14
movq 0x560(%rsp), %rax
cmpl $0x0, (%rax)
jne 0x66d95
movq 0x560(%rsp), %rdi
addq $0x48, %rdi
callq 0x86e0
testb $0x1, %al
jne 0x66d38
jmp 0x66d5a
movq 0x30291(%rip), %rax     # 0x96fd0
movq (%rax), %rdi
leaq 0x17e4d(%rip), %rsi     # 0x7eb96
movb $0x0, %al
callq 0x85c0
movl $0x1, %edi
callq 0x84a0
movq 0x560(%rsp), %rdi
addq $0x28, %rdi
callq 0x86e0
testb $0x1, %al
jne 0x66d71
jmp 0x66d93
movq 0x30258(%rip), %rax     # 0x96fd0
movq (%rax), %rdi
leaq 0x17e5d(%rip), %rsi     # 0x7ebdf
movb $0x0, %al
callq 0x85c0
movl $0x1, %edi
callq 0x84a0
jmp 0x66d95
movq 0x560(%rsp), %rax
cmpl $0x3, (%rax)
jne 0x66ddd
movq 0x560(%rsp), %rdi
addq $0x48, %rdi
callq 0x86e0
testb $0x1, %al
jne 0x66db9
jmp 0x66ddb
movq 0x30210(%rip), %rax     # 0x96fd0
movq (%rax), %rdi
leaq 0x17dcc(%rip), %rsi     # 0x7eb96
movb $0x0, %al
callq 0x85c0
movl $0x1, %edi
callq 0x84a0
jmp 0x66ddd
movq 0x560(%rsp), %rax
cmpl $0x1, (%rax)
je 0x66e2f
movq 0x560(%rsp), %rdi
addq $0xc0, %rdi
callq 0x709b0
testb $0x1, %al
jne 0x66e04
jmp 0x66e2f
movq 0x560(%rsp), %rdi
addq $0xc0, %rdi
movl $0x32, 0x2d8(%rsp)
leaq 0x2d8(%rsp), %rsi
callq 0x390d0
jmp 0x66e2d
jmp 0x66e2f
leaq 0x540(%rsp), %rdi
callq 0x8858
addq $0x578, %rsp            # imm = 0x578
retq
leaq 0x540(%rsp), %rdi
callq 0x8858
movq 0x530(%rsp), %rdi
callq 0x8730
nop