// File: jovermann[P]streplace/src/streplace.cpp
// Function: Streplace::Streplace(ut1::CommandLineParser const&)
explicit Streplace(const ut1::CommandLineParser& cl)
    {
        // Get command line options.
        recursive   = cl("recursive");
        followLinks = cl("follow-links");
        all         = cl("all");

        ignoreCase = cl("ignore-case");
        noRegex    = cl("no-regex");
        wholeWords = cl("whole-words");
        equals     = cl.getStr("equals");
        dollar     = cl.getStr("dollar");

        verbose        = cl.getCount("verbose");
        dummyMode      = cl("dummy-mode");
        preview        = cl("preview");
        context        = int(cl.getInt("context"));
        previewHideSep = ut1::hasPrefix(cl.getStr("context"), "+");

        // Derive rename/symlink/file content mode.
        modifySymlinks = cl("modify-symlinks");
        rename = cl("rename") || cl("rename-only");
        modifyFiles = (!modifySymlinks) && (!cl("rename-only"));
        if (modifySymlinks && rename)
        {
            throw Error("--modify-symlinks cannot be combined with --rename or --rename-only");
        }
        if (cl("rename") && cl("rename-only"))
        {
            throw Error("--rename cannot be combined with --rename-only");
        }

        // Implicit options.
        dummyMode |= preview;

        // Regex flags.
        regexFlags = std::regex::ECMAScript; // | std::regex::multiline;
#if 0
        regexFlags = std::regex::egrep;
        regexFlags = std::regex::extended;
        regexFlags = std::regex::basic;
        regexFlags = std::regex::grep;
        regexFlags = std::regex::awk;
#endif
        if (ignoreCase)
        {
            regexFlags |= std::regex::icase;
        }

        if (equals.empty())
        {
            throw Error("--equals must not be empty");
        }
        if (dollar.empty())
        {
            throw Error("--dollar must not be empty");
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x620, %rsp            # imm = 0x620
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x3f0(%rbp)
movb $0x0, (%rdi)
movb $0x0, 0x1(%rdi)
movb $0x0, 0x2(%rdi)
movl $0x0, 0x4(%rdi)
movb $0x0, 0x8(%rdi)
movb $0x0, 0x9(%rdi)
movb $0x0, 0xa(%rdi)
movl $0x0, 0xc(%rdi)
movb $0x0, 0x10(%rdi)
movb $0x0, 0x11(%rdi)
movb $0x0, 0x12(%rdi)
addq $0x18, %rdi
movq %rdi, -0x408(%rbp)
callq 0x1a000
movq -0x3f0(%rbp), %rdi
movl $0x0, 0x30(%rdi)
movb $0x0, 0x34(%rdi)
movb $0x0, 0x35(%rdi)
movb $0x0, 0x36(%rdi)
addq $0x38, %rdi
movq %rdi, -0x400(%rbp)
callq 0x7860
movq -0x3f0(%rbp), %rdi
addq $0x58, %rdi
movq %rdi, -0x3f8(%rbp)
callq 0x7860
movq -0x3f0(%rbp), %rdi
movq $0x0, 0x78(%rdi)
movq $0x0, 0x80(%rdi)
movq $0x0, 0x88(%rdi)
movq $0x0, 0x90(%rdi)
movq $0x0, 0x98(%rdi)
movq $0x0, 0xa0(%rdi)
movq $0x0, 0xa8(%rdi)
movq $0x0, 0xb0(%rdi)
addq $0xb8, %rdi
movq %rdi, -0x3e8(%rbp)
callq 0x1a020
jmp 0x17211
movq -0x10(%rbp), %rax
movq %rax, -0x418(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0x410(%rbp)
callq 0x7a50
movq -0x410(%rbp), %rdx
leaq 0x33aa5(%rip), %rsi     # 0x4acdf
leaq -0x40(%rbp), %rdi
callq 0xb310
jmp 0x17245
movq -0x418(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x18de0
movb %al, -0x419(%rbp)
jmp 0x1725d
movq -0x3f0(%rbp), %rax
movb -0x419(%rbp), %cl
andb $0x1, %cl
movb %cl, (%rax)
leaq -0x40(%rbp), %rdi
callq 0x73c0
leaq -0x41(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x430(%rbp)
leaq -0x69(%rbp), %rdi
movq %rdi, -0x428(%rbp)
callq 0x7a50
movq -0x428(%rbp), %rdx
leaq 0x33a60(%rip), %rsi     # 0x4ad0a
leaq -0x68(%rbp), %rdi
callq 0xb310
jmp 0x172b5
movq -0x430(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x18de0
movb %al, -0x431(%rbp)
jmp 0x172cd
movq -0x3f0(%rbp), %rax
movb -0x431(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x1(%rax)
leaq -0x68(%rbp), %rdi
callq 0x73c0
leaq -0x69(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x448(%rbp)
leaq -0x91(%rbp), %rdi
movq %rdi, -0x440(%rbp)
callq 0x7a50
movq -0x440(%rbp), %rdx
leaq 0x33a10(%rip), %rsi     # 0x4ad2e
leaq -0x90(%rbp), %rdi
callq 0xb310
jmp 0x1732c
movq -0x448(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x18de0
movb %al, -0x449(%rbp)
jmp 0x17347
movq -0x3f0(%rbp), %rax
movb -0x449(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x2(%rax)
leaq -0x90(%rbp), %rdi
callq 0x73c0
leaq -0x91(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x460(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x458(%rbp)
callq 0x7a50
movq -0x458(%rbp), %rdx
leaq 0x339f6(%rip), %rsi     # 0x4ad94
leaq -0xb8(%rbp), %rdi
callq 0xb310
jmp 0x173ac
movq -0x460(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x18de0
movb %al, -0x461(%rbp)
jmp 0x173c7
movq -0x3f0(%rbp), %rax
movb -0x461(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x34(%rax)
leaq -0xb8(%rbp), %rdi
callq 0x73c0
leaq -0xb9(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x478(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x7a50
movq -0x470(%rbp), %rdx
leaq 0x3398f(%rip), %rsi     # 0x4adad
leaq -0xe0(%rbp), %rdi
callq 0xb310
jmp 0x1742c
movq -0x478(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x18de0
movb %al, -0x479(%rbp)
jmp 0x17447
movq -0x3f0(%rbp), %rax
movb -0x479(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x35(%rax)
leaq -0xe0(%rbp), %rdi
callq 0x73c0
leaq -0xe1(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x490(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x488(%rbp)
callq 0x7a50
movq -0x488(%rbp), %rdx
leaq 0x3398a(%rip), %rsi     # 0x4ae28
leaq -0x108(%rbp), %rdi
callq 0xb310
jmp 0x174ac
movq -0x490(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x18de0
movb %al, -0x491(%rbp)
jmp 0x174c7
movq -0x3f0(%rbp), %rax
movb -0x491(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x36(%rax)
leaq -0x108(%rbp), %rdi
callq 0x73c0
leaq -0x109(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x4a8(%rbp)
leaq -0x131(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x7a50
movq -0x4a0(%rbp), %rdx
leaq 0x339f7(%rip), %rsi     # 0x4af15
leaq -0x130(%rbp), %rdi
callq 0xb310
jmp 0x1752c
movq -0x4a8(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0xab90
movq %rax, -0x4b0(%rbp)
jmp 0x17548
movq -0x4b0(%rbp), %rsi
movq -0x3f0(%rbp), %rdi
addq $0x38, %rdi
callq 0x7070
jmp 0x17561
leaq -0x130(%rbp), %rdi
callq 0x73c0
leaq -0x131(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x4c0(%rbp)
leaq -0x159(%rbp), %rdi
movq %rdi, -0x4b8(%rbp)
callq 0x7a50
movq -0x4b8(%rbp), %rdx
leaq 0x33a38(%rip), %rsi     # 0x4afdd
leaq -0x158(%rbp), %rdi
callq 0xb310
jmp 0x175b3
movq -0x4c0(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0xab90
movq %rax, -0x4c8(%rbp)
jmp 0x175cf
movq -0x4c8(%rbp), %rsi
movq -0x3f0(%rbp), %rdi
addq $0x58, %rdi
callq 0x7070
jmp 0x175e8
leaq -0x158(%rbp), %rdi
callq 0x73c0
leaq -0x159(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x4d8(%rbp)
leaq -0x181(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x7a50
movq -0x4d0(%rbp), %rdx
leaq 0x33b94(%rip), %rsi     # 0x4b1c0
leaq -0x180(%rbp), %rdi
callq 0xb310
jmp 0x1763a
movq -0x4d8(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0xaa60
movl %eax, -0x4dc(%rbp)
jmp 0x17655
movq -0x3f0(%rbp), %rax
movl -0x4dc(%rbp), %ecx
movl %ecx, 0x4(%rax)
leaq -0x180(%rbp), %rdi
callq 0x73c0
leaq -0x181(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x4f0(%rbp)
leaq -0x1a9(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
callq 0x7a50
movq -0x4e8(%rbp), %rdx
leaq 0x33b5e(%rip), %rsi     # 0x4b207
leaq -0x1a8(%rbp), %rdi
callq 0xb310
jmp 0x176b7
movq -0x4f0(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x18de0
movb %al, -0x4f1(%rbp)
jmp 0x176d2
movq -0x3f0(%rbp), %rax
movb -0x4f1(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x8(%rax)
leaq -0x1a8(%rbp), %rdi
callq 0x73c0
leaq -0x1a9(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x508(%rbp)
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x500(%rbp)
callq 0x7a50
movq -0x500(%rbp), %rdx
leaq 0x33b07(%rip), %rsi     # 0x4b230
leaq -0x1d0(%rbp), %rdi
callq 0xb310
jmp 0x17737
movq -0x508(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x18de0
movb %al, -0x509(%rbp)
jmp 0x17752
movq -0x3f0(%rbp), %rax
movb -0x509(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x9(%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x73c0
leaq -0x1d1(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x520(%rbp)
leaq -0x1f9(%rbp), %rdi
movq %rdi, -0x518(%rbp)
callq 0x7a50
movq -0x518(%rbp), %rdx
leaq 0x33b0b(%rip), %rsi     # 0x4b2b4
leaq -0x1f8(%rbp), %rdi
callq 0xb310
jmp 0x177b7
movq -0x520(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0xacf0
movq %rax, -0x528(%rbp)
jmp 0x177d3
movq -0x3f0(%rbp), %rax
movq -0x528(%rbp), %rcx
movl %ecx, 0xc(%rax)
leaq -0x1f8(%rbp), %rdi
callq 0x73c0
leaq -0x1f9(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x538(%rbp)
leaq -0x221(%rbp), %rdi
movq %rdi, -0x530(%rbp)
callq 0x7a50
movq -0x530(%rbp), %rdx
leaq 0x33a8c(%rip), %rsi     # 0x4b2b4
leaq -0x220(%rbp), %rdi
callq 0xb310
jmp 0x17836
movq -0x538(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0xab90
movq %rax, -0x540(%rbp)
jmp 0x17852
leaq -0x249(%rbp), %rdi
movq %rdi, -0x548(%rbp)
callq 0x7a50
movq -0x548(%rbp), %rdx
leaq 0x33b0c(%rip), %rsi     # 0x4b37f
leaq -0x248(%rbp), %rdi
callq 0xb310
jmp 0x17881
movq -0x540(%rbp), %rdi
leaq -0x248(%rbp), %rsi
movq %rsi, -0x560(%rbp)
callq 0x113c0
movq -0x560(%rbp), %rdi
movb %al, %cl
movq -0x3f0(%rbp), %rax
movb %cl, 0xa(%rax)
callq 0x73c0
leaq -0x249(%rbp), %rdi
callq 0x7670
leaq -0x220(%rbp), %rdi
callq 0x73c0
leaq -0x221(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x558(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0x550(%rbp)
callq 0x7a50
movq -0x550(%rbp), %rdx
leaq 0x3381b(%rip), %rsi     # 0x4b11e
leaq -0x270(%rbp), %rdi
callq 0xb310
jmp 0x17911
movq -0x558(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x18de0
movb %al, -0x561(%rbp)
jmp 0x1792c
movq -0x3f0(%rbp), %rax
movb -0x561(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x12(%rax)
leaq -0x270(%rbp), %rdi
callq 0x73c0
leaq -0x271(%rbp), %rdi
callq 0x7670
movq -0x10(%rbp), %rax
movq %rax, -0x578(%rbp)
leaq -0x299(%rbp), %rdi
movq %rdi, -0x570(%rbp)
callq 0x7a50
movq -0x570(%rbp), %rdx
movb $0x0, -0x2c2(%rbp)
movb $0x0, -0x2c3(%rbp)
leaq 0x33755(%rip), %rsi     # 0x4b0e6
leaq -0x298(%rbp), %rdi
callq 0xb310
jmp 0x1799f
movq -0x578(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x18de0
movb %al, -0x579(%rbp)
jmp 0x179ba
movb -0x579(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x57a(%rbp)
jne 0x17a40
jmp 0x179cf
movq -0x10(%rbp), %rax
movq %rax, -0x590(%rbp)
leaq -0x2c1(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x7a50
movq -0x588(%rbp), %rdx
movb $0x1, -0x2c2(%rbp)
leaq 0x339e6(%rip), %rsi     # 0x4b3e8
leaq -0x2c0(%rbp), %rdi
callq 0xb310
jmp 0x17a10
movq -0x590(%rbp), %rdi
movb $0x1, -0x2c3(%rbp)
leaq -0x2c0(%rbp), %rsi
callq 0x18de0
movb %al, -0x591(%rbp)
jmp 0x17a32
movb -0x591(%rbp), %al
movb %al, -0x57a(%rbp)
jmp 0x17a40
movq -0x3f0(%rbp), %rax
movb -0x57a(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x11(%rax)
testb $0x1, -0x2c3(%rbp)
jne 0x17a5e
jmp 0x17a6a
leaq -0x2c0(%rbp), %rdi
callq 0x73c0
testb $0x1, -0x2c2(%rbp)
jne 0x17a75
jmp 0x17a81
leaq -0x2c1(%rbp), %rdi
callq 0x7670
leaq -0x298(%rbp), %rdi
callq 0x73c0
leaq -0x299(%rbp), %rdi
callq 0x7670
movq -0x3f0(%rbp), %rax
movb 0x12(%rax), %cl
movb $0x0, -0x2ea(%rbp)
movb $0x0, -0x2eb(%rbp)
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x592(%rbp)
jne 0x17b2f
movq -0x10(%rbp), %rax
movq %rax, -0x5a8(%rbp)
leaq -0x2e9(%rbp), %rdi
movq %rdi, -0x5a0(%rbp)
callq 0x7a50
movq -0x5a0(%rbp), %rdx
movb $0x1, -0x2ea(%rbp)
leaq 0x338f7(%rip), %rsi     # 0x4b3e8
leaq -0x2e8(%rbp), %rdi
callq 0xb310
jmp 0x17aff
movq -0x5a8(%rbp), %rdi
movb $0x1, -0x2eb(%rbp)
leaq -0x2e8(%rbp), %rsi
callq 0x18de0
movb %al, -0x5a9(%rbp)
jmp 0x17b21
movb -0x5a9(%rbp), %al
xorb $-0x1, %al
movb %al, -0x592(%rbp)
movq -0x3f0(%rbp), %rax
movb -0x592(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x10(%rax)
testb $0x1, -0x2eb(%rbp)
jne 0x17b4d
jmp 0x17b59
leaq -0x2e8(%rbp), %rdi
callq 0x73c0
testb $0x1, -0x2ea(%rbp)
jne 0x17b64
jmp 0x17b70
leaq -0x2e9(%rbp), %rdi
callq 0x7670
movq -0x3f0(%rbp), %rax
testb $0x1, 0x12(%rax)
je 0x18057
movq -0x3f0(%rbp), %rax
testb $0x1, 0x11(%rax)
je 0x18057
movb $0x1, -0x312(%rbp)
movl $0x10, %edi
callq 0x7310
movq %rax, -0x5c0(%rbp)
leaq -0x311(%rbp), %rdi
movq %rdi, -0x5b8(%rbp)
callq 0x7a50
movq -0x5b8(%rbp), %rdx
leaq 0x337b6(%rip), %rsi     # 0x4b381
leaq -0x310(%rbp), %rdi
callq 0xb310
jmp 0x17bd9
movq -0x5c0(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x1a140
jmp 0x17bee
movq -0x5c0(%rbp), %rdi
movb $0x0, -0x312(%rbp)
leaq 0x51e95(%rip), %rsi     # 0x69a98
leaq -0x31da(%rip), %rdx     # 0x14a30
callq 0x79d0
jmp 0x18565
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x18538
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17c48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x73c0
leaq -0x41(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17c79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x73c0
leaq -0x69(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17cad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x73c0
leaq -0x91(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17ce4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x73c0
leaq -0xb9(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17d1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x73c0
leaq -0xe1(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17d52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x73c0
leaq -0x109(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x73c0
leaq -0x131(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17dc0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x73c0
leaq -0x159(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17df7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x73c0
leaq -0x181(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17e2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x73c0
leaq -0x1a9(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17e65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x73c0
leaq -0x1d1(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17e9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x73c0
leaq -0x1f9(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17eed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17ee1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x249(%rbp), %rdi
callq 0x7670
leaq -0x220(%rbp), %rdi
callq 0x73c0
leaq -0x221(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17f24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x73c0
leaq -0x271(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17fa9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17f9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17f84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
testb $0x1, -0x2c3(%rbp)
jne 0x17f76
jmp 0x17f82
leaq -0x2c0(%rbp), %rdi
callq 0x73c0
jmp 0x17f84
testb $0x1, -0x2c2(%rbp)
jne 0x17f8f
jmp 0x17f9b
leaq -0x2c1(%rbp), %rdi
callq 0x7670
jmp 0x17f9d
leaq -0x298(%rbp), %rdi
callq 0x73c0
leaq -0x299(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x17fed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
testb $0x1, -0x2eb(%rbp)
jne 0x17fdf
jmp 0x17feb
leaq -0x2e8(%rbp), %rdi
callq 0x73c0
jmp 0x17fed
testb $0x1, -0x2ea(%rbp)
jne 0x17ff8
jmp 0x18004
leaq -0x2e9(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x1802f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x73c0
leaq -0x311(%rbp), %rdi
callq 0x7670
testb $0x1, -0x312(%rbp)
jne 0x18046
jmp 0x18052
movq -0x5c0(%rbp), %rdi
callq 0x74a0
jmp 0x1852c
movq -0x10(%rbp), %rax
movq %rax, -0x5d0(%rbp)
leaq -0x339(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x7a50
movq -0x5c8(%rbp), %rdx
movb $0x0, -0x362(%rbp)
movb $0x0, -0x363(%rbp)
leaq 0x33055(%rip), %rsi     # 0x4b0e6
leaq -0x338(%rbp), %rdi
callq 0xb310
jmp 0x1809f
movq -0x5d0(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x18de0
movb %al, -0x5d1(%rbp)
jmp 0x180ba
movb -0x5d1(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x5d2(%rbp)
jne 0x180cf
jmp 0x18140
movq -0x10(%rbp), %rax
movq %rax, -0x5e8(%rbp)
leaq -0x361(%rbp), %rdi
movq %rdi, -0x5e0(%rbp)
callq 0x7a50
movq -0x5e0(%rbp), %rdx
movb $0x1, -0x362(%rbp)
leaq 0x332e6(%rip), %rsi     # 0x4b3e8
leaq -0x360(%rbp), %rdi
callq 0xb310
jmp 0x18110
movq -0x5e8(%rbp), %rdi
movb $0x1, -0x363(%rbp)
leaq -0x360(%rbp), %rsi
callq 0x18de0
movb %al, -0x5e9(%rbp)
jmp 0x18132
movb -0x5e9(%rbp), %al
movb %al, -0x5d2(%rbp)
jmp 0x18140
movb -0x5d2(%rbp), %al
movb %al, -0x5ea(%rbp)
testb $0x1, -0x363(%rbp)
jne 0x18157
jmp 0x18163
leaq -0x360(%rbp), %rdi
callq 0x73c0
testb $0x1, -0x362(%rbp)
jne 0x1816e
jmp 0x1817a
leaq -0x361(%rbp), %rdi
callq 0x7670
leaq -0x338(%rbp), %rdi
callq 0x73c0
leaq -0x339(%rbp), %rdi
callq 0x7670
movb -0x5ea(%rbp), %al
testb $0x1, %al
jne 0x181a1
jmp 0x182f6
movb $0x1, -0x38a(%rbp)
movl $0x10, %edi
callq 0x7310
movq %rax, -0x600(%rbp)
leaq -0x389(%rbp), %rdi
movq %rdi, -0x5f8(%rbp)
callq 0x7a50
movq -0x5f8(%rbp), %rdx
leaq 0x331eb(%rip), %rsi     # 0x4b3c5
leaq -0x388(%rbp), %rdi
callq 0xb310
jmp 0x181e8
movq -0x600(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x1a140
jmp 0x181fd
movq -0x600(%rbp), %rdi
movb $0x0, -0x38a(%rbp)
leaq 0x51886(%rip), %rsi     # 0x69a98
leaq -0x37e9(%rip), %rdx     # 0x14a30
callq 0x79d0
jmp 0x18565
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x18297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x1828b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x18272
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
testb $0x1, -0x363(%rbp)
jne 0x18264
jmp 0x18270
leaq -0x360(%rbp), %rdi
callq 0x73c0
jmp 0x18272
testb $0x1, -0x362(%rbp)
jne 0x1827d
jmp 0x18289
leaq -0x361(%rbp), %rdi
callq 0x7670
jmp 0x1828b
leaq -0x338(%rbp), %rdi
callq 0x73c0
leaq -0x339(%rbp), %rdi
callq 0x7670
jmp 0x1852c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x182ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x388(%rbp), %rdi
callq 0x73c0
leaq -0x389(%rbp), %rdi
callq 0x7670
testb $0x1, -0x38a(%rbp)
jne 0x182e5
jmp 0x182f1
movq -0x600(%rbp), %rdi
callq 0x74a0
jmp 0x1852c
movq -0x3f0(%rbp), %rax
movb 0x9(%rax), %cl
andb $0x1, %cl
movzbl %cl, %edx
movb 0x8(%rax), %cl
andb $0x1, %cl
movzbl %cl, %ecx
orl %edx, %ecx
cmpl $0x0, %ecx
setne %cl
andb $0x1, %cl
movb %cl, 0x8(%rax)
movl $0x10, 0x30(%rax)
testb $0x1, 0x34(%rax)
je 0x18354
movq -0x3f0(%rbp), %rdi
addq $0x30, %rdi
movl $0x1, %esi
callq 0x1a180
jmp 0x18341
jmp 0x18354
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x1852c
movq -0x3f0(%rbp), %rdi
addq $0x38, %rdi
callq 0x7990
testb $0x1, %al
jne 0x1836d
jmp 0x1843d
movb $0x1, -0x3b2(%rbp)
movl $0x10, %edi
callq 0x7310
movq %rax, -0x610(%rbp)
leaq -0x3b1(%rbp), %rdi
movq %rdi, -0x608(%rbp)
callq 0x7a50
movq -0x608(%rbp), %rdx
leaq 0x3304e(%rip), %rsi     # 0x4b3f4
leaq -0x3b0(%rbp), %rdi
callq 0xb310
jmp 0x183b4
movq -0x610(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x1a140
jmp 0x183c9
movq -0x610(%rbp), %rdi
movb $0x0, -0x3b2(%rbp)
leaq 0x516ba(%rip), %rsi     # 0x69a98
leaq -0x39b5(%rip), %rdx     # 0x14a30
callq 0x79d0
jmp 0x18565
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x18415
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x73c0
leaq -0x3b1(%rbp), %rdi
callq 0x7670
testb $0x1, -0x3b2(%rbp)
jne 0x1842c
jmp 0x18438
movq -0x610(%rbp), %rdi
callq 0x74a0
jmp 0x1852c
movq -0x3f0(%rbp), %rdi
addq $0x58, %rdi
callq 0x7990
testb $0x1, %al
jne 0x18456
jmp 0x18523
movb $0x1, -0x3da(%rbp)
movl $0x10, %edi
callq 0x7310
movq %rax, -0x620(%rbp)
leaq -0x3d9(%rbp), %rdi
movq %rdi, -0x618(%rbp)
callq 0x7a50
movq -0x618(%rbp), %rdx
leaq 0x32f80(%rip), %rsi     # 0x4b40f
leaq -0x3d8(%rbp), %rdi
callq 0xb310
jmp 0x1849d
movq -0x620(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
callq 0x1a140
jmp 0x184b2
movq -0x620(%rbp), %rdi
movb $0x0, -0x3da(%rbp)
leaq 0x515d1(%rip), %rsi     # 0x69a98
leaq -0x3a9e(%rip), %rdx     # 0x14a30
callq 0x79d0
jmp 0x18565
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x184fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x73c0
leaq -0x3d9(%rbp), %rdi
callq 0x7670
testb $0x1, -0x3da(%rbp)
jne 0x18515
jmp 0x18521
movq -0x620(%rbp), %rdi
callq 0x74a0
jmp 0x1852c
addq $0x620, %rsp            # imm = 0x620
popq %rbp
retq
movq -0x3e8(%rbp), %rdi
callq 0x1a1b0
movq -0x3f8(%rbp), %rdi
callq 0x73c0
movq -0x400(%rbp), %rdi
callq 0x73c0
movq -0x408(%rbp), %rdi
callq 0x1a1f0
movq -0x18(%rbp), %rdi
callq 0x7a30
nopw %cs:(%rax,%rax)
nop