// File: zeeev[P]DASVC/bamtools/src/utils/bamtools_options.cpp
// Function: BamTools::Options::DisplayHelp()
void Options::DisplayHelp(void) {

    // initialize
    char argumentBuffer[ARGUMENT_LENGTH + 1];
    ostringstream sb;

    char indentBuffer[MAX_LINE_LENGTH - DESC_LENGTH + 1];
    memset(indentBuffer, ' ', MAX_LINE_LENGTH - DESC_LENGTH);
    indentBuffer[MAX_LINE_LENGTH - DESC_LENGTH] = 0;

    // display the menu
    printf("Description: %s.\n\n", m_description.c_str());
    printf("Usage: ");
    printf("%s", m_programName.c_str());
    printf(" %s\n\n", m_exampleArguments.c_str());

    vector<Option>::const_iterator      optionIter;
    vector<OptionGroup>::const_iterator groupIter;
    for (groupIter = m_optionGroups.begin(); groupIter != m_optionGroups.end(); ++groupIter) {
        
        printf("%s:\n", groupIter->Name.c_str());

        for (optionIter = groupIter->Options.begin(); optionIter != groupIter->Options.end(); ++optionIter) {

            if (optionIter->StoreValue) 
                snprintf(argumentBuffer, ARGUMENT_LENGTH + 1, "  %s <%s>", optionIter->Argument.c_str(), optionIter->ValueDescription.c_str());
            else 
                snprintf(argumentBuffer, ARGUMENT_LENGTH + 1, "  %s", optionIter->Argument.c_str());
            printf("%-35s ", argumentBuffer);

            string description = optionIter->Description;

            // handle default values
            if (optionIter->HasDefaultValue) {
                
                sb.str("");
                sb << description << " [";

                if (optionIter->DefaultValue.is_type<unsigned int>()) {
                    sb << (unsigned int)optionIter->DefaultValue;
                } else if (optionIter->DefaultValue.is_type<unsigned char>()) {
                    sb << (unsigned short)(unsigned char)optionIter->DefaultValue;
                } else if (optionIter->DefaultValue.is_type<float>()) {
                    sb << std::fixed << std::setprecision(2) << (float)optionIter->DefaultValue;
                } else if (optionIter->DefaultValue.is_type<double>()) {
                    sb << std::fixed << std::setprecision(4) << (double)optionIter->DefaultValue;
                } else if (optionIter->DefaultValue.is_type<std::string>()) {
                    const std::string stringValue = optionIter->DefaultValue;
                    sb << stringValue;
                } else {
                    printf("ERROR: Found an unsupported data type for argument %s when casting the default value.\n",
                           optionIter->Argument.c_str());
                    exit(1);
                }

                sb << "]";
                description = sb.str(); 
            }

            if ( description.size() <= DESC_LENGTH_FIRST_ROW ) {
                printf("%s\n", description.c_str());
            } else {

                // handle the first row
                const char* pDescription = description.data();
                unsigned int cutIndex = DESC_LENGTH_FIRST_ROW;
                while(pDescription[cutIndex] != ' ') 
                    cutIndex--;
                printf("%s\n", description.substr(0, cutIndex).c_str());
                description = description.substr(cutIndex + 1);

                // handle subsequent rows
                while(description.size() > DESC_LENGTH) {
                    pDescription = description.data();
                    cutIndex = DESC_LENGTH;
                    while(pDescription[cutIndex] != ' ') 
                        cutIndex--;
                    printf("%s%s\n", indentBuffer, description.substr(0, cutIndex).c_str());
                    description = description.substr(cutIndex + 1);
                }

                // handle last row
                printf("%s%s\n", indentBuffer, description.c_str());
            }                       
        }

        printf("\n");
    }

    printf("Help:\n"); 
    printf("  --help, -h                        shows this help text\n");
    exit(1);
}

