// File: zeeev[P]DASVC/bamtools/src/toolkit/bamtools_random.cpp
// Function: BamTools::RandomTool::RandomTool()
RandomTool::RandomTool(void) 
    : AbstractTool()
    , m_settings(new RandomSettings)
    , m_impl(0)
{ 
    // set program details
    Options::SetProgramInfo("bamtools random", "grab a random subset of alignments",
                            "[-in <filename> -in <filename> ... | -list <filelist>] [-out <filename>] [-forceCompression] [-n] [-region <REGION>]");
    
    // set up options 
    OptionGroup* IO_Opts = Options::CreateOptionGroup("Input & Output");
    Options::AddValueOption("-in",     "BAM filename", "the input BAM file",                         "", m_settings->HasInput,          m_settings->InputFiles,     IO_Opts, Options::StandardIn());
    Options::AddValueOption("-list",   "filename",     "the input BAM file list, one line per file", "", m_settings->HasInputFilelist,  m_settings->InputFilelist,  IO_Opts);
    Options::AddValueOption("-out",    "BAM filename", "the output BAM file",                        "", m_settings->HasOutput,         m_settings->OutputFilename, IO_Opts, Options::StandardOut());
    Options::AddValueOption("-region", "REGION",       "only pull random alignments from within this genomic region. Index file is recommended for better performance, and is used automatically if it exists. See \'bamtools help index\' for more details on creating one", "", m_settings->HasRegion, m_settings->Region, IO_Opts);
    Options::AddOption("-forceCompression", "if results are sent to stdout (like when piping to another tool), default behavior is to leave output uncompressed. Use this flag to override and force compression", m_settings->IsForceCompression, IO_Opts);
    
    OptionGroup* SettingsOpts = Options::CreateOptionGroup("Settings");
    Options::AddValueOption("-n", "count", "number of alignments to grab. Note - no duplicate checking is performed", "",
                            m_settings->HasAlignmentCount, m_settings->AlignmentCount, SettingsOpts, RANDOM_MAX_ALIGNMENT_COUNT);
    Options::AddValueOption("-seed", "unsigned integer", "random number generator seed (for repeatable results). Current time is used if no seed value is provided.", "",
                            m_settings->HasRandomNumberSeed, m_settings->RandomNumberSeed, SettingsOpts);
}

