// File: /workspace/github_cpp_makefile_star2_O1/xnevs[P]bullimp/examples/simple.cpp
// Function: main
int main() { 
    using namespace boost;
    using namespace ullimp;

    graph_type pattern;
    auto u0 = add_vertex(pattern);
    auto u1 = add_vertex(pattern);
    auto u2 = add_vertex(pattern);
    add_edge(u0, u1, pattern);
    add_edge(u1, u2, pattern);
    add_edge(u2, u0, pattern);

    graph_type graph;
    auto v0 = add_vertex(graph);
    auto v1 = add_vertex(graph);
    auto v2 = add_vertex(graph);
    auto v3 = add_vertex(graph);
    add_edge(v0, v1, graph);
    add_edge(v1, v2, graph);
    add_edge(v2, v0, graph);
    add_edge(v1, v3, graph);
    add_edge(v3, v0, graph);

    auto index_map_p = get(vertex_index, pattern);
    auto index_map_g = get(vertex_index, graph);

    int count = 0;
    ullimp_subgraph_iso(pattern,
                        graph,
                        [&count, &pattern, &index_map_p, &index_map_g](auto const & iso, auto const & isoInv) {
                            std::cout << "found isomorphism:" << std::endl;
                            BGL_FORALL_VERTICES(u, pattern, graph_type) {
                                std::cout << "  " << index_map_p[u] << " -> " << index_map_g[iso[u]] << std::endl;
                            }
                            ++count;
                            return true;
                        });

    std::cout << "isomorphism count = " << count << std::endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x568, %rsp            # imm = 0x568
leaq 0x110(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0x2fe2
leaq 0x128(%rsp), %r14
movq 0x8(%r14), %rsi
subq (%r14), %rsi
sarq $0x3, %rsi
movabsq $0x4ec4ec4ec4ec4ec5, %r13 # imm = 0x4EC4EC4EC4EC4EC5
imulq %r13, %rsi
incq %rsi
movq %r14, %rdi
callq 0x3160
movq 0x130(%rsp), %rbx
subq 0x128(%rsp), %rbx
sarq $0x3, %rbx
imulq %r13, %rbx
leaq 0x1(%rbx), %rsi
movq %r14, %rdi
callq 0x3160
movq %r14, %rdi
movq 0x130(%rsp), %r14
subq 0x128(%rsp), %r14
sarq $0x3, %r14
imulq %r13, %r14
leaq 0x1(%r14), %rsi
callq 0x3160
decq %rbx
decq %r14
leaq 0x110(%rsp), %r8
movq 0x20(%r8), %r15
subq 0x18(%r8), %r15
leaq 0x1a0(%rsp), %rdi
leaq 0xc0(%rsp), %rcx
movq %rbx, %rsi
movq %r14, %rdx
callq 0x3460
sarq $0x3, %r15
imulq %r13, %r15
decq %r15
leaq 0x1a0(%rsp), %rdi
leaq 0xc0(%rsp), %rcx
leaq 0x110(%rsp), %r8
movq %r14, %rsi
movq %r15, %rdx
callq 0x3460
leaq 0x1a0(%rsp), %rdi
leaq 0xc0(%rsp), %rcx
leaq 0x110(%rsp), %r8
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3460
leaq 0xc0(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0x2fe2
leaq 0xd8(%rsp), %r15
movq 0x8(%r15), %rsi
subq (%r15), %rsi
sarq $0x3, %rsi
imulq %r13, %rsi
incq %rsi
movq %r15, %rdi
callq 0x3160
movq 0xe0(%rsp), %rbx
subq 0xd8(%rsp), %rbx
sarq $0x3, %rbx
imulq %r13, %rbx
leaq 0x1(%rbx), %rsi
movq %r15, %rdi
callq 0x3160
movq 0xe0(%rsp), %r14
subq 0xd8(%rsp), %r14
sarq $0x3, %r14
imulq %r13, %r14
leaq 0x1(%r14), %rsi
movq %r15, %rdi
callq 0x3160
movq 0xe0(%rsp), %r12
subq 0xd8(%rsp), %r12
sarq $0x3, %r12
imulq %r13, %r12
leaq 0x1(%r12), %rsi
movq %r15, %rdi
callq 0x3160
decq %rbx
decq %r14
leaq 0xc0(%rsp), %r8
movq 0x20(%r8), %r15
subq 0x18(%r8), %r15
leaq 0x1a0(%rsp), %rdi
leaq 0x88(%rsp), %rcx
movq %rbx, %rsi
movq %r14, %rdx
callq 0x3460
decq %r12
leaq 0x1a0(%rsp), %rdi
leaq 0x88(%rsp), %rcx
leaq 0xc0(%rsp), %r8
movq %r14, %rsi
movq %r12, %rdx
callq 0x3460
leaq 0x1a0(%rsp), %rdi
leaq 0x88(%rsp), %rcx
leaq 0xc0(%rsp), %r8
movq %r12, %rsi
movq %rbx, %rdx
callq 0x3460
sarq $0x3, %r15
imulq %r13, %r15
decq %r15
leaq 0x1a0(%rsp), %rdi
leaq 0x88(%rsp), %rcx
leaq 0xc0(%rsp), %r8
movq %r14, %rsi
movq %r15, %rdx
callq 0x3460
leaq 0x1a0(%rsp), %rdi
leaq 0x88(%rsp), %rcx
leaq 0xc0(%rsp), %r14
movq %r15, %rsi
movq %rbx, %rdx
movq %r14, %r8
callq 0x3460
movl $0x0, 0x84(%rsp)
leaq 0x148(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x3fbf
leaq 0x1b0(%rsp), %rdi
leaq 0x110(%rsp), %rbx
movq %rbx, -0x10(%rdi)
movq %r14, -0x8(%rdi)
movq %rbx, %rsi
callq 0x367e
leaq 0x2c8(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x367e
movq 0x130(%rsp), %rax
subq 0x128(%rsp), %rax
sarq $0x3, %rax
imulq %r13, %rax
leaq 0x3f8(%rsp), %rdi
movq %rax, -0x10(%rdi)
movq 0xe0(%rsp), %rax
subq 0xd8(%rsp), %rax
sarq $0x3, %rax
imulq %r13, %rax
movq %rax, -0x8(%rdi)
leaq 0x148(%rsp), %rsi
callq 0x3a84
leaq 0x84(%rsp), %rax
leaq 0x438(%rsp), %rdi
movq %rax, -0x20(%rdi)
movq %rbx, -0x18(%rdi)
leaq 0x47(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x46(%rsp), %rax
movq %rax, -0x8(%rdi)
movq -0x50(%rdi), %rsi
leaq 0x88(%rsp), %rdx
movq $-0x1, (%rdx)
leaq 0x18(%rsp), %rcx
callq 0x3b06
leaq 0x460(%rsp), %rdi
movq -0x70(%rdi), %rsi
movq -0x28(%rdi), %rax
movq %rax, -0x10(%rdi)
leaq 0x88(%rsp), %rdx
movq $-0x1, (%rdx)
leaq 0x18(%rsp), %rcx
callq 0x3b06
movq 0x460(%rsp), %rax
movq %rax, 0x478(%rsp)
movq 0x3e8(%rsp), %rbx
movq 0x3f0(%rsp), %r14
movq %rbx, 0x488(%rsp)
movq %r14, 0x490(%rsp)
imulq %rbx, %r14
movq %r14, %rdi
callq 0x1030
movq %rax, 0x4a0(%rsp)
movq %r14, %rax
shrq $0x3e, %rax
shlq $0x2, %r14
negq %rax
sbbq %r15, %r15
orq %r14, %r15
movq %r15, %rdi
callq 0x1030
movq %rax, 0x4a8(%rsp)
movq $-0x1, 0x4b0(%rsp)
movq %r15, %rdi
callq 0x1030
leaq 0x4c8(%rsp), %r14
movq %rax, -0x10(%r14)
movl $0xffffffff, -0x8(%r14) # imm = 0xFFFFFFFF
leaq 0x88(%rsp), %rdx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3bd2
leaq 0x4e0(%rsp), %r15
movq -0xf8(%r15), %rsi
leaq 0x88(%rsp), %rdx
movq %r15, %rdi
callq 0x3bd2
leaq 0x4f8(%rsp), %r12
movq -0x110(%r12), %rsi
leaq 0x88(%rsp), %rdx
movq %r12, %rdi
callq 0x3bd2
leaq 0x510(%rsp), %r13
movq -0x128(%r13), %rsi
leaq 0x88(%rsp), %rdx
movq %r13, %rdi
callq 0x3bd2
movq 0x3e8(%rsp), %rsi
movq 0x4c8(%rsp), %rax
movq %rax, 0x528(%rsp)
movq 0x4e0(%rsp), %rax
movq %rax, 0x538(%rsp)
movq 0x4f8(%rsp), %rax
movq %rax, 0x548(%rsp)
movq 0x510(%rsp), %rax
movq %rax, 0x558(%rsp)
leaq 0x88(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x3c5c
movq 0x88(%rsp), %rbp
cmpq $0x0, 0x3e8(%rsp)
je 0x187e
movq 0x148(%rsp), %rax
xorl %ecx, %ecx
movq (%rax,%rcx,8), %rdx
movq %rcx, (%rbp,%rdx,8)
incq %rcx
cmpq %rcx, 0x3e8(%rsp)
ja 0x1868
movq 0x130(%rsp), %rcx
movq 0x128(%rsp), %rax
subq %rax, %rcx
je 0x1a28
sarq $0x3, %rcx
movabsq $0x4ec4ec4ec4ec4ec5, %rax # imm = 0x4EC4EC4EC4EC4EC5
imulq %rax, %rcx
movq %rcx, 0x8(%rsp)
xorl %r12d, %r12d
movq (%rbp,%r12,8), %r13
movq 0x288(%rsp), %rax
leaq (%r12,%r12,2), %r14
movq (%rax,%r14,8), %r15
movq 0x8(%rax,%r14,8), %rbx
cmpq %rbx, %r15
je 0x1912
movq (%r15), %rax
movq %rax, 0x18(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x190c
movq 0x528(%rsp), %rcx
leaq (%rcx,%r14,8), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x1902
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rdi)
jmp 0x190c
leaq 0x18(%rsp), %rdx
callq 0x3ea8
addq $0x8, %r15
jmp 0x18cb
movq 0x298(%rsp), %rax
movq (%rax,%r14,8), %r15
movq 0x8(%rax,%r14,8), %rbx
cmpq %rbx, %r15
je 0x196a
movq (%r15), %rax
movq %rax, 0x18(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x1964
movq 0x538(%rsp), %rcx
leaq (%rcx,%r14,8), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x195a
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rdi)
jmp 0x1964
leaq 0x18(%rsp), %rdx
callq 0x3ea8
addq $0x8, %r15
jmp 0x1923
movq 0x2a8(%rsp), %rax
movq (%rax,%r14,8), %r15
movq 0x8(%rax,%r14,8), %rbx
cmpq %rbx, %r15
je 0x19c2
movq (%r15), %rax
movq %rax, 0x18(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x19bc
movq 0x548(%rsp), %rcx
leaq (%rcx,%r14,8), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x19b2
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rdi)
jmp 0x19bc
leaq 0x18(%rsp), %rdx
callq 0x3ea8
addq $0x8, %r15
jmp 0x197b
movq 0x2b8(%rsp), %rax
movq (%rax,%r14,8), %r15
movq 0x8(%rax,%r14,8), %rbx
cmpq %rbx, %r15
je 0x1a1a
movq (%r15), %rax
movq %rax, 0x18(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x1a14
movq 0x558(%rsp), %rcx
leaq (%rcx,%r14,8), %rdi
movq 0x8(%rdi), %rsi
cmpq 0x10(%rdi), %rsi
je 0x1a0a
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rdi)
jmp 0x1a14
leaq 0x18(%rsp), %rdx
callq 0x3ea8
addq $0x8, %r15
jmp 0x19d3
incq %r12
cmpq 0x8(%rsp), %r12
jne 0x18b1
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x1a45
movq 0x98(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x1a0(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x20(%rax), %rax
movq %rcx, 0x30(%rsp)
subq %rcx, %rax
je 0x1d09
sarq $0x3, %rax
movabsq $0x4ec4ec4ec4ec4ec5, %r15 # imm = 0x4EC4EC4EC4EC4EC5
imulq %r15, %rax
movq %rax, 0x70(%rsp)
movq 0x1a8(%rsp), %rcx
movq 0x18(%rcx), %rax
movq 0x20(%rcx), %rcx
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
movq 0x4a0(%rsp), %rsi
movq 0x490(%rsp), %rdi
leaq 0x58(%rax), %r8
xorl %r9d, %r9d
cmpq %rax, %rcx
je 0x1aee
imulq $0x68, %r9, %r11
movq 0x30(%rsp), %rbx
movq 0x28(%rbx,%r11), %r10
movq 0x58(%rbx,%r11), %r11
movq %r8, %rbx
xorl %r14d, %r14d
cmpq %r11, (%rbx)
jae 0x1ad6
xorl %ebp, %ebp
jmp 0x1ade
cmpq %r10, -0x30(%rbx)
setae %bpl
movb %bpl, (%rsi,%r14)
incq %r14
addq $0x68, %rbx
cmpq %r14, %rdx
jne 0x1acd
incq %r9
addq %rdi, %rsi
cmpq 0x70(%rsp), %r9
jne 0x1aaf
movq 0x1a8(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x20(%rax), %rax
movq %rax, 0xa0(%rsp)
movq %rax, %rdx
movq %rcx, 0x78(%rsp)
subq %rcx, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
movq %rdx, 0x10(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x4a0(%rsp), %rax
movq %rax, 0x60(%rsp)
movq $0x0, 0x58(%rsp)
xorl %ecx, %ecx
movq 0xa0(%rsp), %rax
cmpq 0x78(%rsp), %rax
movq %rcx, 0xb8(%rsp)
je 0x1ce8
movq %rcx, %r13
imulq 0x68(%rsp), %r13
addq 0x60(%rsp), %r13
imulq $0x68, %rcx, %rax
movq 0x30(%rsp), %rcx
leaq (%rcx,%rax), %rsi
movq %rsi, 0x38(%rsp)
leaq 0x8(%rcx,%rax), %rsi
movq %rsi, 0x8(%rsp)
leaq 0x38(%rcx,%rax), %rax
movq %rax, 0x50(%rsp)
xorl %r12d, %r12d
cmpb $0x1, (%r13,%r12)
jne 0x1cdc
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rbx
cmpq 0x8(%rsp), %rbx
je 0x1c42
imulq $0x68, %r12, %rax
movq 0x78(%rsp), %rcx
leaq 0x8(%rcx,%rax), %r14
movq 0x10(%r14), %rbp
cmpq %r14, %rbp
je 0x1cca
movq 0x490(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x4a0(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rbx), %r15
imulq 0x28(%rsp), %r15
addq 0x20(%rsp), %r15
movq %rbp, %rax
movq 0x20(%rax), %rcx
cmpb $0x0, (%r15,%rcx)
jne 0x1c26
movq %rax, %rdi
callq 0x1150
cmpq %r14, %rax
jne 0x1c09
jmp 0x1cca
movq %rbx, %rdi
callq 0x1150
cmpq 0x8(%rsp), %rax
je 0x1c42
movq %rax, %rbx
cmpq %r14, %rbp
jne 0x1bf7
jmp 0x1cca
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rbx
cmpq 0x50(%rsp), %rbx
je 0x1cd7
imulq $0x68, %r12, %rax
movq 0x78(%rsp), %rcx
leaq 0x38(%rcx,%rax), %r14
movq 0x10(%r14), %rbp
cmpq %r14, %rbp
je 0x1cca
movq 0x490(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x4a0(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rbx), %r15
imulq 0x28(%rsp), %r15
addq 0x20(%rsp), %r15
movq %rbp, %rax
movq 0x20(%rax), %rcx
cmpb $0x0, (%r15,%rcx)
jne 0x1cb3
movq %rax, %rdi
callq 0x1150
cmpq %r14, %rax
jne 0x1c99
jmp 0x1cca
movq %rbx, %rdi
callq 0x1150
cmpq 0x50(%rsp), %rax
je 0x1cd7
movq %rax, %rbx
cmpq %r14, %rbp
jne 0x1c87
movb $0x0, (%r13,%r12)
movb $0x1, %al
movq %rax, 0x58(%rsp)
movq 0x10(%rsp), %rdx
incq %r12
cmpq %rdx, %r12
jne 0x1ba2
movq 0xb8(%rsp), %rcx
incq %rcx
cmpq 0x70(%rsp), %rcx
jne 0x1b50
testb $0x1, 0x58(%rsp)
jne 0x1b2b
leaq 0x1a0(%rsp), %rax
movq 0x258(%rax), %rbp
xorl %ecx, %ecx
movabsq $0x4ec4ec4ec4ec4ec5, %r13 # imm = 0x4EC4EC4EC4EC4EC5
movq 0x450(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x478(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x1a8(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0x3a0(%rsp), %rax
movq %rax, 0x198(%rsp)
movq 0x4a0(%rsp), %r9
movq 0x4b8(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x528(%rsp), %rax
movq %rax, 0x190(%rsp)
movq 0x3c0(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x538(%rsp), %rax
movq %rax, 0x188(%rsp)
movq 0x3d0(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x548(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x3b0(%rsp), %rax
movq %rax, 0x180(%rsp)
movq 0x558(%rsp), %rax
movq %rax, 0x160(%rsp)
movq 0x4a8(%rsp), %r10
movq %r9, 0x68(%rsp)
movq %r10, 0x60(%rsp)
movq %rcx, 0x48(%rsp)
movq 0x3e8(%rsp), %rax
decq %rax
movq (%rbp), %rsi
cmpq %rax, %rcx
movq %rsi, 0x8(%rsp)
jae 0x250a
movq 0x30(%rsp), %rax
movq (%rax,%rsi,8), %rax
cmpq $-0x1, %rax
je 0x1e3c
movq 0x108(%rsp), %rcx
movq $-0x1, (%rcx,%rax,8)
movq 0xf8(%rsp), %rax
movq 0x20(%rax), %r14
subq 0x18(%rax), %r14
sarq $0x3, %r14
imulq %r13, %r14
movq 0x30(%rsp), %rax
movq (%rax,%rsi,8), %rbx
incq %rbx
movq $-0x1, 0xb0(%rsp)
cmpq %r14, %rbx
je 0x1ec5
movq 0x490(%rsp), %r15
imulq %rsi, %r15
addq %r9, %r15
movq 0x478(%rsp), %r12
cmpb $0x1, (%r15,%rbx)
jne 0x1ebd
cmpq $-0x1, (%r12,%rbx,8)
jne 0x1ebd
leaq 0x1a0(%rsp), %rdi
movq %rbx, %rdx
callq 0x2e56
movq 0x60(%rsp), %r10
movq 0x68(%rsp), %r9
movq 0x8(%rsp), %rsi
testb %al, %al
jne 0x24fd
incq %rbx
cmpq %rbx, %r14
jne 0x1e88
movq 0xb0(%rsp), %r12
cmpq $-0x1, %r12
je 0x240a
movq 0x30(%rsp), %rax
movq %r12, (%rax,%rsi,8)
movq 0x108(%rsp), %rax
movq %rsi, (%rax,%r12,8)
movl 0x4b0(%rsp), %eax
movslq 0x4c0(%rsp), %rcx
leaq 0x1(%rcx), %rdx
movl %edx, 0x4c0(%rsp)
movq 0xa8(%rsp), %rdx
movl %eax, 0x4(%rdx,%rcx,4)
movl 0x4b0(%rsp), %eax
movl %eax, 0x4b4(%rsp)
leaq (%rsi,%rsi,2), %rax
movq 0x190(%rsp), %rcx
movq (%rcx,%rax,8), %rdx
movq 0x8(%rcx,%rax,8), %r13
movq %rdx, 0x10(%rsp)
cmpq %r13, %rdx
je 0x1fcd
leaq (%r12,%r12,2), %rdx
movq 0x178(%rsp), %rsi
movq (%rsi,%rdx,8), %rcx
movq 0x8(%rsi,%rdx,8), %rdx
movq 0x478(%rsp), %rsi
movq 0x10(%rsp), %rdi
cmpq %rdx, %rcx
je 0x1fc4
movq 0x490(%rsp), %r8
movq 0x4a0(%rsp), %r9
imulq (%rdi), %r8
movq 0x4a8(%rsp), %r10
movq %rcx, %r11
movq (%r11), %rbx
cmpq $-0x1, (%rsi,%rbx,8)
jne 0x1fbb
addq %r8, %rbx
cmpb $0x1, (%r9,%rbx)
jne 0x1fbb
movb $0x0, (%r9,%rbx)
movslq 0x4b0(%rsp), %r14
leaq 0x1(%r14), %r15
movl %r15d, 0x4b0(%rsp)
movl %ebx, 0x4(%r10,%r14,4)
addq $0x8, %r11
cmpq %rdx, %r11
jne 0x1f89
addq $0x8, %rdi
cmpq %r13, %rdi
jne 0x1f65
movq %r13, 0xa0(%rsp)
movq 0x188(%rsp), %rcx
movq (%rcx,%rax,8), %rdx
movq 0x8(%rcx,%rax,8), %r13
movq %rdx, 0x38(%rsp)
cmpq %r13, %rdx
je 0x207e
leaq (%r12,%r12,2), %rdx
movq 0x170(%rsp), %rsi
movq (%rsi,%rdx,8), %rcx
movq 0x8(%rsi,%rdx,8), %rdx
movq 0x478(%rsp), %rsi
movq 0x38(%rsp), %rdi
cmpq %rdx, %rcx
je 0x2075
movq 0x490(%rsp), %r8
movq 0x4a0(%rsp), %r9
imulq (%rdi), %r8
movq 0x4a8(%rsp), %r10
movq %rcx, %r11
movq (%r11), %rbx
cmpq $-0x1, (%rsi,%rbx,8)
jne 0x206c
addq %r8, %rbx
cmpb $0x1, (%r9,%rbx)
jne 0x206c
movb $0x0, (%r9,%rbx)
movslq 0x4b0(%rsp), %r14
leaq 0x1(%r14), %r15
movl %r15d, 0x4b0(%rsp)
movl %ebx, 0x4(%r10,%r14,4)
addq $0x8, %r11
cmpq %rdx, %r11
jne 0x203a
addq $0x8, %rdi
cmpq %r13, %rdi
jne 0x2016
movq %r13, 0x70(%rsp)
leaq (%r12,%r12,2), %rcx
movq 0x198(%rsp), %rdx
movq (%rdx,%rcx,8), %rsi
movq 0x8(%rdx,%rcx,8), %r13
movq %rsi, 0x50(%rsp)
cmpq %r13, %rsi
je 0x211c
movq 0x168(%rsp), %rsi
movq (%rsi,%rax,8), %rdx
movq 0x8(%rsi,%rax,8), %rsi
movq 0x490(%rsp), %rdi
movq 0x4a0(%rsp), %r8
movq 0x50(%rsp), %r9
cmpq %rsi, %rdx
je 0x2113
movq (%r9), %r10
movq 0x4a8(%rsp), %r11
movq %rdx, %rbx
movq (%rbx), %r14
imulq %rdi, %r14
addq %r10, %r14
cmpb $0x1, (%r8,%r14)
jne 0x210a
movb $0x0, (%r8,%r14)
movslq 0x4b0(%rsp), %r15
leaq 0x1(%r15), %r12
movl %r12d, 0x4b0(%rsp)
movl %r14d, 0x4(%r11,%r15,4)
addq $0x8, %rbx
cmpq %rsi, %rbx
jne 0x20db
addq $0x8, %r9
cmpq %r13, %r9
jne 0x20c8
movq %rbp, 0x100(%rsp)
movq 0x180(%rsp), %rdx
movq (%rdx,%rcx,8), %rsi
movq 0x8(%rdx,%rcx,8), %rbp
movq %rsi, 0x58(%rsp)
cmpq %rbp, %rsi
je 0x21b9
movq 0x160(%rsp), %rdx
movq (%rdx,%rax,8), %rcx
movq 0x8(%rdx,%rax,8), %rax
movq 0x490(%rsp), %rdx
movq 0x4a0(%rsp), %rsi
movq 0x58(%rsp), %rdi
cmpq %rax, %rcx
je 0x21b0
movq (%rdi), %r8
movq 0x4a8(%rsp), %r9
movq %rcx, %r10
movq (%r10), %r11
imulq %rdx, %r11
addq %r8, %r11
cmpb $0x1, (%rsi,%r11)
jne 0x21a7
movb $0x0, (%rsi,%r11)
movslq 0x4b0(%rsp), %rbx
leaq 0x1(%rbx), %r14
movl %r14d, 0x4b0(%rsp)
movl %r11d, 0x4(%r9,%rbx,4)
addq $0x8, %r10
cmpq %rax, %r10
jne 0x2178
addq $0x8, %rdi
cmpq %rbp, %rdi
jne 0x2165
movq 0x3e8(%rsp), %rax
shrq %rax
cmpq %rax, 0x48(%rsp)
movq 0x8(%rsp), %rsi
ja 0x23be
movq 0xa0(%rsp), %rax
cmpq %rax, 0x10(%rsp)
je 0x22d2
movq 0x478(%rsp), %r15
cmpq %r13, 0x50(%rsp)
je 0x22b6
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x4a0(%rsp), %rcx
movq 0x4a8(%rsp), %rdx
movq %rdx, 0xb8(%rsp)
movq 0x490(%rsp), %rdx
movq %rax, 0x28(%rsp)
imulq %rax, %rdx
movq %rcx, 0x20(%rsp)
movq %rdx, 0x78(%rsp)
leaq (%rcx,%rdx), %r12
movq 0x50(%rsp), %rbx
movq (%rbx), %r14
cmpq $-0x1, (%r15,%r14,8)
jne 0x22ad
cmpb $0x1, (%r12,%r14)
jne 0x22ad
leaq 0x1a0(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq %r14, %rdx
callq 0x2cda
movq 0x8(%rsp), %rsi
testb %al, %al
jne 0x22ad
addq 0x78(%rsp), %r14
movq 0x20(%rsp), %rax
cmpb $0x1, (%rax,%r14)
jne 0x22ad
movq 0x20(%rsp), %rax
movb $0x0, (%rax,%r14)
movslq 0x4b0(%rsp), %rax
leaq 0x1(%rax), %rcx
movl %ecx, 0x4b0(%rsp)
movq 0x8(%rsp), %rsi
movq 0xb8(%rsp), %rcx
movl %r14d, 0x4(%rcx,%rax,4)
addq $0x8, %rbx
cmpq %r13, %rbx
jne 0x223e
movq 0x10(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x10(%rsp)
cmpq 0xa0(%rsp), %rax
jne 0x21ef
movq 0x70(%rsp), %rax
cmpq %rax, 0x38(%rsp)
je 0x23be
movq 0x478(%rsp), %r15
cmpq %rbp, 0x58(%rsp)
je 0x23a5
movq 0x38(%rsp), %rax
movq (%rax), %rbx
movq 0x4a0(%rsp), %rax
movq 0x4a8(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq 0x490(%rsp), %rcx
imulq %rbx, %rcx
movq %rax, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
leaq (%rax,%rcx), %r12
movq 0x58(%rsp), %r13
movq (%r13), %r14
cmpq $-0x1, (%r15,%r14,8)
jne 0x239c
cmpb $0x1, (%r12,%r14)
jne 0x239c
leaq 0x1a0(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x2cda
movq 0x8(%rsp), %rsi
testb %al, %al
jne 0x239c
addq 0x20(%rsp), %r14
movq 0x28(%rsp), %rax
cmpb $0x1, (%rax,%r14)
jne 0x239c
movq 0x28(%rsp), %rax
movb $0x0, (%rax,%r14)
movslq 0x4b0(%rsp), %rax
leaq 0x1(%rax), %rcx
movl %ecx, 0x4b0(%rsp)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rcx
movl %r14d, 0x4(%rcx,%rax,4)
addq $0x8, %r13
cmpq %rbp, %r13
jne 0x2331
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
cmpq 0x70(%rsp), %rax
jne 0x22ea
leaq 0x1a0(%rsp), %rdi
movq 0xb0(%rsp), %rdx
callq 0x2cda
testb %al, %al
je 0x2482
movq 0x48(%rsp), %rcx
incq %rcx
movq 0x100(%rsp), %rbp
addq $0x8, %rbp
movb $0x1, %al
movabsq $0x4ec4ec4ec4ec4ec5, %r13 # imm = 0x4EC4EC4EC4EC4EC5
movq 0x68(%rsp), %r9
movq 0x60(%rsp), %r10
jmp 0x24f0
cmpq $-0x1, %rsi
je 0x241d
movq 0x30(%rsp), %rax
movq $-0x1, (%rax,%rsi,8)
movq 0x48(%rsp), %rax
leaq -0x1(%rax), %rcx
testq %rax, %rax
je 0x24ee
addq $-0x8, %rbp
movslq 0x4c0(%rsp), %rax
leal -0x1(%rax), %edx
movl %edx, 0x4c0(%rsp)
movq 0xa8(%rsp), %rdx
movslq (%rdx,%rax,4), %rdx
movslq 0x4b0(%rsp), %rsi
movb $0x1, %al
cmpl %edx, %esi
jle 0x24f0
leal -0x1(%rsi), %edi
movl %edi, 0x4b0(%rsp)
movslq (%r10,%rsi,4), %r8
decq %rsi
movb $0x1, (%r9,%r8)
decl %edi
cmpq %rdx, %rsi
jg 0x2466
jmp 0x24f0
movslq 0x4c0(%rsp), %rax
leal -0x1(%rax), %ecx
movl %ecx, 0x4c0(%rsp)
movq 0xa8(%rsp), %rcx
movslq (%rcx,%rax,4), %rcx
movslq 0x4b0(%rsp), %rdx
movb $0x1, %al
cmpl %ecx, %edx
movabsq $0x4ec4ec4ec4ec4ec5, %r13 # imm = 0x4EC4EC4EC4EC4EC5
movq 0x100(%rsp), %rbp
movq 0x68(%rsp), %r9
movq 0x60(%rsp), %r10
jle 0x24e7
leal -0x1(%rdx), %esi
movl %esi, 0x4b0(%rsp)
movslq (%r10,%rdx,4), %rdi
decq %rdx
movb $0x1, (%r9,%rdi)
decl %esi
cmpq %rcx, %rdx
jg 0x24cd
movq 0x48(%rsp), %rcx
jmp 0x24f0
xorl %eax, %eax
testb %al, %al
jne 0x1dfb
jmp 0x2738
movq %rbx, 0xb0(%rsp)
jmp 0x1ec5
movq 0xf8(%rsp), %rax
movq 0x20(%rax), %r12
movq 0x18(%rax), %rax
subq %rax, %r12
je 0x26d0
sarq $0x3, %r12
imulq %r13, %r12
xorl %r15d, %r15d
movq 0x478(%rsp), %rbx
cmpq $-0x1, (%rbx,%r15,8)
jne 0x26c4
movq 0x490(%rsp), %rax
imulq %rsi, %rax
addq 0x4a0(%rsp), %rax
cmpb $0x1, (%r15,%rax)
jne 0x26c4
leaq 0x1a0(%rsp), %rdi
movq %r15, %rdx
callq 0x2e56
movq 0x8(%rsp), %rsi
testb %al, %al
je 0x26c4
movq 0x450(%rsp), %rax
movq %r15, (%rax,%rsi,8)
movq %rsi, (%rbx,%r15,8)
movl $0x12, %edx
movq 0x5a3f(%rip), %rdi      # 0x7fd8
leaq 0x2b72(%rip), %rsi      # 0x5112
callq 0x1140
movq 0x5a2c(%rip), %rcx      # 0x7fd8
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x1100
movsbl %al, %esi
movq 0x5a0e(%rip), %rdi      # 0x7fd8
callq 0x1040
movq %rax, %rdi
callq 0x10d0
movq 0x420(%rsp), %rax
movq 0x20(%rax), %r13
movq 0x18(%rax), %rax
subq %rax, %r13
je 0x268c
sarq $0x3, %r13
movabsq $0x4ec4ec4ec4ec4ec5, %rax # imm = 0x4EC4EC4EC4EC4EC5
imulq %rax, %r13
xorl %ebx, %ebx
movl $0x2, %edx
movq 0x59c8(%rip), %rdi      # 0x7fd8
leaq 0x2b0e(%rip), %rsi      # 0x5125
callq 0x1140
movq 0x59b5(%rip), %rdi      # 0x7fd8
movq %rbx, %rsi
callq 0x10c0
movq %rax, %r14
movl $0x4, %edx
movq %rax, %rdi
leaq 0x2aeb(%rip), %rsi      # 0x5128
callq 0x1140
movq 0x450(%rsp), %rax
movq (%rax,%rbx,8), %rsi
movq %r14, %rdi
callq 0x10c0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x1100
movsbl %al, %esi
movq %r14, %rdi
callq 0x1040
movq %rax, %rdi
callq 0x10d0
incq %rbx
cmpq %rbx, %r13
jne 0x2604
movq 0x418(%rsp), %rax
incl (%rax)
movq 0x450(%rsp), %rax
movq $-0x1, %rcx
movq 0x8(%rsp), %rsi
movq %rcx, (%rax,%rsi,8)
movq 0x478(%rsp), %rax
movq %rcx, (%rax,%r15,8)
movabsq $0x4ec4ec4ec4ec4ec5, %r13 # imm = 0x4EC4EC4EC4EC4EC5
incq %r15
cmpq %r12, %r15
jne 0x252e
movq 0x4b8(%rsp), %rax
movslq 0x4c0(%rsp), %rcx
leal -0x1(%rcx), %edx
movl %edx, 0x4c0(%rsp)
movslq (%rax,%rcx,4), %rax
movslq 0x4b0(%rsp), %rcx
cmpl %eax, %ecx
jle 0x2727
movq 0x4a0(%rsp), %rdx
movq 0x4a8(%rsp), %rsi
leal -0x1(%rcx), %edi
movl %edi, 0x4b0(%rsp)
movslq (%rsi,%rcx,4), %r8
decq %rcx
movb $0x1, (%rdx,%r8)
decl %edi
cmpq %rax, %rcx
jg 0x270d
addq $-0x8, %rbp
movq 0x48(%rsp), %rcx
decq %rcx
jmp 0x1d24
leaq 0x1a0(%rsp), %rdi
callq 0x2b24
movq 0x148(%rsp), %rdi
testq %rdi, %rdi
je 0x2762
movq 0x158(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x586f(%rip), %rdi      # 0x7fd8
leaq 0x2918(%rip), %rsi      # 0x5088
movl $0x14, %edx
callq 0x1140
leaq 0xc0(%rsp), %r15
movl 0x84(%rsp), %esi
movq 0x5848(%rip), %rdi      # 0x7fd8
callq 0x11a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1100
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1040
movq %rax, %rdi
callq 0x10d0
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x27d6
movl $0x1, %esi
callq 0x1120
leaq 0xd8(%rsp), %rdi
callq 0x30a4
movq 0xc0(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x128(%rsp), %r14
je 0x280d
movq (%rdi), %rbx
movl $0x28, %esi
callq 0x1120
movq %rbx, %rdi
cmpq %r15, %rbx
jne 0x27f8
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x2824
movl $0x1, %esi
callq 0x1120
movq %r14, %rdi
callq 0x30a4
movq 0x110(%rsp), %rdi
leaq 0x110(%rsp), %r14
cmpq %r14, %rdi
je 0x2856
movq (%rdi), %rbx
movl $0x28, %esi
callq 0x1120
movq %rbx, %rdi
cmpq %r14, %rbx
jne 0x2841
xorl %eax, %eax
addq $0x568, %rsp            # imm = 0x568
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x293b
movq %rax, %rbx
jmp 0x2943
movq %rax, %rbx
jmp 0x294b
movq %rax, %rbx
jmp 0x2953
movq %rax, %rbx
jmp 0x295b
movq %rax, %rbx
jmp 0x2985
movq %rax, %rbx
jmp 0x29a2
movq %rax, %rbx
jmp 0x29bf
movq %rax, %rbx
jmp 0x2a49
movq %rax, %rbx
jmp 0x2ae5
jmp 0x28e8
jmp 0x28e8
jmp 0x28e8
jmp 0x28e8
jmp 0x28e8
jmp 0x28e8
jmp 0x28e8
jmp 0x28e8
jmp 0x28e8
jmp 0x28d8
jmp 0x28d8
jmp 0x28d8
jmp 0x28d8
jmp 0x28d8
jmp 0x28d8
movq %rax, %rbx
jmp 0x2b0f
movq %rax, %rbx
jmp 0x2968
movq %rax, %rbx
jmp 0x2b02
jmp 0x2ad5
jmp 0x28fb
jmp 0x28fb
jmp 0x28fb
movq %rax, %rbx
leaq 0x4c8(%rsp), %r14
leaq 0x4e0(%rsp), %r15
leaq 0x4f8(%rsp), %r12
leaq 0x510(%rsp), %r13
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x293b
movq 0x98(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq %r13, %rdi
callq 0x3ce8
movq %r12, %rdi
callq 0x3ce8
movq %r15, %rdi
callq 0x3ce8
movq %r14, %rdi
callq 0x3ce8
leaq 0x488(%rsp), %rdi
callq 0x2ca8
movq 0x460(%rsp), %rdi
testq %rdi, %rdi
je 0x2985
movq 0x470(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x438(%rsp), %rdi
testq %rdi, %rdi
je 0x29a2
movq 0x448(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x3f8(%rsp), %rdi
testq %rdi, %rdi
je 0x29bf
movq 0x408(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
leaq 0x388(%rsp), %rdi
callq 0x3ce8
leaq 0x370(%rsp), %rdi
callq 0x3ce8
leaq 0x358(%rsp), %rdi
callq 0x3ce8
leaq 0x340(%rsp), %r14
movq %r14, %rdi
callq 0x3ce8
movq -0x38(%r14), %rdi
testq %rdi, %rdi
je 0x2a0f
movq 0x318(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x2f0(%rsp), %rdi
testq %rdi, %rdi
je 0x2a2c
movq 0x300(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x2d8(%rsp), %rdi
testq %rdi, %rdi
je 0x2a49
movq 0x2e8(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
leaq 0x270(%rsp), %rdi
callq 0x3ce8
leaq 0x258(%rsp), %rdi
callq 0x3ce8
leaq 0x240(%rsp), %rdi
callq 0x3ce8
leaq 0x228(%rsp), %r14
movq %r14, %rdi
callq 0x3ce8
movq -0x38(%r14), %rdi
testq %rdi, %rdi
je 0x2a99
movq 0x200(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x1d8(%rsp), %rdi
testq %rdi, %rdi
je 0x2ab6
movq 0x1e8(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x2ae5
movq 0x1d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
jmp 0x2ae5
movq %rax, %rbx
leaq 0x1a0(%rsp), %rdi
callq 0x2b24
movq 0x148(%rsp), %rdi
testq %rdi, %rdi
je 0x2b02
movq 0x158(%rsp), %rsi
subq %rdi, %rsi
callq 0x1120
leaq 0xc0(%rsp), %rdi
callq 0x3026
leaq 0x110(%rsp), %rdi
callq 0x3026
movq %rbx, %rdi
callq 0x11b0