// Assembly:
subq $0x528, %rsp            # imm = 0x528
leaq 0x388(%rsp), %rdi
callq 0x869d0
movaps 0x26b55(%rip), %xmm0    # 0x134000
movaps %xmm0, 0x370(%rsp)
movaps %xmm0, 0x360(%rsp)
movl $0x20202020, 0x380(%rsp) # imm = 0x20202020
movb $0x0, 0x384(%rsp)
leaq 0x592bb(%rip), %rdi     # 0x166790
callq 0x86320
movq %rax, 0x1f0(%rsp)
jmp 0x10d4e4
movq 0x1f0(%rsp), %rsi
leaq 0x26b2a(%rip), %rdi     # 0x13401d
xorl %eax, %eax
callq 0x86080
jmp 0x10d4fc
leaq 0x26b2d(%rip), %rdi     # 0x134030
xorl %eax, %eax
callq 0x86080
jmp 0x10d50c
leaq 0x5925d(%rip), %rdi     # 0x166770
callq 0x86320
movq %rax, 0x1e8(%rsp)
jmp 0x10d522
movq 0x1e8(%rsp), %rsi
leaq 0x26b1e(%rip), %rdi     # 0x13404f
xorl %eax, %eax
callq 0x86080
jmp 0x10d53a
leaq 0x5926f(%rip), %rdi     # 0x1667b0
callq 0x86320
movq %rax, 0x1e0(%rsp)
jmp 0x10d550
movq 0x1e0(%rsp), %rsi
leaq 0x26ad9(%rip), %rdi     # 0x134038
xorl %eax, %eax
callq 0x86080
jmp 0x10d568
leaq 0x348(%rsp), %rdi
callq 0x10f4c0
jmp 0x10d577
leaq 0x340(%rsp), %rdi
callq 0x10f4e0
jmp 0x10d586
leaq 0x59243(%rip), %rdi     # 0x1667d0
callq 0x10f500
movq %rax, 0x1d8(%rsp)
jmp 0x10d59c
movq 0x1d8(%rsp), %rax
movq %rax, 0x330(%rsp)
leaq 0x338(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x10f530
jmp 0x10d5c3
movq 0x338(%rsp), %rax
movq %rax, 0x340(%rsp)
leaq 0x591f6(%rip), %rdi     # 0x1667d0
callq 0x10f5b0
movq %rax, 0x1d0(%rsp)
jmp 0x10d5e9
movq 0x1d0(%rsp), %rax
movq %rax, 0x328(%rsp)
leaq 0x340(%rsp), %rdi
leaq 0x328(%rsp), %rsi
callq 0x10f570
movb %al, 0x1cf(%rsp)
jmp 0x10d617
movb 0x1cf(%rsp), %al
testb $0x1, %al
jne 0x10d627
jmp 0x10e20b
leaq 0x340(%rsp), %rdi
callq 0x10f5e0
movq %rax, 0x1c0(%rsp)
jmp 0x10d63e
movq 0x1c0(%rsp), %rdi
callq 0x86320
movq %rax, 0x1b8(%rsp)
jmp 0x10d655
movq 0x1b8(%rsp), %rsi
leaq 0x269da(%rip), %rdi     # 0x13403e
xorl %eax, %eax
callq 0x86080
jmp 0x10d66d
leaq 0x340(%rsp), %rdi
callq 0x10f5e0
movq %rax, 0x1b0(%rsp)
jmp 0x10d684
movq 0x1b0(%rsp), %rdi
addq $0x20, %rdi
callq 0x10f5f0
movq %rax, 0x1a8(%rsp)
jmp 0x10d69f
movq 0x1a8(%rsp), %rax
movq %rax, 0x320(%rsp)
movq 0x320(%rsp), %rax
movq %rax, 0x348(%rsp)
leaq 0x340(%rsp), %rdi
callq 0x10f5e0
movq %rax, 0x1a0(%rsp)
jmp 0x10d6d6
movq 0x1a0(%rsp), %rdi
addq $0x20, %rdi
callq 0x10f660
movq %rax, 0x198(%rsp)
jmp 0x10d6f1
movq 0x198(%rsp), %rax
movq %rax, 0x318(%rsp)
leaq 0x348(%rsp), %rdi
leaq 0x318(%rsp), %rsi
callq 0x10f620
movb %al, 0x197(%rsp)
jmp 0x10d71f
movb 0x197(%rsp), %al
testb $0x1, %al
jne 0x10d72f
jmp 0x10e1e5
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x188(%rsp)
jmp 0x10d746
movq 0x188(%rsp), %rax
testb $0x1, 0x60(%rax)
je 0x10d80e
leaq 0x500(%rsp), %rax
movq %rax, 0x178(%rsp)
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x180(%rsp)
jmp 0x10d77f
movq 0x180(%rsp), %rdi
callq 0x86320
movq %rax, 0x170(%rsp)
jmp 0x10d796
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x168(%rsp)
jmp 0x10d7ad
movq 0x168(%rsp), %rdi
addq $0x20, %rdi
callq 0x86320
movq %rax, 0x160(%rsp)
jmp 0x10d7c8
movq 0x160(%rsp), %r8
movq 0x170(%rsp), %rcx
movq 0x178(%rsp), %rdi
movl $0x24, %esi
leaq 0x26857(%rip), %rdx     # 0x134043
movb $0x0, %al
callq 0x86bf0
jmp 0x10d86f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
jmp 0x10e235
leaq 0x500(%rsp), %rax
movq %rax, 0x150(%rsp)
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x158(%rsp)
jmp 0x10d835
movq 0x158(%rsp), %rdi
callq 0x86320
movq %rax, 0x148(%rsp)
jmp 0x10d84c
movq 0x148(%rsp), %rcx
movq 0x150(%rsp), %rdi
movl $0x24, %esi
leaq 0x267e5(%rip), %rdx     # 0x13404d
movb $0x0, %al
callq 0x86bf0
leaq 0x267dc(%rip), %rdi     # 0x134052
xorl %eax, %eax
leaq 0x500(%rsp), %rsi
callq 0x86080
jmp 0x10d887
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x140(%rsp)
jmp 0x10d89e
movq 0x140(%rsp), %rsi
addq $0x40, %rsi
leaq 0x2f8(%rsp), %rdi
callq 0x86350
jmp 0x10d8b9
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x138(%rsp)
jmp 0x10d8d0
movq 0x138(%rsp), %rax
testb $0x1, 0x61(%rax)
je 0x10de4a
leaq 0x2d7(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x86da0
movq 0x130(%rsp), %rdx
leaq 0x2736d(%rip), %rsi     # 0x134c73
leaq 0x2d8(%rsp), %rdi
callq 0x86a00
jmp 0x10d915
leaq 0x388(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
callq 0x863a0
jmp 0x10d92c
leaq 0x2d8(%rsp), %rdi
callq 0x86f68
jmp 0x10d93b
leaq 0x2d7(%rsp), %rdi
callq 0x867b0
leaq 0x388(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
callq 0x86640
movq %rax, 0x128(%rsp)
jmp 0x10d967
movq 0x128(%rsp), %rdi
leaq 0x266e3(%rip), %rsi     # 0x134059
callq 0x86700
jmp 0x10d97d
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x120(%rsp)
jmp 0x10d994
movq 0x120(%rsp), %rdi
addq $0x68, %rdi
callq 0xbadb0
movb %al, 0x11f(%rsp)
jmp 0x10d9ae
movb 0x11f(%rsp), %al
testb $0x1, %al
jne 0x10d9be
jmp 0x10da70
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x110(%rsp)
jmp 0x10d9d5
movq 0x110(%rsp), %rdi
addq $0x68, %rdi
callq 0x10f6a0
movl %eax, 0x10c(%rsp)
jmp 0x10d9ef
movl 0x10c(%rsp), %esi
leaq 0x388(%rsp), %rdi
callq 0x869c0
jmp 0x10da05
jmp 0x10ddcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
jmp 0x10e1d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
jmp 0x10da5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
leaq 0x2d8(%rsp), %rdi
callq 0x86f68
jmp 0x10da5c
jmp 0x10da5e
leaq 0x2d7(%rsp), %rdi
callq 0x867b0
jmp 0x10e1d4
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x100(%rsp)
jmp 0x10da87
movq 0x100(%rsp), %rdi
addq $0x68, %rdi
callq 0x10f6c0
movb %al, 0xff(%rsp)
jmp 0x10daa1
movb 0xff(%rsp), %al
testb $0x1, %al
jne 0x10daae
jmp 0x10dafd
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0xf0(%rsp)
jmp 0x10dac5
movq 0xf0(%rsp), %rdi
addq $0x68, %rdi
callq 0x10f700
movb %al, 0xef(%rsp)
jmp 0x10dadf
movb 0xef(%rsp), %al
movzbl %al, %esi
leaq 0x388(%rsp), %rdi
callq 0x86cb0
jmp 0x10daf8
jmp 0x10ddcb
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0xe0(%rsp)
jmp 0x10db14
movq 0xe0(%rsp), %rdi
addq $0x68, %rdi
callq 0xbe930
movb %al, 0xdf(%rsp)
jmp 0x10db2e
movb 0xdf(%rsp), %al
testb $0x1, %al
jne 0x10db3e
jmp 0x10dbeb
leaq 0x1bdb(%rip), %rsi      # 0x10f720
leaq 0x388(%rsp), %rdi
callq 0x86290
movq %rax, 0xd0(%rsp)
jmp 0x10db5c
movl $0x2, %edi
callq 0x10f740
movl %eax, 0xcc(%rsp)
jmp 0x10db6f
movq 0xd0(%rsp), %rdi
movl 0xcc(%rsp), %eax
movl %eax, 0x2d0(%rsp)
movl 0x2d0(%rsp), %esi
callq 0x86bc0
movq %rax, 0xc0(%rsp)
jmp 0x10db9b
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0xb8(%rsp)
jmp 0x10dbb2
movq 0xb8(%rsp), %rdi
addq $0x68, %rdi
callq 0x10f760
movss %xmm0, 0xb4(%rsp)
jmp 0x10dbce
movss 0xb4(%rsp), %xmm0
movq 0xc0(%rsp), %rdi
callq 0x86570
jmp 0x10dbe6
jmp 0x10ddc9
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0xa8(%rsp)
jmp 0x10dc02
movq 0xa8(%rsp), %rdi
addq $0x68, %rdi
callq 0x10f780
movb %al, 0xa7(%rsp)
jmp 0x10dc1c
movb 0xa7(%rsp), %al
testb $0x1, %al
jne 0x10dc2c
jmp 0x10dcd3
leaq 0x1aed(%rip), %rsi      # 0x10f720
leaq 0x388(%rsp), %rdi
callq 0x86290
movq %rax, 0x98(%rsp)
jmp 0x10dc4a
movl $0x4, %edi
callq 0x10f740
movl %eax, 0x94(%rsp)
jmp 0x10dc5d
movq 0x98(%rsp), %rdi
movl 0x94(%rsp), %eax
movl %eax, 0x2cc(%rsp)
movl 0x2cc(%rsp), %esi
callq 0x86bc0
movq %rax, 0x88(%rsp)
jmp 0x10dc89
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x80(%rsp)
jmp 0x10dca0
movq 0x80(%rsp), %rdi
addq $0x68, %rdi
callq 0x10f7c0
movsd %xmm0, 0x78(%rsp)
jmp 0x10dcb9
movsd 0x78(%rsp), %xmm0
movq 0x88(%rsp), %rdi
callq 0x86eb0
jmp 0x10dcce
jmp 0x10ddc7
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x70(%rsp)
jmp 0x10dce7
movq 0x70(%rsp), %rdi
addq $0x68, %rdi
callq 0xa9640
movb %al, 0x6f(%rsp)
jmp 0x10dcfb
movb 0x6f(%rsp), %al
testb $0x1, %al
jne 0x10dd05
jmp 0x10dd81
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x60(%rsp)
jmp 0x10dd19
movq 0x60(%rsp), %rsi
addq $0x68, %rsi
leaq 0x2a8(%rsp), %rdi
callq 0x10f7e0
jmp 0x10dd31
leaq 0x388(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x86640
jmp 0x10dd48
leaq 0x2a8(%rsp), %rdi
callq 0x86f68
jmp 0x10dd57
jmp 0x10ddc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
leaq 0x2a8(%rsp), %rdi
callq 0x86f68
jmp 0x10dd7c
jmp 0x10e1d4
leaq 0x348(%rsp), %rdi
callq 0x10f690
movq %rax, 0x58(%rsp)
jmp 0x10dd95
movq 0x58(%rsp), %rdi
callq 0x86320
movq %rax, 0x50(%rsp)
jmp 0x10dda6
movq 0x50(%rsp), %rsi
leaq 0x262aa(%rip), %rdi     # 0x13405c
xorl %eax, %eax
callq 0x86080
jmp 0x10ddbb
movl $0x1, %edi
callq 0x868d0
jmp 0x10ddc7
jmp 0x10ddc9
jmp 0x10ddcb
jmp 0x10ddcd
leaq 0x2199d(%rip), %rsi     # 0x12f771
leaq 0x388(%rsp), %rdi
callq 0x86700
jmp 0x10dde3
leaq 0x288(%rsp), %rdi
leaq 0x388(%rsp), %rsi
callq 0x86740
jmp 0x10ddfa
leaq 0x2f8(%rsp), %rdi
leaq 0x288(%rsp), %rsi
callq 0x86070
jmp 0x10de11
leaq 0x288(%rsp), %rdi
callq 0x86f68
jmp 0x10de20
jmp 0x10de4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
leaq 0x288(%rsp), %rdi
callq 0x86f68
jmp 0x10de45
jmp 0x10e1d4
leaq 0x2f8(%rsp), %rdi
callq 0x86500
movq %rax, 0x48(%rsp)
jmp 0x10de5e
movq 0x48(%rsp), %rax
cmpq $0x1e, %rax
ja 0x10de97
leaq 0x2f8(%rsp), %rdi
callq 0x86320
movq %rax, 0x40(%rsp)
jmp 0x10de7d
movq 0x40(%rsp), %rsi
leaq 0x2622c(%rip), %rdi     # 0x1340b5
xorl %eax, %eax
callq 0x86080
jmp 0x10de92
jmp 0x10e1af
leaq 0x2f8(%rsp), %rdi
callq 0x86940
movq %rax, 0x38(%rsp)
jmp 0x10deab
movq 0x38(%rsp), %rax
movq %rax, 0x280(%rsp)
movl $0x1e, 0x27c(%rsp)
movq 0x280(%rsp), %rax
movl 0x27c(%rsp), %ecx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x10deee
movl 0x27c(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x27c(%rsp)
jmp 0x10dec3
movl 0x27c(%rsp), %eax
movl %eax, %ecx
xorl %eax, %eax
movl %eax, %edx
leaq 0x258(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
callq 0x86750
jmp 0x10df12
leaq 0x258(%rsp), %rdi
callq 0x86320
movq %rax, 0x30(%rsp)
jmp 0x10df26
movq 0x30(%rsp), %rsi
leaq 0x26183(%rip), %rdi     # 0x1340b5
xorl %eax, %eax
callq 0x86080
jmp 0x10df3b
leaq 0x258(%rsp), %rdi
callq 0x86f68
jmp 0x10df4a
movl 0x27c(%rsp), %eax
incl %eax
movl %eax, %edx
leaq 0x238(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
movq $-0x1, %rcx
callq 0x86750
jmp 0x10df73
leaq 0x2f8(%rsp), %rdi
leaq 0x238(%rsp), %rsi
callq 0x86070
jmp 0x10df8a
leaq 0x238(%rsp), %rdi
callq 0x86f68
jmp 0x10df99
jmp 0x10df9b
leaq 0x2f8(%rsp), %rdi
callq 0x86500
movq %rax, 0x28(%rsp)
jmp 0x10dfaf
movq 0x28(%rsp), %rax
cmpq $0x2a, %rax
jbe 0x10e174
leaq 0x2f8(%rsp), %rdi
callq 0x86940
movq %rax, 0x20(%rsp)
jmp 0x10dfd2
movq 0x20(%rsp), %rax
movq %rax, 0x280(%rsp)
movl $0x2a, 0x27c(%rsp)
movq 0x280(%rsp), %rax
movl 0x27c(%rsp), %ecx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x10e065
movl 0x27c(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x27c(%rsp)
jmp 0x10dfea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
leaq 0x258(%rsp), %rdi
callq 0x86f68
jmp 0x10e038
jmp 0x10e1d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
leaq 0x238(%rsp), %rdi
callq 0x86f68
jmp 0x10e060
jmp 0x10e1d4
leaq 0x360(%rsp), %rax
movq %rax, 0x18(%rsp)
movl 0x27c(%rsp), %eax
movl %eax, %ecx
xorl %eax, %eax
movl %eax, %edx
leaq 0x218(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
callq 0x86750
jmp 0x10e096
leaq 0x218(%rsp), %rdi
callq 0x86320
movq %rax, 0x10(%rsp)
jmp 0x10e0aa
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rsi
leaq 0x25ff8(%rip), %rdi     # 0x1340b3
xorl %eax, %eax
callq 0x86080
jmp 0x10e0c4
leaq 0x218(%rsp), %rdi
callq 0x86f68
jmp 0x10e0d3
movl 0x27c(%rsp), %eax
incl %eax
movl %eax, %edx
leaq 0x1f8(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
movq $-0x1, %rcx
callq 0x86750
jmp 0x10e0fc
leaq 0x2f8(%rsp), %rdi
leaq 0x1f8(%rsp), %rsi
callq 0x86070
jmp 0x10e113
leaq 0x1f8(%rsp), %rdi
callq 0x86f68
jmp 0x10e122
jmp 0x10df9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
leaq 0x218(%rsp), %rdi
callq 0x86f68
jmp 0x10e14a
jmp 0x10e1d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x358(%rsp)
movl %eax, 0x354(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0x86f68
jmp 0x10e172
jmp 0x10e1d4
leaq 0x360(%rsp), %rax
movq %rax, (%rsp)
leaq 0x2f8(%rsp), %rdi
callq 0x86320
movq %rax, 0x8(%rsp)
jmp 0x10e194
movq 0x8(%rsp), %rdx
movq (%rsp), %rsi
leaq 0x25f0f(%rip), %rdi     # 0x1340b3
xorl %eax, %eax
callq 0x86080
jmp 0x10e1ad
jmp 0x10e1af
leaq 0x2f8(%rsp), %rdi
callq 0x86f68
jmp 0x10e1be
jmp 0x10e1c0
leaq 0x348(%rsp), %rdi
callq 0x10f830
jmp 0x10e1cf
jmp 0x10d6bf
leaq 0x2f8(%rsp), %rdi
callq 0x86f68
jmp 0x10e1e3
jmp 0x10e235
leaq 0x22606(%rip), %rdi     # 0x1307f2
xorl %eax, %eax
callq 0x86080
jmp 0x10e1f5
jmp 0x10e1f7
leaq 0x340(%rsp), %rdi
callq 0x10f850
jmp 0x10e206
jmp 0x10d5d3
leaq 0x25ea7(%rip), %rdi     # 0x1340b9
xorl %eax, %eax
callq 0x86080
jmp 0x10e21b
leaq 0x25e9e(%rip), %rdi     # 0x1340c0
xorl %eax, %eax
callq 0x86080
jmp 0x10e22b
movl $0x1, %edi
callq 0x868d0
leaq 0x388(%rsp), %rdi
callq 0x861b0
jmp 0x10e244
jmp 0x10e246
movq 0x358(%rsp), %rdi
callq 0x86d80
movq %rax, %rdi
callq 0x91290
nopl (%rax,%rax)