// Assembly:
subq $0x678, %rsp            # imm = 0x678
movq %rdi, 0x670(%rsp)
movq 0x670(%rsp), %rdi
movq %rdi, 0x160(%rsp)
callq 0x91a20
movq 0x160(%rsp), %rax
leaq 0x9f445(%rip), %rcx     # 0x164a48
movq %rcx, (%rax)
addq $0x8, %rax
movq %rax, 0x168(%rsp)
movl $0x90, %edi
callq 0x86720
movq %rax, 0x170(%rsp)
jmp 0xc5626
movq 0x170(%rsp), %rdi
callq 0xc6d00
jmp 0xc5635
movq 0x160(%rsp), %rax
movq 0x168(%rsp), %rcx
movq 0x170(%rsp), %rdx
movq %rdx, (%rcx)
movq $0x0, 0x10(%rax)
leaq 0x63f(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0x86da0
movq 0x158(%rsp), %rdx
leaq 0x6af01(%rip), %rsi     # 0x13057d
leaq 0x640(%rsp), %rdi
callq 0x86a00
jmp 0xc568b
leaq 0x617(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x86da0
movq 0x150(%rsp), %rdx
leaq 0x6aede(%rip), %rsi     # 0x13058d
leaq 0x618(%rsp), %rdi
callq 0x86a00
jmp 0xc56be
leaq 0x5ef(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0x86da0
movq 0x148(%rsp), %rdx
leaq 0x6aece(%rip), %rsi     # 0x1305b0
leaq 0x5f0(%rsp), %rdi
callq 0x86a00
jmp 0xc56f1
leaq 0x640(%rsp), %rdi
leaq 0x618(%rsp), %rsi
leaq 0x5f0(%rsp), %rdx
callq 0x10f230
jmp 0xc5710
leaq 0x5f0(%rsp), %rdi
callq 0x86f68
jmp 0xc571f
leaq 0x5ef(%rsp), %rdi
callq 0x867b0
leaq 0x618(%rsp), %rdi
callq 0x86f68
jmp 0xc573b
leaq 0x617(%rsp), %rdi
callq 0x867b0
leaq 0x640(%rsp), %rdi
callq 0x86f68
jmp 0xc5757
leaq 0x63f(%rsp), %rdi
callq 0x867b0
leaq 0x5bf(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x86da0
movq 0x140(%rsp), %rdx
leaq 0x68ee3(%rip), %rsi     # 0x12e66b
leaq 0x5c0(%rsp), %rdi
callq 0x86a00
jmp 0xc5797
leaq 0x5c0(%rsp), %rdi
callq 0x10d3e0
movq %rax, 0x138(%rsp)
jmp 0xc57ae
leaq 0x5c0(%rsp), %rdi
callq 0x86f68
jmp 0xc57bd
leaq 0x5bf(%rsp), %rdi
callq 0x867b0
movq 0x138(%rsp), %rax
movq %rax, 0x5e0(%rsp)
leaq 0x597(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x86da0
movq 0x130(%rsp), %rdx
leaq 0x68e7c(%rip), %rsi     # 0x12e67a
leaq 0x598(%rsp), %rdi
callq 0x86a00
jmp 0xc580d
leaq 0x56f(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0x86da0
movq 0x128(%rsp), %rdx
leaq 0x68e4d(%rip), %rsi     # 0x12e67e
leaq 0x570(%rsp), %rdi
callq 0x86a00
jmp 0xc5840
leaq 0x547(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x86da0
movq 0x120(%rsp), %rdx
leaq 0x6e0d0(%rip), %rsi     # 0x133934
leaq 0x548(%rsp), %rdi
callq 0x86a00
jmp 0xc5873
leaq 0x51f(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0x86da0
movq 0x118(%rsp), %rdx
leaq 0x6f3dc(%rip), %rsi     # 0x134c73
leaq 0x520(%rsp), %rdi
callq 0x86a00
jmp 0xc58a6
movq 0x160(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0xf8(%rsp)
addq $0x10, %rax
movq %rax, 0x100(%rsp)
movq 0x5e0(%rsp), %rax
movq %rax, 0x108(%rsp)
callq 0x10f280
movq %rax, 0x110(%rsp)
jmp 0xc58eb
movq 0x100(%rsp), %r9
movq 0xf8(%rsp), %r8
movq 0x108(%rsp), %rcx
movq 0x110(%rsp), %rdx
movq %rsp, %rax
movq %rdx, 0x8(%rax)
movq %rcx, (%rax)
leaq 0x598(%rsp), %rdi
leaq 0x570(%rsp), %rsi
leaq 0x548(%rsp), %rdx
leaq 0x520(%rsp), %rcx
callq 0x91bf0
jmp 0xc593c
leaq 0x520(%rsp), %rdi
callq 0x86f68
jmp 0xc594b
leaq 0x51f(%rsp), %rdi
callq 0x867b0
leaq 0x548(%rsp), %rdi
callq 0x86f68
jmp 0xc5967
leaq 0x547(%rsp), %rdi
callq 0x867b0
leaq 0x570(%rsp), %rdi
callq 0x86f68
jmp 0xc5983
leaq 0x56f(%rsp), %rdi
callq 0x867b0
leaq 0x598(%rsp), %rdi
callq 0x86f68
jmp 0xc599f
leaq 0x597(%rsp), %rdi
callq 0x867b0
leaq 0x4f7(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x86da0
movq 0xf0(%rsp), %rdx
leaq 0x68cd1(%rip), %rsi     # 0x12e6a1
leaq 0x4f8(%rsp), %rdi
callq 0x86a00
jmp 0xc59df
leaq 0x4cf(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x86da0
movq 0xe8(%rsp), %rdx
leaq 0x68d5d(%rip), %rsi     # 0x12e760
leaq 0x4d0(%rsp), %rdi
callq 0x86a00
jmp 0xc5a12
leaq 0x4a7(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x86da0
movq 0xe0(%rsp), %rdx
leaq 0x68c71(%rip), %rsi     # 0x12e6a7
leaq 0x4a8(%rsp), %rdi
callq 0x86a00
jmp 0xc5a45
leaq 0x47f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x86da0
movq 0xd8(%rsp), %rdx
leaq 0x6f20a(%rip), %rsi     # 0x134c73
leaq 0x480(%rsp), %rdi
callq 0x86a00
jmp 0xc5a78
movq 0x160(%rsp), %rax
movq 0x8(%rax), %r9
movq %r9, %r8
addq $0x2, %r8
addq $0x28, %r9
movq 0x5e0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq 0x4f8(%rsp), %rdi
leaq 0x4d0(%rsp), %rsi
leaq 0x4a8(%rsp), %rdx
leaq 0x480(%rsp), %rcx
callq 0x91f00
jmp 0xc5ac4
leaq 0x480(%rsp), %rdi
callq 0x86f68
jmp 0xc5ad3
leaq 0x47f(%rsp), %rdi
callq 0x867b0
leaq 0x4a8(%rsp), %rdi
callq 0x86f68
jmp 0xc5aef
leaq 0x4a7(%rsp), %rdi
callq 0x867b0
leaq 0x4d0(%rsp), %rdi
callq 0x86f68
jmp 0xc5b0b
leaq 0x4cf(%rsp), %rdi
callq 0x867b0
leaq 0x4f8(%rsp), %rdi
callq 0x86f68
jmp 0xc5b27
leaq 0x4f7(%rsp), %rdi
callq 0x867b0
leaq 0x457(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x86da0
movq 0xd0(%rsp), %rdx
leaq 0x68b7a(%rip), %rsi     # 0x12e6d2
leaq 0x458(%rsp), %rdi
callq 0x86a00
jmp 0xc5b67
leaq 0x42f(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x86da0
movq 0xc8(%rsp), %rdx
leaq 0x68af3(%rip), %rsi     # 0x12e67e
leaq 0x430(%rsp), %rdi
callq 0x86a00
jmp 0xc5b9a
leaq 0x407(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x86da0
movq 0xc0(%rsp), %rdx
leaq 0x68b19(%rip), %rsi     # 0x12e6d7
leaq 0x408(%rsp), %rdi
callq 0x86a00
jmp 0xc5bcd
leaq 0x3df(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x86da0
movq 0xb8(%rsp), %rdx
leaq 0x6f082(%rip), %rsi     # 0x134c73
leaq 0x3e0(%rsp), %rdi
callq 0x86a00
jmp 0xc5c00
movq 0x160(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, %rcx
addq $0x3, %rcx
movq %rcx, 0x98(%rsp)
addq $0x48, %rax
movq %rax, 0xa0(%rsp)
movq 0x5e0(%rsp), %rax
movq %rax, 0xa8(%rsp)
callq 0x10f290
movq %rax, 0xb0(%rsp)
jmp 0xc5c46
movq 0xa0(%rsp), %r9
movq 0x98(%rsp), %r8
movq 0xa8(%rsp), %rcx
movq 0xb0(%rsp), %rdx
movq %rsp, %rax
movq %rdx, 0x8(%rax)
movq %rcx, (%rax)
leaq 0x458(%rsp), %rdi
leaq 0x430(%rsp), %rsi
leaq 0x408(%rsp), %rdx
leaq 0x3e0(%rsp), %rcx
callq 0x92150
jmp 0xc5c97
leaq 0x3e0(%rsp), %rdi
callq 0x86f68
jmp 0xc5ca6
leaq 0x3df(%rsp), %rdi
callq 0x867b0
leaq 0x408(%rsp), %rdi
callq 0x86f68
jmp 0xc5cc2
leaq 0x407(%rsp), %rdi
callq 0x867b0
leaq 0x430(%rsp), %rdi
callq 0x86f68
jmp 0xc5cde
leaq 0x42f(%rsp), %rdi
callq 0x867b0
leaq 0x458(%rsp), %rdi
callq 0x86f68
jmp 0xc5cfa
leaq 0x457(%rsp), %rdi
callq 0x867b0
leaq 0x3b7(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x86da0
movq 0x90(%rsp), %rdx
leaq 0x68a0a(%rip), %rsi     # 0x12e735
leaq 0x3b8(%rsp), %rdi
callq 0x86a00
jmp 0xc5d3a
leaq 0x38f(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x86da0
movq 0x88(%rsp), %rdx
leaq 0x689df(%rip), %rsi     # 0x12e73d
leaq 0x390(%rsp), %rdi
callq 0x86a00
jmp 0xc5d6d
leaq 0x367(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x86da0
movq 0x80(%rsp), %rdx
leaq 0x6a894(%rip), %rsi     # 0x130625
leaq 0x368(%rsp), %rdi
callq 0x86a00
jmp 0xc5da0
leaq 0x33f(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x86da0
movq 0x78(%rsp), %rdx
leaq 0x6eeb5(%rip), %rsi     # 0x134c73
leaq 0x340(%rsp), %rdi
callq 0x86a00
jmp 0xc5dcd
movq 0x160(%rsp), %rax
movq 0x8(%rax), %r9
movq %r9, %r8
addq $0x5, %r8
addq $0x70, %r9
movq 0x5e0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq 0x3b8(%rsp), %rdi
leaq 0x390(%rsp), %rsi
leaq 0x368(%rsp), %rdx
leaq 0x340(%rsp), %rcx
callq 0x91f00
jmp 0xc5e19
leaq 0x340(%rsp), %rdi
callq 0x86f68
jmp 0xc5e28
leaq 0x33f(%rsp), %rdi
callq 0x867b0
leaq 0x368(%rsp), %rdi
callq 0x86f68
jmp 0xc5e44
leaq 0x367(%rsp), %rdi
callq 0x867b0
leaq 0x390(%rsp), %rdi
callq 0x86f68
jmp 0xc5e60
leaq 0x38f(%rsp), %rdi
callq 0x867b0
leaq 0x3b8(%rsp), %rdi
callq 0x86f68
jmp 0xc5e7c
leaq 0x3b7(%rsp), %rdi
callq 0x867b0
leaq 0x317(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x86da0
movq 0x70(%rsp), %rdx
leaq 0x69a25(%rip), %rsi     # 0x12f8cc
leaq 0x318(%rsp), %rdi
callq 0x86a00
jmp 0xc5eb6
leaq 0x2ef(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x86da0
movq 0x68(%rsp), %rdx
leaq 0x6994c(%rip), %rsi     # 0x12f820
leaq 0x2f0(%rsp), %rdi
callq 0x86a00
jmp 0xc5ee3
movq 0x160(%rsp), %rax
movq 0x8(%rax), %rdx
addq $0x6, %rdx
movq 0x5e0(%rsp), %rcx
leaq 0x318(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0x10d2a0
jmp 0xc5f12
leaq 0x2f0(%rsp), %rdi
callq 0x86f68
jmp 0xc5f21
leaq 0x2ef(%rsp), %rdi
callq 0x867b0
leaq 0x318(%rsp), %rdi
callq 0x86f68
jmp 0xc5f3d
leaq 0x317(%rsp), %rdi
callq 0x867b0
leaq 0x2bf(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x86da0
movq 0x60(%rsp), %rdx
leaq 0x6c4ca(%rip), %rsi     # 0x132432
leaq 0x2c0(%rsp), %rdi
callq 0x86a00
jmp 0xc5f77
leaq 0x2c0(%rsp), %rdi
callq 0x10d3e0
movq %rax, 0x58(%rsp)
jmp 0xc5f8b
leaq 0x2c0(%rsp), %rdi
callq 0x86f68
jmp 0xc5f9a
leaq 0x2bf(%rsp), %rdi
callq 0x867b0
movq 0x58(%rsp), %rax
movq %rax, 0x2e0(%rsp)
leaq 0x297(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x86da0
movq 0x50(%rsp), %rdx
leaq 0x6a725(%rip), %rsi     # 0x1306f7
leaq 0x298(%rsp), %rdi
callq 0x86a00
jmp 0xc5fe1
leaq 0x26f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x86da0
movq 0x48(%rsp), %rdx
leaq 0x68ab5(%rip), %rsi     # 0x12eab4
leaq 0x270(%rsp), %rdi
callq 0x86a00
jmp 0xc600e
leaq 0x247(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x86da0
movq 0x40(%rsp), %rdx
leaq 0x6a6ce(%rip), %rsi     # 0x1306fa
leaq 0x248(%rsp), %rdi
callq 0x86a00
jmp 0xc603b
leaq 0x21f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x86da0
movq 0x38(%rsp), %rdx
leaq 0x6ec1a(%rip), %rsi     # 0x134c73
leaq 0x220(%rsp), %rdi
callq 0x86a00
jmp 0xc6068
movq 0x160(%rsp), %rax
movq 0x8(%rax), %r8
movq %r8, %r9
addq $0x8, %r9
movq 0x2e0(%rsp), %rcx
leaq 0x6a72a(%rip), %rdx     # 0x1307b4
movq %rsp, %rax
movq %rdx, 0x8(%rax)
movq %rcx, (%rax)
leaq 0x298(%rsp), %rdi
leaq 0x270(%rsp), %rsi
leaq 0x248(%rsp), %rdx
leaq 0x220(%rsp), %rcx
callq 0xc6e10
jmp 0xc60bb
leaq 0x220(%rsp), %rdi
callq 0x86f68
jmp 0xc60ca
leaq 0x21f(%rsp), %rdi
callq 0x867b0
leaq 0x248(%rsp), %rdi
callq 0x86f68
jmp 0xc60e6
leaq 0x247(%rsp), %rdi
callq 0x867b0
leaq 0x270(%rsp), %rdi
callq 0x86f68
jmp 0xc6102
leaq 0x26f(%rsp), %rdi
callq 0x867b0
leaq 0x298(%rsp), %rdi
callq 0x86f68
jmp 0xc611e
leaq 0x297(%rsp), %rdi
callq 0x867b0
leaq 0x1f7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x86da0
movq 0x30(%rsp), %rdx
leaq 0x6a5f9(%rip), %rsi     # 0x130742
leaq 0x1f8(%rsp), %rdi
callq 0x86a00
jmp 0xc6158
leaq 0x1cf(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x86da0
movq 0x28(%rsp), %rdx
leaq 0x6e9dc(%rip), %rsi     # 0x134b52
leaq 0x1d0(%rsp), %rdi
callq 0x86a00
jmp 0xc6185
leaq 0x1a7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x86da0
movq 0x20(%rsp), %rdx
leaq 0x6a5a5(%rip), %rsi     # 0x130748
leaq 0x1a8(%rsp), %rdi
callq 0x86a00
jmp 0xc61b2
leaq 0x17f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x86da0
movq 0x18(%rsp), %rdx
leaq 0x6eaa3(%rip), %rsi     # 0x134c73
leaq 0x180(%rsp), %rdi
callq 0x86a00
jmp 0xc61df
movq 0x160(%rsp), %rax
movq 0x8(%rax), %r9
movq %r9, %r8
addq $0x4, %r8
addq $0x68, %r9
movq 0x2e0(%rsp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq 0x1f8(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
leaq 0x180(%rsp), %rcx
callq 0xc7060
jmp 0xc622b
leaq 0x180(%rsp), %rdi
callq 0x86f68
jmp 0xc623a
leaq 0x17f(%rsp), %rdi
callq 0x867b0
leaq 0x1a8(%rsp), %rdi
callq 0x86f68
jmp 0xc6256
leaq 0x1a7(%rsp), %rdi
callq 0x867b0
leaq 0x1d0(%rsp), %rdi
callq 0x86f68
jmp 0xc6272
leaq 0x1cf(%rsp), %rdi
callq 0x867b0
leaq 0x1f8(%rsp), %rdi
callq 0x86f68
jmp 0xc628e
leaq 0x1f7(%rsp), %rdi
callq 0x867b0
addq $0x678, %rsp            # imm = 0x678
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6a4a
movq 0x170(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
callq 0x866a0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6388
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc636a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc634c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x5f0(%rsp), %rdi
callq 0x86f68
jmp 0xc634a
jmp 0xc634c
leaq 0x5ef(%rsp), %rdi
callq 0x867b0
leaq 0x618(%rsp), %rdi
callq 0x86f68
jmp 0xc6368
jmp 0xc636a
leaq 0x617(%rsp), %rdi
callq 0x867b0
leaq 0x640(%rsp), %rdi
callq 0x86f68
jmp 0xc6386
jmp 0xc6388
leaq 0x63f(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc63d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x5c0(%rsp), %rdi
callq 0x86f68
jmp 0xc63d3
jmp 0xc63d5
leaq 0x5bf(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc64c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc64a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6488
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc646a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x520(%rsp), %rdi
callq 0x86f68
jmp 0xc6468
jmp 0xc646a
leaq 0x51f(%rsp), %rdi
callq 0x867b0
leaq 0x548(%rsp), %rdi
callq 0x86f68
jmp 0xc6486
jmp 0xc6488
leaq 0x547(%rsp), %rdi
callq 0x867b0
leaq 0x570(%rsp), %rdi
callq 0x86f68
jmp 0xc64a4
jmp 0xc64a6
leaq 0x56f(%rsp), %rdi
callq 0x867b0
leaq 0x598(%rsp), %rdi
callq 0x86f68
jmp 0xc64c2
jmp 0xc64c4
leaq 0x597(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc65b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6595
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6577
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6559
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x480(%rsp), %rdi
callq 0x86f68
jmp 0xc6557
jmp 0xc6559
leaq 0x47f(%rsp), %rdi
callq 0x867b0
leaq 0x4a8(%rsp), %rdi
callq 0x86f68
jmp 0xc6575
jmp 0xc6577
leaq 0x4a7(%rsp), %rdi
callq 0x867b0
leaq 0x4d0(%rsp), %rdi
callq 0x86f68
jmp 0xc6593
jmp 0xc6595
leaq 0x4cf(%rsp), %rdi
callq 0x867b0
leaq 0x4f8(%rsp), %rdi
callq 0x86f68
jmp 0xc65b1
jmp 0xc65b3
leaq 0x4f7(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc66a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6684
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6666
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6648
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x3e0(%rsp), %rdi
callq 0x86f68
jmp 0xc6646
jmp 0xc6648
leaq 0x3df(%rsp), %rdi
callq 0x867b0
leaq 0x408(%rsp), %rdi
callq 0x86f68
jmp 0xc6664
jmp 0xc6666
leaq 0x407(%rsp), %rdi
callq 0x867b0
leaq 0x430(%rsp), %rdi
callq 0x86f68
jmp 0xc6682
jmp 0xc6684
leaq 0x42f(%rsp), %rdi
callq 0x867b0
leaq 0x458(%rsp), %rdi
callq 0x86f68
jmp 0xc66a0
jmp 0xc66a2
leaq 0x457(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6791
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6773
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6755
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6737
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x340(%rsp), %rdi
callq 0x86f68
jmp 0xc6735
jmp 0xc6737
leaq 0x33f(%rsp), %rdi
callq 0x867b0
leaq 0x368(%rsp), %rdi
callq 0x86f68
jmp 0xc6753
jmp 0xc6755
leaq 0x367(%rsp), %rdi
callq 0x867b0
leaq 0x390(%rsp), %rdi
callq 0x86f68
jmp 0xc6771
jmp 0xc6773
leaq 0x38f(%rsp), %rdi
callq 0x867b0
leaq 0x3b8(%rsp), %rdi
callq 0x86f68
jmp 0xc678f
jmp 0xc6791
leaq 0x3b7(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6812
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc67f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x2f0(%rsp), %rdi
callq 0x86f68
jmp 0xc67f2
jmp 0xc67f4
leaq 0x2ef(%rsp), %rdi
callq 0x867b0
leaq 0x318(%rsp), %rdi
callq 0x86f68
jmp 0xc6810
jmp 0xc6812
leaq 0x317(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc685f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x2c0(%rsp), %rdi
callq 0x86f68
jmp 0xc685d
jmp 0xc685f
leaq 0x2bf(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc694e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6930
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6912
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc68f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x220(%rsp), %rdi
callq 0x86f68
jmp 0xc68f2
jmp 0xc68f4
leaq 0x21f(%rsp), %rdi
callq 0x867b0
leaq 0x248(%rsp), %rdi
callq 0x86f68
jmp 0xc6910
jmp 0xc6912
leaq 0x247(%rsp), %rdi
callq 0x867b0
leaq 0x270(%rsp), %rdi
callq 0x86f68
jmp 0xc692e
jmp 0xc6930
leaq 0x26f(%rsp), %rdi
callq 0x867b0
leaq 0x298(%rsp), %rdi
callq 0x86f68
jmp 0xc694c
jmp 0xc694e
leaq 0x297(%rsp), %rdi
callq 0x867b0
jmp 0xc6a4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6a3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6a1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc6a01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
jmp 0xc69e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x668(%rsp)
movl %eax, 0x664(%rsp)
leaq 0x180(%rsp), %rdi
callq 0x86f68
jmp 0xc69e1
jmp 0xc69e3
leaq 0x17f(%rsp), %rdi
callq 0x867b0
leaq 0x1a8(%rsp), %rdi
callq 0x86f68
jmp 0xc69ff
jmp 0xc6a01
leaq 0x1a7(%rsp), %rdi
callq 0x867b0
leaq 0x1d0(%rsp), %rdi
callq 0x86f68
jmp 0xc6a1d
jmp 0xc6a1f
leaq 0x1cf(%rsp), %rdi
callq 0x867b0
leaq 0x1f8(%rsp), %rdi
callq 0x86f68
jmp 0xc6a3b
jmp 0xc6a3d
leaq 0x1f7(%rsp), %rdi
callq 0x867b0
movq 0x160(%rsp), %rdi
callq 0x92a20
jmp 0xc6a59
jmp 0xc6a5b
movq 0x668(%rsp), %rdi
callq 0x86d80
movq %rax, %rdi
callq 0x91290