// File: cyamonide[P]md2html/./src/md2html.cpp
// Function: Md2html::resolveNextLine()
void Md2html::resolveNextLine()
{
    smatch match;
    string* line = &buffer[0];
    string* lastLine = &buffer[1];

    if (!regex_match(*line, R_CODEBLOCK_FENCED) && !state.empty() && state.top().type == "pre")
    { // <pre> codeblock is active
        // Take this line at face value
    }
    else if (regex_match(*line, R_HEADING))
    { // Heading matched using #'s
        // Close all open tags
        closeAllTags();
        // Count #'s to determine heading level
        regex_search(*line, match, regex("#{1,6}"));
        int heading_level = match.str().length();
        // Write tag
        *line = wrapTags("h" + to_string(heading_level),
                          resolveInline(line->substr(heading_level + 1)));
    }
    else if (regex_match(*line, R_HEADING_ALT))
    { // Alternate heading matched, e.g. === or ---
        // Determine if previous line was heading-compatible
        if (regex_match(*lastLine, regex("<p>.*")))
        { // Parsed as <p> (compatible)
            // Remove <p> state
            state.pop();
            // Strip <p> open tag from previous line
            *lastLine = lastLine->substr(3, lastLine->length());
            // Write first or second level heading
            string tag = (*line)[0]=='='?"h1":"h2";
            *lastLine = wrapTags(tag, lastLine->substr(3, lastLine->length() - 7));
            // Remove line of = or -
            buffer.pop_front();
            // Close all open tags
            closeAllTags();
        }
        else if (!state.empty() && state.top().type == "p")
        { // Paragraph tag already open
            // Continue paragraph
            *lastLine += " " + *line;
            buffer.pop_front();
        }
        else
        { // Line on its own
            // Start a new paragraph
            *line = ot("p") + *line;
            state.push({"p"});
        }
    }
    else if (regex_match(*line, R_ORDERED))
    { // Ordered list matched, e.g. 1. 2. 3. 
        resolveList("ol");
    }
    else if (regex_match(*line, R_UNORDERED))
    { // Unordered list matched, e.g. bullets - * +
        resolveList("ul");
    }
    else if (regex_match(*line, R_CODEBLOCK_TABBED))
    { // Tabbed codelock matched
        if (state.empty() || state.top().type != "pre")
        { // No <pre> codeblock open
            // Open pre tag
            *line = ot("pre") + *line;
            state.push({"pre"});
        }
        else
        { // <pre> codeblock already open
            // Do nothing
        }
    }
    else if (regex_match(*line, R_CODEBLOCK_FENCED))
    { // Fenced codeblock matched, i.e. ``` or ~~~
        // Find language for syntax highlighting support
        string lang = line->substr(3);

        if (state.empty() || state.top().type != "pre")
        { // No <pre> codeblock open
            *line = ot("pre");
            state.push({"pre"});
        }
        else
        { // <pre> codbelock already open
            // Close <pre> tag
            *line = ct("pre");
            state.pop();
        }
    }
    else if (regex_match(*line, R_HTML_TAG))
    { // HTML tag by itself
        // Do nothing
    }
    else if (regex_match(*line, R_HORIZONTAL_RULE))
    { // Horizontal rule matched, i.e. *** --- ===
        *line = "<hr>";
    }
    else if (regex_match(*line, regex("\\s*")))
    { // Blank line matched
        // Close all tags
        closeAllTags();
    }
    else
    { // Line by itself with no particular syntax
        if (!state.empty())
        { // Tags still open
            // Append this line to previous line
            *lastLine += " " + resolveInline(*line);
            buffer.pop_front();
        }
        else
        { // No tags open (state empty)
            // Start new paragraph
            *line = ot("p") + resolveInline(*line);
            state.push({"p"});
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x770, %rsp            # imm = 0x770
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x5d8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x29bc0
movq -0x5d8(%rbp), %rdi
xorl %eax, %eax
movl %eax, -0x5d0(%rbp)
movl %eax, %esi
callq 0x35d60
movq -0x5d8(%rbp), %rdi
movq %rax, -0x30(%rbp)
movl $0x1, %esi
callq 0x35d60
movl -0x5d0(%rbp), %edx
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
leaq 0x2161d(%rip), %rsi     # 0x53ef0
callq 0x29b70
movb %al, -0x5ca(%rbp)
jmp 0x328e0
movb -0x5ca(%rbp), %al
testb $0x1, %al
jne 0x32966
jmp 0x328ec
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d90
movb %al, -0x5d9(%rbp)
jmp 0x32904
movb -0x5d9(%rbp), %al
testb $0x1, %al
jne 0x32966
jmp 0x32910
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d40
movq %rax, -0x5e8(%rbp)
jmp 0x32929
movq -0x5e8(%rbp), %rdi
leaq 0x785a(%rip), %rsi      # 0x3a191
callq 0x14930
movb %al, -0x5e9(%rbp)
jmp 0x32944
movb -0x5e9(%rbp), %al
testb $0x1, %al
jne 0x32950
jmp 0x32966
jmp 0x33bb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33bc7
movq -0x30(%rbp), %rdi
leaq 0x214bf(%rip), %rsi     # 0x53e30
xorl %edx, %edx
callq 0x29b70
movb %al, -0x5ea(%rbp)
jmp 0x32980
movb -0x5ea(%rbp), %al
testb $0x1, %al
jne 0x3298f
jmp 0x32b79
movq -0x5d8(%rbp), %rdi
callq 0x325b0
jmp 0x3299d
movq -0x30(%rbp), %rax
movq %rax, -0x5f8(%rbp)
leaq 0x77e6(%rip), %rsi      # 0x3a195
leaq -0x68(%rbp), %rdi
movl $0x10, %edx
callq 0x6de0
jmp 0x329bf
movq -0x5f8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
leaq -0x68(%rbp), %rdx
xorl %ecx, %ecx
callq 0x29c30
jmp 0x329d7
leaq -0x68(%rbp), %rdi
callq 0x6e80
xorl %eax, %eax
movl %eax, %edx
leaq -0x90(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x29cd0
jmp 0x329f6
leaq -0x90(%rbp), %rdi
movq %rdi, -0x608(%rbp)
callq 0x55d0
movq -0x608(%rbp), %rdi
movl %eax, -0x5fc(%rbp)
callq 0x5798
movl -0x5fc(%rbp), %eax
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %esi
leaq -0xf0(%rbp), %rdi
callq 0x35e00
jmp 0x32a35
leaq 0x6c6e(%rip), %rsi      # 0x396aa
leaq -0xd0(%rbp), %rdi
leaq -0xf0(%rbp), %rdx
callq 0x35db0
jmp 0x32a51
movq -0x30(%rbp), %rsi
movl -0x6c(%rbp), %eax
incl %eax
movslq %eax, %rdx
leaq -0x130(%rbp), %rdi
movq $-0x1, %rcx
callq 0x5400
jmp 0x32a72
leaq -0x110(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x28b30
jmp 0x32a87
leaq -0xb0(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
leaq -0x110(%rbp), %rdx
callq 0x27db0
jmp 0x32aa3
movq -0x30(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x54d0
leaq -0xb0(%rbp), %rdi
callq 0x5798
leaq -0x110(%rbp), %rdi
callq 0x5798
leaq -0x130(%rbp), %rdi
callq 0x5798
leaq -0xd0(%rbp), %rdi
callq 0x5798
leaq -0xf0(%rbp), %rdi
callq 0x5798
jmp 0x33bb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x6e80
jmp 0x33bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x32b68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x32b5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x32b50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x5798
leaq -0x130(%rbp), %rdi
callq 0x5798
leaq -0xd0(%rbp), %rdi
callq 0x5798
leaq -0xf0(%rbp), %rdi
callq 0x5798
jmp 0x33bc7
movq -0x30(%rbp), %rdi
leaq 0x212cc(%rip), %rsi     # 0x53e50
xorl %edx, %edx
callq 0x29b70
movb %al, -0x609(%rbp)
jmp 0x32b93
movb -0x609(%rbp), %al
testb $0x1, %al
jne 0x32ba2
jmp 0x330bf
movq -0x38(%rbp), %rax
movq %rax, -0x618(%rbp)
leaq 0x75e8(%rip), %rsi      # 0x3a19c
leaq -0x150(%rbp), %rdi
movl $0x10, %edx
callq 0x6de0
jmp 0x32bc7
movq -0x618(%rbp), %rdi
leaq -0x150(%rbp), %rsi
xorl %edx, %edx
callq 0x29b70
movb %al, -0x619(%rbp)
jmp 0x32be4
leaq -0x150(%rbp), %rdi
callq 0x6e80
movb -0x619(%rbp), %al
testb $0x1, %al
jne 0x32bff
jmp 0x32e42
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d20
jmp 0x32c11
movq -0x38(%rbp), %rdi
movq %rdi, -0x628(%rbp)
callq 0x55d0
movq -0x628(%rbp), %rsi
movq %rax, %rcx
leaq -0x170(%rbp), %rdi
movl $0x3, %edx
callq 0x5400
jmp 0x32c3e
movq -0x38(%rbp), %rdi
leaq -0x170(%rbp), %rsi
movq %rsi, -0x638(%rbp)
callq 0x54d0
movq -0x638(%rbp), %rdi
callq 0x5798
movq -0x30(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x5770
movq %rax, -0x630(%rbp)
jmp 0x32c77
movq -0x630(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x32c96
leaq 0x7515(%rip), %rax      # 0x3a1a2
movq %rax, -0x640(%rbp)
jmp 0x32ca6
leaq 0x7508(%rip), %rax      # 0x3a1a5
movq %rax, -0x640(%rbp)
jmp 0x32ca6
movq -0x640(%rbp), %rax
movq %rax, -0x650(%rbp)
leaq -0x191(%rbp), %rdi
movq %rdi, -0x648(%rbp)
callq 0x56d0
movq -0x650(%rbp), %rsi
movq -0x648(%rbp), %rdx
leaq -0x190(%rbp), %rdi
callq 0x6eb0
jmp 0x32ce3
leaq -0x191(%rbp), %rdi
callq 0x5440
leaq -0x1d8(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x51b0
jmp 0x32d04
movq -0x38(%rbp), %rdi
movq %rdi, -0x658(%rbp)
callq 0x55d0
movq -0x658(%rbp), %rsi
movq %rax, %rcx
addq $-0x7, %rcx
leaq -0x1f8(%rbp), %rdi
movl $0x3, %edx
callq 0x5400
jmp 0x32d35
leaq -0x1b8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
leaq -0x1f8(%rbp), %rdx
callq 0x27db0
jmp 0x32d51
movq -0x38(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
movq %rsi, -0x660(%rbp)
callq 0x54d0
movq -0x660(%rbp), %rdi
callq 0x5798
leaq -0x1f8(%rbp), %rdi
callq 0x5798
leaq -0x1d8(%rbp), %rdi
callq 0x5798
movq -0x5d8(%rbp), %rdi
callq 0x35f20
movq -0x5d8(%rbp), %rdi
callq 0x325b0
jmp 0x32da6
leaq -0x190(%rbp), %rdi
callq 0x5798
jmp 0x330ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x6e80
jmp 0x33bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x191(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x32e31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x32e25
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x5798
leaq -0x1d8(%rbp), %rdi
callq 0x5798
leaq -0x190(%rbp), %rdi
callq 0x5798
jmp 0x33bc7
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d90
movb %al, -0x661(%rbp)
jmp 0x32e5a
movb -0x661(%rbp), %al
testb $0x1, %al
jne 0x32f0f
jmp 0x32e6a
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d40
movq %rax, -0x670(%rbp)
jmp 0x32e83
movq -0x670(%rbp), %rdi
leaq 0x6b97(%rip), %rsi      # 0x39a28
callq 0x14930
movb %al, -0x671(%rbp)
jmp 0x32e9e
movb -0x671(%rbp), %al
testb $0x1, %al
jne 0x32eaa
jmp 0x32f0f
movq -0x30(%rbp), %rdx
leaq 0x72b8(%rip), %rsi      # 0x3a16d
leaq -0x218(%rbp), %rdi
callq 0x27f90
jmp 0x32ec3
movq -0x38(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x5510
jmp 0x32ed5
leaq -0x218(%rbp), %rdi
callq 0x5798
movq -0x5d8(%rbp), %rdi
callq 0x35f20
jmp 0x330b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x5798
jmp 0x33bc7
leaq -0x279(%rbp), %rdi
movq %rdi, -0x680(%rbp)
callq 0x56d0
movq -0x680(%rbp), %rdx
leaq 0x6af8(%rip), %rsi      # 0x39a28
leaq -0x278(%rbp), %rdi
callq 0x6eb0
jmp 0x32f3e
leaq -0x258(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x27cb0
jmp 0x32f53
movq -0x30(%rbp), %rdx
leaq -0x238(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0x28170
jmp 0x32f6c
movq -0x30(%rbp), %rdi
leaq -0x238(%rbp), %rsi
movq %rsi, -0x698(%rbp)
callq 0x54d0
movq -0x698(%rbp), %rdi
callq 0x5798
leaq -0x258(%rbp), %rdi
callq 0x5798
leaq -0x278(%rbp), %rdi
callq 0x5798
leaq -0x279(%rbp), %rdi
callq 0x5440
movq -0x5d8(%rbp), %rax
addq $0x50, %rax
movq %rax, -0x690(%rbp)
leaq -0x2a9(%rbp), %rdi
movq %rdi, -0x688(%rbp)
callq 0x56d0
movq -0x688(%rbp), %rdx
leaq 0x6a42(%rip), %rsi      # 0x39a28
leaq -0x2a8(%rbp), %rdi
callq 0x6eb0
jmp 0x32ff4
movq -0x690(%rbp), %rdi
movl $0x0, -0x288(%rbp)
leaq -0x2a8(%rbp), %rsi
callq 0x35f90
jmp 0x33013
leaq -0x2a8(%rbp), %rdi
callq 0x35fc0
leaq -0x2a9(%rbp), %rdi
callq 0x5440
jmp 0x330b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33070
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33064
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x5798
leaq -0x278(%rbp), %rdi
callq 0x5798
leaq -0x279(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x330a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x35fc0
leaq -0x2a9(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
jmp 0x330ba
jmp 0x33bb1
movq -0x30(%rbp), %rdi
leaq 0x20da6(%rip), %rsi     # 0x53e70
xorl %edx, %edx
callq 0x29b70
movb %al, -0x699(%rbp)
jmp 0x330d9
movb -0x699(%rbp), %al
testb $0x1, %al
jne 0x330e8
jmp 0x33180
leaq -0x2d1(%rbp), %rdi
movq %rdi, -0x6a8(%rbp)
callq 0x56d0
movq -0x6a8(%rbp), %rdx
leaq 0x6fc4(%rip), %rsi      # 0x3a0cd
leaq -0x2d0(%rbp), %rdi
callq 0x6eb0
jmp 0x33117
movq -0x5d8(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x33ea0
jmp 0x3312c
leaq -0x2d0(%rbp), %rdi
callq 0x5798
leaq -0x2d1(%rbp), %rdi
callq 0x5440
jmp 0x33baf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x3316f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2d0(%rbp), %rdi
callq 0x5798
leaq -0x2d1(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
movq -0x30(%rbp), %rdi
leaq 0x20d05(%rip), %rsi     # 0x53e90
xorl %edx, %edx
callq 0x29b70
movb %al, -0x6a9(%rbp)
jmp 0x3319a
movb -0x6a9(%rbp), %al
testb $0x1, %al
jne 0x331a9
jmp 0x33241
leaq -0x2f9(%rbp), %rdi
movq %rdi, -0x6b8(%rbp)
callq 0x56d0
movq -0x6b8(%rbp), %rdx
leaq 0x6f06(%rip), %rsi      # 0x3a0d0
leaq -0x2f8(%rbp), %rdi
callq 0x6eb0
jmp 0x331d8
movq -0x5d8(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
callq 0x33ea0
jmp 0x331ed
leaq -0x2f8(%rbp), %rdi
callq 0x5798
leaq -0x2f9(%rbp), %rdi
callq 0x5440
jmp 0x33bad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33230
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2f8(%rbp), %rdi
callq 0x5798
leaq -0x2f9(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
movq -0x30(%rbp), %rdi
leaq 0x20cc4(%rip), %rsi     # 0x53f10
xorl %edx, %edx
callq 0x29b70
movb %al, -0x6b9(%rbp)
jmp 0x3325b
movb -0x6b9(%rbp), %al
testb $0x1, %al
jne 0x3326a
jmp 0x33481
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d90
movb %al, -0x6ba(%rbp)
jmp 0x33282
movb -0x6ba(%rbp), %al
testb $0x1, %al
jne 0x332d1
jmp 0x3328e
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d40
movq %rax, -0x6c8(%rbp)
jmp 0x332a7
movq -0x6c8(%rbp), %rdi
leaq 0x6edc(%rip), %rsi      # 0x3a191
callq 0x35fe0
movb %al, -0x6c9(%rbp)
jmp 0x332c2
movb -0x6c9(%rbp), %al
testb $0x1, %al
jne 0x332d1
jmp 0x3347a
leaq -0x361(%rbp), %rdi
movq %rdi, -0x6d8(%rbp)
callq 0x56d0
movq -0x6d8(%rbp), %rdx
leaq 0x6e9f(%rip), %rsi      # 0x3a191
leaq -0x360(%rbp), %rdi
callq 0x6eb0
jmp 0x33300
leaq -0x340(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x27cb0
jmp 0x33315
movq -0x30(%rbp), %rdx
leaq -0x320(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x28170
jmp 0x3332e
movq -0x30(%rbp), %rdi
leaq -0x320(%rbp), %rsi
movq %rsi, -0x6f0(%rbp)
callq 0x54d0
movq -0x6f0(%rbp), %rdi
callq 0x5798
leaq -0x340(%rbp), %rdi
callq 0x5798
leaq -0x360(%rbp), %rdi
callq 0x5798
leaq -0x361(%rbp), %rdi
callq 0x5440
movq -0x5d8(%rbp), %rax
addq $0x50, %rax
movq %rax, -0x6e8(%rbp)
leaq -0x391(%rbp), %rdi
movq %rdi, -0x6e0(%rbp)
callq 0x56d0
movq -0x6e0(%rbp), %rdx
leaq 0x6de9(%rip), %rsi      # 0x3a191
leaq -0x390(%rbp), %rdi
callq 0x6eb0
jmp 0x333b6
movq -0x6e8(%rbp), %rdi
movl $0x0, -0x370(%rbp)
leaq -0x390(%rbp), %rsi
callq 0x35f90
jmp 0x333d5
leaq -0x390(%rbp), %rdi
callq 0x35fc0
leaq -0x391(%rbp), %rdi
callq 0x5440
jmp 0x3347c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33432
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33426
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x5798
leaq -0x360(%rbp), %rdi
callq 0x5798
leaq -0x361(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33469
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x35fc0
leaq -0x391(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
jmp 0x3347c
jmp 0x33bab
movq -0x30(%rbp), %rdi
leaq 0x20a64(%rip), %rsi     # 0x53ef0
xorl %edx, %edx
callq 0x29b70
movb %al, -0x6f1(%rbp)
jmp 0x3349b
movb -0x6f1(%rbp), %al
testb $0x1, %al
jne 0x334aa
jmp 0x33793
movq -0x30(%rbp), %rsi
leaq -0x3b8(%rbp), %rdi
movl $0x3, %edx
movq $-0x1, %rcx
callq 0x5400
jmp 0x334c8
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d90
movb %al, -0x6f2(%rbp)
jmp 0x334e0
movb -0x6f2(%rbp), %al
testb $0x1, %al
jne 0x3352f
jmp 0x334ec
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d40
movq %rax, -0x700(%rbp)
jmp 0x33505
movq -0x700(%rbp), %rdi
leaq 0x6c7e(%rip), %rsi      # 0x3a191
callq 0x35fe0
movb %al, -0x701(%rbp)
jmp 0x33520
movb -0x701(%rbp), %al
testb $0x1, %al
jne 0x3352f
jmp 0x336aa
leaq -0x3f9(%rbp), %rdi
movq %rdi, -0x710(%rbp)
callq 0x56d0
movq -0x710(%rbp), %rdx
leaq 0x6c41(%rip), %rsi      # 0x3a191
leaq -0x3f8(%rbp), %rdi
callq 0x6eb0
jmp 0x3355e
leaq -0x3d8(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x27cb0
jmp 0x33573
movq -0x30(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
movq %rsi, -0x728(%rbp)
callq 0x54d0
movq -0x728(%rbp), %rdi
callq 0x5798
leaq -0x3f8(%rbp), %rdi
callq 0x5798
leaq -0x3f9(%rbp), %rdi
callq 0x5440
movq -0x5d8(%rbp), %rax
addq $0x50, %rax
movq %rax, -0x720(%rbp)
leaq -0x429(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x56d0
movq -0x718(%rbp), %rdx
leaq 0x6bb0(%rip), %rsi      # 0x3a191
leaq -0x428(%rbp), %rdi
callq 0x6eb0
jmp 0x335ef
movq -0x720(%rbp), %rdi
movl $0x0, -0x408(%rbp)
leaq -0x428(%rbp), %rsi
callq 0x35f90
jmp 0x3360e
leaq -0x428(%rbp), %rdi
callq 0x35fc0
leaq -0x429(%rbp), %rdi
callq 0x5440
jmp 0x33771
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33782
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33662
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x3f8(%rbp), %rdi
callq 0x5798
leaq -0x3f9(%rbp), %rdi
callq 0x5440
jmp 0x33782
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33699
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x35fc0
leaq -0x429(%rbp), %rdi
callq 0x5440
jmp 0x33782
leaq -0x471(%rbp), %rdi
movq %rdi, -0x730(%rbp)
callq 0x56d0
movq -0x730(%rbp), %rdx
leaq 0x6ac6(%rip), %rsi      # 0x3a191
leaq -0x470(%rbp), %rdi
callq 0x6eb0
jmp 0x336d9
leaq -0x450(%rbp), %rdi
leaq -0x470(%rbp), %rsi
callq 0x27d30
jmp 0x336ee
movq -0x30(%rbp), %rdi
leaq -0x450(%rbp), %rsi
movq %rsi, -0x738(%rbp)
callq 0x54d0
movq -0x738(%rbp), %rdi
callq 0x5798
leaq -0x470(%rbp), %rdi
callq 0x5798
leaq -0x471(%rbp), %rdi
callq 0x5440
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d20
jmp 0x3373b
jmp 0x33771
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33763
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x5798
leaq -0x471(%rbp), %rdi
callq 0x5440
jmp 0x33782
leaq -0x3b8(%rbp), %rdi
callq 0x5798
jmp 0x33ba9
leaq -0x3b8(%rbp), %rdi
callq 0x5798
jmp 0x33bc7
movq -0x30(%rbp), %rdi
leaq 0x20712(%rip), %rsi     # 0x53eb0
xorl %edx, %edx
callq 0x29b70
movb %al, -0x739(%rbp)
jmp 0x337ad
movb -0x739(%rbp), %al
testb $0x1, %al
jne 0x337b9
jmp 0x337be
jmp 0x33ba7
movq -0x30(%rbp), %rdi
leaq 0x20707(%rip), %rsi     # 0x53ed0
xorl %edx, %edx
callq 0x29b70
movb %al, -0x73a(%rbp)
jmp 0x337d8
movb -0x73a(%rbp), %al
testb $0x1, %al
jne 0x337e4
jmp 0x337fb
movq -0x30(%rbp), %rdi
leaq 0x69b9(%rip), %rsi      # 0x3a1a8
callq 0x5550
jmp 0x337f6
jmp 0x33ba5
movq -0x30(%rbp), %rax
movq %rax, -0x748(%rbp)
leaq 0x5a33(%rip), %rsi      # 0x39240
leaq -0x498(%rbp), %rdi
movl $0x10, %edx
callq 0x6de0
jmp 0x33820
movq -0x748(%rbp), %rdi
leaq -0x498(%rbp), %rsi
xorl %edx, %edx
callq 0x29b70
movb %al, -0x749(%rbp)
jmp 0x3383d
leaq -0x498(%rbp), %rdi
callq 0x6e80
movb -0x749(%rbp), %al
testb $0x1, %al
jne 0x33855
jmp 0x33885
movq -0x5d8(%rbp), %rdi
callq 0x325b0
jmp 0x33863
jmp 0x33ba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x498(%rbp), %rdi
callq 0x6e80
jmp 0x33bc7
movq -0x5d8(%rbp), %rdi
addq $0x50, %rdi
callq 0x35d90
movb %al, -0x74a(%rbp)
jmp 0x3389d
movb -0x74a(%rbp), %al
testb $0x1, %al
jne 0x33988
jmp 0x338ad
movq -0x30(%rbp), %rsi
leaq -0x4f8(%rbp), %rdi
callq 0x51b0
jmp 0x338bf
leaq -0x4d8(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
callq 0x28b30
jmp 0x338d4
leaq 0x6892(%rip), %rsi      # 0x3a16d
leaq -0x4b8(%rbp), %rdi
leaq -0x4d8(%rbp), %rdx
callq 0x35db0
jmp 0x338f0
movq -0x38(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0x5510
jmp 0x33902
leaq -0x4b8(%rbp), %rdi
callq 0x5798
leaq -0x4d8(%rbp), %rdi
callq 0x5798
leaq -0x4f8(%rbp), %rdi
callq 0x5798
movq -0x5d8(%rbp), %rdi
callq 0x35f20
jmp 0x33ba1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33977
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x3396b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x4b8(%rbp), %rdi
callq 0x5798
leaq -0x4d8(%rbp), %rdi
callq 0x5798
leaq -0x4f8(%rbp), %rdi
callq 0x5798
jmp 0x33bc7
leaq -0x559(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x56d0
movq -0x758(%rbp), %rdx
leaq 0x607f(%rip), %rsi      # 0x39a28
leaq -0x558(%rbp), %rdi
callq 0x6eb0
jmp 0x339b7
leaq -0x538(%rbp), %rdi
leaq -0x558(%rbp), %rsi
callq 0x27cb0
jmp 0x339cc
movq -0x30(%rbp), %rsi
leaq -0x5a0(%rbp), %rdi
callq 0x51b0
jmp 0x339de
leaq -0x580(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
callq 0x28b30
jmp 0x339f3
leaq -0x518(%rbp), %rdi
leaq -0x538(%rbp), %rsi
leaq -0x580(%rbp), %rdx
callq 0x280a0
jmp 0x33a0f
movq -0x30(%rbp), %rdi
leaq -0x518(%rbp), %rsi
movq %rsi, -0x770(%rbp)
callq 0x54d0
movq -0x770(%rbp), %rdi
callq 0x5798
leaq -0x580(%rbp), %rdi
callq 0x5798
leaq -0x5a0(%rbp), %rdi
callq 0x5798
leaq -0x538(%rbp), %rdi
callq 0x5798
leaq -0x558(%rbp), %rdi
callq 0x5798
leaq -0x559(%rbp), %rdi
callq 0x5440
movq -0x5d8(%rbp), %rax
addq $0x50, %rax
movq %rax, -0x768(%rbp)
leaq -0x5c9(%rbp), %rdi
movq %rdi, -0x760(%rbp)
callq 0x56d0
movq -0x760(%rbp), %rdx
leaq 0x5f87(%rip), %rsi      # 0x39a28
leaq -0x5c8(%rbp), %rdi
callq 0x6eb0
jmp 0x33aaf
movq -0x768(%rbp), %rdi
movl $0x0, -0x5a8(%rbp)
leaq -0x5c8(%rbp), %rsi
callq 0x35f90
jmp 0x33ace
leaq -0x5c8(%rbp), %rdi
callq 0x35fc0
leaq -0x5c9(%rbp), %rdi
callq 0x5440
jmp 0x33ba1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33b5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33b53
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33b47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33b3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x580(%rbp), %rdi
callq 0x5798
leaq -0x5a0(%rbp), %rdi
callq 0x5798
leaq -0x538(%rbp), %rdi
callq 0x5798
leaq -0x558(%rbp), %rdi
callq 0x5798
leaq -0x559(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x33b93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x5c8(%rbp), %rdi
callq 0x35fc0
leaq -0x5c9(%rbp), %rdi
callq 0x5440
jmp 0x33bc7
jmp 0x33ba3
jmp 0x33ba5
jmp 0x33ba7
jmp 0x33ba9
jmp 0x33bab
jmp 0x33bad
jmp 0x33baf
jmp 0x33bb1
jmp 0x33bb3
jmp 0x33bb5
leaq -0x28(%rbp), %rdi
callq 0x29d40
addq $0x770, %rsp            # imm = 0x770
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0x29d40
movq -0x40(%rbp), %rdi
callq 0x56c0
nopl (%rax)