// File: /workspace/github_cpp_makefile_star2_O2/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 $0x508, %rsp            # imm = 0x508
leaq 0xf0(%rsp), %rbx
leaq 0x140(%rsp), %rsi
movq %rbx, %rdi
callq 0x382a
movq %rbx, %rdi
callq 0x386b
leaq 0xf0(%rsp), %rdi
movq %rax, %rbx
callq 0x386b
leaq 0xf0(%rsp), %rdi
movq %rax, %r15
callq 0x386b
leaq 0x140(%rsp), %rdi
leaq 0xf0(%rsp), %rcx
movq %rax, %r14
movq %rbx, %rsi
movq %r15, %rdx
callq 0x38a8
leaq 0x140(%rsp), %rdi
leaq 0xf0(%rsp), %rcx
movq %r15, %rsi
movq %r14, %rdx
callq 0x38a8
leaq 0x140(%rsp), %rdi
leaq 0xf0(%rsp), %rcx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x38a8
leaq 0xa0(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x382a
leaq 0xa0(%rsp), %rdi
callq 0x386b
leaq 0xa0(%rsp), %rdi
movq %rax, %rbx
callq 0x386b
leaq 0xa0(%rsp), %rdi
movq %rax, %r14
callq 0x386b
leaq 0xa0(%rsp), %rdi
movq %rax, %r12
callq 0x386b
leaq 0x140(%rsp), %rdi
leaq 0xa0(%rsp), %rcx
movq %rax, %r15
movq %rbx, %rsi
movq %r14, %rdx
callq 0x38a8
leaq 0x140(%rsp), %rdi
leaq 0xa0(%rsp), %rcx
movq %r14, %rsi
movq %r12, %rdx
callq 0x38a8
leaq 0x140(%rsp), %rdi
leaq 0xa0(%rsp), %rcx
movq %r12, %rsi
movq %rbx, %rdx
callq 0x38a8
leaq 0x140(%rsp), %rdi
leaq 0xa0(%rsp), %rcx
movq %r14, %rsi
movq %r15, %rdx
callq 0x38a8
leaq 0xa0(%rsp), %r14
leaq 0x140(%rsp), %rdi
movq %r15, %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x38a8
andl $0x0, 0x6c(%rsp)
leaq 0xf0(%rsp), %rbx
leaq 0x128(%rsp), %rdi
movq %rbx, %rsi
callq 0x4dfa
leaq 0x150(%rsp), %r12
movq %rbx, -0x10(%r12)
movq %r14, -0x8(%r12)
movq %r12, %rdi
movq %rbx, %rsi
callq 0x428a
leaq 0x268(%rsp), %r13
leaq 0xa0(%rsp), %rsi
movq %r13, %rdi
callq 0x428a
movq 0x110(%rsp), %rax
subq 0x108(%rsp), %rax
pushq $0x68
popq %rcx
cqto
leaq 0x398(%rsp), %rbp
idivq %rcx
movq %rax, -0x10(%rbp)
movq 0xc0(%rsp), %rax
subq 0xb8(%rsp), %rax
cqto
idivq %rcx
movq %rax, -0x8(%rbp)
leaq 0x128(%rsp), %rsi
movq %rbp, %rdi
callq 0x465a
leaq 0x6c(%rsp), %rax
leaq 0x3d8(%rsp), %rdi
leaq 0x3f(%rsp), %rsi
leaq 0x3e(%rsp), %rdx
movq %rax, -0x20(%rdi)
movq %rbx, -0x18(%rdi)
movq %rsi, -0x10(%rdi)
movq %rdx, -0x8(%rdi)
leaq 0x88(%rsp), %rdx
orq $-0x1, (%rdx)
movq -0x50(%rdi), %rsi
leaq 0x30(%rsp), %rcx
callq 0x46aa
leaq 0x400(%rsp), %rdi
leaq 0x88(%rsp), %rdx
movq -0x28(%rdi), %rax
orq $-0x1, (%rdx)
movq -0x70(%rdi), %rsi
movq %rax, -0x10(%rdi)
leaq 0x30(%rsp), %rcx
callq 0x46aa
movq 0x400(%rsp), %rax
movq %rax, 0x418(%rsp)
movq 0x388(%rsp), %rbx
movq 0x390(%rsp), %r14
movq %rbx, 0x428(%rsp)
movq %r14, 0x430(%rsp)
imulq %rbx, %r14
movq %r14, %rdi
callq 0x2030
movq %rax, 0x440(%rsp)
movq %r14, %rax
shrq $0x3e, %rax
shlq $0x2, %r14
negq %rax
sbbq %r15, %r15
orq %r14, %r15
movq %r15, %rdi
callq 0x2030
movq %rax, 0x448(%rsp)
orq $-0x1, 0x450(%rsp)
movq %r15, %rdi
callq 0x2030
leaq 0x428(%rsp), %rcx
leaq 0x468(%rsp), %rdi
movq %rax, 0x30(%rcx)
orl $-0x1, 0x38(%rcx)
leaq 0x88(%rsp), %rdx
movq %rbx, %rsi
callq 0x4702
leaq 0x480(%rsp), %rdi
movq -0xf8(%rdi), %rsi
leaq 0x88(%rsp), %rdx
callq 0x4702
leaq 0x498(%rsp), %rdi
movq -0x110(%rdi), %rsi
leaq 0x88(%rsp), %rdx
callq 0x4702
leaq 0x4b0(%rsp), %rdi
movq -0x128(%rdi), %rsi
leaq 0x88(%rsp), %rdx
callq 0x4702
movq 0x468(%rsp), %rax
movq 0x388(%rsp), %rsi
movq %rax, 0x4c8(%rsp)
movq 0x480(%rsp), %rax
movq %rax, 0x4d8(%rsp)
movq 0x498(%rsp), %rax
movq %rax, 0x4e8(%rsp)
movq 0x4b0(%rsp), %rax
movq %rax, 0x4f8(%rsp)
leaq 0x88(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x4756
movq 0x88(%rsp), %rbp
movq 0x128(%rsp), %rax
xorl %ecx, %ecx
cmpq %rcx, 0x388(%rsp)
jbe 0x26f3
movq (%rax,%rcx,8), %rdx
movq %rcx, (%rbp,%rdx,8)
incq %rcx
jmp 0x26db
movq 0x110(%rsp), %rax
subq 0x108(%rsp), %rax
cqto
pushq $0x68
popq %rcx
idivq %rcx
leaq 0x30(%rsp), %r14
xorl %ecx, %ecx
movq %rax, 0x10(%rsp)
cmpq %rax, %rcx
je 0x2847
cmpq %rax, %rcx
je 0x283f
movq 0x228(%rsp), %rax
imulq $0x18, %rcx, %r12
movq (%rbp,%rcx,8), %r13
movq %rcx, (%rsp)
movq (%rax,%r12), %rbx
movq 0x8(%rax,%r12), %r15
cmpq %r15, %rbx
je 0x2774
movq (%rbx), %rax
movq %rax, 0x30(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x276e
movq 0x4c8(%rsp), %rdi
addq %r12, %rdi
movq %r14, %rsi
callq 0x47aa
addq $0x8, %rbx
jmp 0x2747
movq 0x238(%rsp), %rax
movq (%rax,%r12), %rbx
movq 0x8(%rax,%r12), %r15
cmpq %r15, %rbx
je 0x27b2
movq (%rbx), %rax
movq %rax, 0x30(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x27ac
movq 0x4d8(%rsp), %rdi
addq %r12, %rdi
movq %r14, %rsi
callq 0x47aa
addq $0x8, %rbx
jmp 0x2785
movq 0x248(%rsp), %rax
movq (%rax,%r12), %rbx
movq 0x8(%rax,%r12), %r15
cmpq %r15, %rbx
je 0x27f0
movq (%rbx), %rax
movq %rax, 0x30(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x27ea
movq 0x4e8(%rsp), %rdi
addq %r12, %rdi
movq %r14, %rsi
callq 0x47aa
addq $0x8, %rbx
jmp 0x27c3
movq 0x258(%rsp), %rax
movq (%rax,%r12), %rbx
movq 0x8(%rax,%r12), %r15
cmpq %r15, %rbx
je 0x282e
movq (%rbx), %rax
movq %rax, 0x30(%rsp)
cmpq %r13, (%rbp,%rax,8)
jbe 0x2828
movq 0x4f8(%rsp), %rdi
addq %r12, %rdi
movq %r14, %rsi
callq 0x47aa
addq $0x8, %rbx
jmp 0x2801
movq (%rsp), %rcx
movq 0x10(%rsp), %rax
incq %rcx
jmp 0x2720
movq %rax, %rcx
jmp 0x2717
leaq 0x88(%rsp), %rdi
callq 0x4a14
movq 0x140(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x20(%rax), %rax
subq %rcx, %rax
movq %rcx, 0x80(%rsp)
cqto
pushq $0x68
popq %rcx
idivq %rcx
xorl %ecx, %ecx
movq %rax, 0x60(%rsp)
cmpq %rax, %rcx
je 0x2924
movq 0x148(%rsp), %rsi
cmpq %rax, %rcx
je 0x291c
movq 0x80(%rsp), %rdx
imulq $0x68, %rcx, %rax
movq 0x18(%rsi), %r9
movq 0x28(%rdx,%rax), %rdi
movq 0x58(%rdx,%rax), %r8
movq 0x20(%rsi), %rax
subq %r9, %rax
cqto
pushq $0x68
popq %r10
idivq %r10
addq $0x58, %r9
xorl %edx, %edx
cmpq %rax, %rdx
je 0x290f
movq 0x430(%rsp), %r10
imulq $0x68, %rdx, %r11
addq %r9, %r11
imulq %rcx, %r10
addq 0x440(%rsp), %r10
cmpq %rdx, %rax
je 0x290a
cmpq %r8, (%r11)
jae 0x28f6
xorl %ebx, %ebx
jmp 0x28fd
cmpq %rdi, -0x30(%r11)
setae %bl
movb %bl, (%r10,%rdx)
incq %rdx
addq $0x68, %r11
jmp 0x28e8
movq %rax, %rdx
jmp 0x28c8
movq 0x60(%rsp), %rax
incq %rcx
jmp 0x288f
movq %rax, %rcx
jmp 0x287e
xorl %esi, %esi
movq $0x0, 0x40(%rsp)
cmpq %rax, %rsi
jne 0x294c
xorl %esi, %esi
testb $0x1, 0x40(%rsp)
movl $0x0, %ecx
movq %rcx, 0x40(%rsp)
jne 0x292f
jmp 0x2b71
movq 0x148(%rsp), %rcx
movq %rcx, 0x78(%rsp)
cmpq %rax, %rsi
je 0x2b69
movq 0x78(%rsp), %rcx
movq 0x20(%rcx), %rax
subq 0x18(%rcx), %rax
cqto
pushq $0x68
popq %rcx
idivq %rcx
movq 0x80(%rsp), %rcx
imulq $0x68, %rsi, %rdx
movq %rsi, 0x8(%rsp)
leaq (%rcx,%rdx), %rdi
movq %rdi, 0x48(%rsp)
leaq 0x8(%rcx,%rdx), %rdi
leaq 0x38(%rcx,%rdx), %rcx
xorl %edx, %edx
movq %rdi, 0x28(%rsp)
movq %rcx, 0x18(%rsp)
movq %rax, 0x50(%rsp)
cmpq %rax, %rdx
je 0x2b5c
movq 0x430(%rsp), %r8
imulq %rsi, %r8
addq 0x440(%rsp), %r8
movq %r8, 0x20(%rsp)
cmpq %rax, %rdx
je 0x2b54
cmpb $0x1, (%r8,%rdx)
jne 0x2b3b
movq 0x48(%rsp), %rax
movq 0x148(%rsp), %rsi
movq 0x440(%rsp), %rcx
movq 0x430(%rsp), %rbx
movq %rdx, %rbp
movq 0x18(%rax), %r15
movq %rsi, (%rsp)
movq %rcx, 0x10(%rsp)
cmpq %rdi, %r15
je 0x2a8a
cmpq %rdi, %r15
je 0x2a85
movq (%rsp), %rax
movq 0x20(%r15), %r14
imulq $0x68, %rdx, %rcx
movb $0x1, %r13b
movq 0x18(%rax), %rax
imulq %rbx, %r14
addq 0x10(%rsp), %r14
leaq 0x8(%rax,%rcx), %r12
movq 0x10(%r12), %rax
cmpq %r12, %rax
je 0x2a66
cmpq %r12, %rax
je 0x2a61
movq 0x20(%rax), %rcx
cmpb $0x0, (%r14,%rcx)
jne 0x2a5e
movq %rax, %rdi
callq 0x2130
jmp 0x2a44
xorl %r13d, %r13d
movq %r12, %rax
jmp 0x2a3f
testb $0x1, %r13b
jne 0x2b18
movq %r15, %rdi
callq 0x2130
movq 0x28(%rsp), %rdi
movq %rax, %r15
movq %rbp, %rdx
jmp 0x2a14
movq %rdi, %r15
jmp 0x2a0f
movq 0x40(%rdi), %r15
movq 0x18(%rsp), %rax
cmpq %rax, %r15
je 0x2b43
cmpq 0x18(%rsp), %r15
je 0x2b06
movq (%rsp), %rax
movq 0x20(%r15), %r14
imulq $0x68, %rdx, %rcx
movb $0x1, %r13b
movq 0x18(%rax), %rax
imulq %rbx, %r14
addq 0x10(%rsp), %r14
leaq 0x38(%rax,%rcx), %r12
movq 0x10(%r12), %rax
cmpq %r12, %rax
je 0x2af0
cmpq %r12, %rax
je 0x2aeb
movq 0x20(%rax), %rcx
cmpb $0x0, (%r14,%rcx)
jne 0x2ae8
movq %rax, %rdi
callq 0x2130
jmp 0x2ace
xorl %r13d, %r13d
movq %r12, %rax
jmp 0x2ac9
testb $0x1, %r13b
jne 0x2b18
movq %r15, %rdi
callq 0x2130
movq %rax, %r15
movq %rbp, %rdx
jmp 0x2a9c
movq 0x18(%rsp), %rax
movq 0x28(%rsp), %rdi
movq %rax, %r15
jmp 0x2a93
movb $0x1, %al
movq 0x20(%rsp), %r8
movq 0x8(%rsp), %rsi
movq 0x28(%rsp), %rdi
movq %rbp, %rdx
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rax
movb $0x0, (%r8,%rbp)
incq %rdx
jmp 0x29ce
movq 0x8(%rsp), %rsi
movq 0x50(%rsp), %rax
movq 0x20(%rsp), %r8
jmp 0x2b3b
movq %rax, %rdx
jmp 0x29ac
movq 0x60(%rsp), %rax
incq %rsi
jmp 0x2959
movq %rax, %rsi
jmp 0x292f
leaq 0x140(%rsp), %rax
movq 0x7458(%rip), %r15      # 0x9fd8
leaq 0x351a(%rip), %r13      # 0x60a1
leaq 0x3516(%rip), %rbp      # 0x60a4
xorl %ebx, %ebx
movq 0x258(%rax), %rax
movq %rax, 0x70(%rsp)
movq %rbx, 0x58(%rsp)
movq 0x70(%rsp), %rcx
movq 0x388(%rsp), %rax
movq (%rcx), %rdx
decq %rax
movq %rdx, (%rsp)
cmpq %rax, %rbx
jae 0x31ab
movq 0x3f0(%rsp), %rax
movq (%rax,%rdx,8), %rcx
cmpq $-0x1, %rcx
je 0x2bec
movq 0x418(%rsp), %rdi
movq %rdx, %rsi
orq $-0x1, (%rdi,%rcx,8)
movq (%rax,%rsi,8), %rsi
incq %rsi
jmp 0x2bee
xorl %esi, %esi
movq 0x148(%rsp), %rcx
movq 0x20(%rcx), %rax
subq 0x18(%rcx), %rax
cqto
pushq $0x68
popq %rcx
idivq %rcx
leaq 0x1(%rsi,%rsi,2), %r14
movq %rax, %rbx
cmpq %rsi, %rbx
je 0x316b
movq 0x430(%rsp), %rax
imulq (%rsp), %rax
addq 0x440(%rsp), %rax
cmpb $0x1, (%rsi,%rax)
jne 0x2c63
movq 0x418(%rsp), %rax
cmpq $-0x1, (%rax,%rsi,8)
jne 0x2c63
movq %rsi, %rdx
movq (%rsp), %rsi
leaq 0x140(%rsp), %rdi
movq %rdx, 0x40(%rsp)
callq 0x3742
movq 0x40(%rsp), %rsi
testb %al, %al
jne 0x2c6c
incq %rsi
addq $0x3, %r14
jmp 0x2c0e
cmpq $-0x1, %rsi
je 0x316b
movq 0x3f0(%rsp), %rax
movq (%rsp), %rdi
movq %rsi, (%rax,%rdi,8)
movq 0x418(%rsp), %rbx
movq %rdi, (%rbx,%rsi,8)
movslq 0x460(%rsp), %rdx
movl 0x450(%rsp), %eax
movq 0x458(%rsp), %rcx
leaq 0x1(%rdx), %rsi
movl %esi, 0x460(%rsp)
movl %eax, 0x4(%rcx,%rdx,4)
movl %eax, 0x454(%rsp)
imulq $0x18, %rdi, %rsi
movq 0x4c8(%rsp), %rdx
movq 0x360(%rsp), %rcx
movq %rsi, 0x8(%rsp)
movq (%rdx,%rsi), %rax
movq 0x8(%rdx,%rsi), %rdx
movq %rdx, 0x78(%rsp)
movq %rax, %rdx
movq %rax, 0x20(%rsp)
cmpq 0x78(%rsp), %rdx
je 0x2d5d
movq 0x430(%rsp), %r8
movq -0x8(%rcx,%r14,8), %rsi
movq (%rcx,%r14,8), %rdi
movq 0x440(%rsp), %r9
movq 0x448(%rsp), %r10
imulq (%rdx), %r8
cmpq %rdi, %rsi
je 0x2d57
movq (%rsi), %r11
cmpq $-0x1, (%rbx,%r11,8)
jne 0x2d51
addq %r8, %r11
cmpb $0x1, (%r9,%r11)
jne 0x2d51
movb $0x0, (%r9,%r11)
movslq 0x450(%rsp), %r12
leaq 0x1(%r12), %rax
movl %eax, 0x450(%rsp)
movl %r11d, 0x4(%r10,%r12,4)
addq $0x8, %rsi
jmp 0x2d1a
addq $0x8, %rdx
jmp 0x2cee
movq 0x4d8(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq 0x370(%rsp), %rcx
movq (%rdx,%rsi), %rax
movq 0x8(%rdx,%rsi), %rdx
movq %rdx, 0x60(%rsp)
movq %rax, %rdx
movq %rax, 0x10(%rsp)
cmpq 0x60(%rsp), %rdx
je 0x2df7
movq 0x430(%rsp), %r8
movq -0x8(%rcx,%r14,8), %rsi
movq (%rcx,%r14,8), %rdi
movq 0x440(%rsp), %r9
movq 0x448(%rsp), %r10
imulq (%rdx), %r8
cmpq %rdi, %rsi
je 0x2df1
movq (%rsi), %r11
cmpq $-0x1, (%rbx,%r11,8)
jne 0x2deb
addq %r8, %r11
cmpb $0x1, (%r9,%r11)
jne 0x2deb
movb $0x0, (%r9,%r11)
movslq 0x450(%rsp), %rax
leaq 0x1(%rax), %r12
movl %r12d, 0x450(%rsp)
movl %r11d, 0x4(%r10,%rax,4)
addq $0x8, %rsi
jmp 0x2db4
addq $0x8, %rdx
jmp 0x2d88
movq 0x340(%rsp), %rax
movq 0x4e8(%rsp), %rcx
addq 0x8(%rsp), %rcx
movq -0x8(%rax,%r14,8), %rdx
movq (%rax,%r14,8), %rsi
movq %rcx, 0x18(%rsp)
movq %rdx, 0xd8(%rsp)
movq %rsi, 0x28(%rsp)
cmpq %rsi, %rdx
je 0x2e97
movq 0x18(%rsp), %rax
movq (%rdx), %rsi
movq 0x430(%rsp), %r9
movq 0x440(%rsp), %r10
movq 0x448(%rsp), %r11
movq (%rax), %rdi
movq 0x8(%rax), %r8
cmpq %r8, %rdi
je 0x2e8c
movq (%rdi), %r12
imulq %r9, %r12
addq %rsi, %r12
cmpb $0x1, (%r10,%r12)
jne 0x2e86
movb $0x0, (%r10,%r12)
movslq 0x450(%rsp), %rax
leaq 0x1(%rax), %rcx
movl %ecx, 0x450(%rsp)
movl %r12d, 0x4(%r11,%rax,4)
addq $0x8, %rdi
jmp 0x2e53
movq 0x28(%rsp), %rsi
addq $0x8, %rdx
jmp 0x2e27
movq 0x350(%rsp), %rax
movq 0x8(%rsp), %rdx
addq 0x4f8(%rsp), %rdx
movq -0x8(%rax,%r14,8), %rcx
movq (%rax,%r14,8), %rax
movq %rdx, 0x8(%rsp)
movq %rax, 0x18(%rsp)
movq %rcx, 0xe0(%rsp)
cmpq 0x18(%rsp), %rcx
je 0x2f3a
movq 0x8(%rsp), %rax
movq (%rcx), %rdx
movq 0x430(%rsp), %r8
movq 0x440(%rsp), %r9
movq 0x448(%rsp), %r10
movq (%rax), %rsi
movq 0x8(%rax), %rdi
cmpq %rdi, %rsi
je 0x2f2f
movq (%rsi), %r11
imulq %r8, %r11
addq %rdx, %r11
cmpb $0x1, (%r9,%r11)
jne 0x2f29
movb $0x0, (%r9,%r11)
movslq 0x450(%rsp), %rax
leaq 0x1(%rax), %r14
movl %r14d, 0x450(%rsp)
movl %r11d, 0x4(%r10,%rax,4)
addq $0x8, %rsi
jmp 0x2ef5
movq 0x28(%rsp), %rsi
addq $0x8, %rcx
jmp 0x2ec7
movq 0x388(%rsp), %rax
movq 0x10(%rsp), %rdx
shrq %rax
cmpq %rax, 0x58(%rsp)
jbe 0x2f86
movq (%rsp), %rsi
movq 0x40(%rsp), %rdx
leaq 0x140(%rsp), %rdi
callq 0x3630
testb %al, %al
jne 0x332d
leaq 0x428(%rsp), %rdi
callq 0x3704
movq 0x58(%rsp), %rbx
jmp 0x2ba1
movq 0x20(%rsp), %rcx
cmpq 0x78(%rsp), %rcx
je 0x3081
movq 0x448(%rsp), %r8
movq (%rcx), %rax
movq 0x440(%rsp), %rdi
movq 0xd8(%rsp), %r12
movq %rcx, 0x20(%rsp)
movq %r8, 0xe8(%rsp)
movq 0x430(%rsp), %r8
movq %rax, 0x8(%rsp)
movq %rdi, 0x48(%rsp)
imulq %rax, %r8
movq %r8, 0x80(%rsp)
addq %rdi, %r8
movq %r8, 0x50(%rsp)
cmpq %rsi, %r12
je 0x3078
movq (%r12), %r14
cmpq $-0x1, (%rbx,%r14,8)
jne 0x306f
cmpb $0x1, (%r8,%r14)
jne 0x306f
movq 0x8(%rsp), %rsi
leaq 0x140(%rsp), %rdi
movq %r14, %rdx
callq 0x3630
movq 0x50(%rsp), %r8
movq 0x28(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq 0x10(%rsp), %rdx
testb %al, %al
jne 0x306f
addq 0x80(%rsp), %r14
movq 0x48(%rsp), %rax
cmpb $0x1, (%rax,%r14)
jne 0x306f
movq 0x48(%rsp), %rax
movq 0xe8(%rsp), %rdi
movb $0x0, (%rax,%r14)
movslq 0x450(%rsp), %rax
leaq 0x1(%rax), %rcx
movl %ecx, 0x450(%rsp)
movq 0x20(%rsp), %rcx
movl %r14d, 0x4(%rdi,%rax,4)
addq $0x8, %r12
jmp 0x2fe4
addq $0x8, %rcx
jmp 0x2f8b
movq 0x18(%rsp), %rcx
cmpq 0x60(%rsp), %rdx
je 0x2f51
movq 0x448(%rsp), %rdi
movq (%rdx), %rax
movq 0x440(%rsp), %rsi
movq 0xe0(%rsp), %r12
movq %rdx, 0x10(%rsp)
movq %rdi, 0x48(%rsp)
movq 0x430(%rsp), %rdi
movq %rax, 0x28(%rsp)
movq %rsi, 0x8(%rsp)
imulq %rax, %rdi
movq %rdi, 0x50(%rsp)
addq %rsi, %rdi
movq %rdi, 0x20(%rsp)
cmpq %rcx, %r12
je 0x3162
movq (%r12), %r14
cmpq $-0x1, (%rbx,%r14,8)
jne 0x3159
cmpb $0x1, (%rdi,%r14)
jne 0x3159
movq 0x28(%rsp), %rsi
leaq 0x140(%rsp), %rdi
movq %r14, %rdx
callq 0x3630
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x10(%rsp), %rdx
testb %al, %al
jne 0x3159
addq 0x50(%rsp), %r14
movq 0x8(%rsp), %rax
cmpb $0x1, (%rax,%r14)
jne 0x3159
movq 0x8(%rsp), %rax
movq 0x48(%rsp), %rsi
movb $0x0, (%rax,%r14)
movslq 0x450(%rsp), %rax
leaq 0x1(%rax), %rcx
movl %ecx, 0x450(%rsp)
movq 0x18(%rsp), %rcx
movl %r14d, 0x4(%rsi,%rax,4)
addq $0x8, %r12
jmp 0x30d9
addq $0x8, %rdx
jmp 0x3086
movq (%rsp), %rcx
cmpq $-0x1, %rcx
je 0x3182
movq 0x3f0(%rsp), %rax
orq $-0x1, (%rax,%rcx,8)
movq 0x58(%rsp), %rbx
testq %rbx, %rbx
je 0x3340
addq $-0x8, 0x70(%rsp)
leaq 0x428(%rsp), %rdi
decq %rbx
callq 0x3704
jmp 0x2b9c
movq 0x148(%rsp), %rcx
movq 0x20(%rcx), %rax
subq 0x18(%rcx), %rax
cqto
pushq $0x68
popq %rcx
idivq %rcx
xorl %r12d, %r12d
movq %rax, %r14
movq %rax, 0x10(%rsp)
cmpq %r14, %r12
je 0x3312
cmpq %r14, %r12
je 0x330a
movq 0x418(%rsp), %rax
cmpq $-0x1, (%rax,%r12,8)
jne 0x3302
movq 0x430(%rsp), %rax
imulq (%rsp), %rax
addq 0x440(%rsp), %rax
cmpb $0x1, (%r12,%rax)
jne 0x3302
movq (%rsp), %rsi
leaq 0x140(%rsp), %rdi
movq %r12, %rdx
callq 0x3742
testb %al, %al
je 0x3302
movq 0x3f0(%rsp), %rax
movq (%rsp), %rcx
movq %r12, (%rax,%rcx,8)
movq 0x418(%rsp), %rax
movq %rcx, (%rax,%r12,8)
leaq 0x2e3c(%rip), %rsi      # 0x608e
movq %r15, %rdi
callq 0x20f0
movq %rax, %rdi
callq 0x2090
movq 0x3c0(%rsp), %rcx
movq 0x20(%rcx), %rax
subq 0x18(%rcx), %rax
cqto
pushq $0x68
popq %rcx
idivq %rcx
xorl %ebx, %ebx
movq %rax, %r14
cmpq %r14, %rbx
je 0x32d0
cmpq %rbx, %r14
je 0x32cb
movq %r15, %rdi
movq %r13, %rsi
callq 0x20f0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x20c0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x20f0
movq 0x3f0(%rsp), %rcx
movq (%rcx,%rbx,8), %rsi
movq %rax, %rdi
callq 0x20c0
movq %rax, %rdi
callq 0x2090
incq %rbx
jmp 0x3284
movq %r14, %rbx
jmp 0x327f
movq 0x3b8(%rsp), %rax
movq (%rsp), %rcx
movq 0x58(%rsp), %rbx
movq 0x10(%rsp), %r14
incl (%rax)
movq 0x3f0(%rsp), %rax
orq $-0x1, (%rax,%rcx,8)
movq 0x418(%rsp), %rax
orq $-0x1, (%rax,%r12,8)
incq %r12
jmp 0x31d7
movq %r14, %r12
jmp 0x31ce
leaq 0x428(%rsp), %rdi
callq 0x3704
addq $-0x8, 0x70(%rsp)
decq %rbx
jmp 0x2b9c
movq 0x58(%rsp), %rbx
addq $0x8, 0x70(%rsp)
incq %rbx
jmp 0x2b9c
leaq 0x140(%rsp), %rdi
callq 0x3580
leaq 0x128(%rsp), %rdi
callq 0x4a14
movq 0x6c77(%rip), %rdi      # 0x9fd8
leaq 0x2c9c(%rip), %rsi      # 0x6004
callq 0x20f0
movl 0x6c(%rsp), %esi
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x2090
leaq 0xa0(%rsp), %rdi
callq 0x38c6
leaq 0xf0(%rsp), %rdi
callq 0x38c6
xorl %eax, %eax
addq $0x508, %rsp            # imm = 0x508
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
jmp 0x34ad
movq %rax, %r15
leaq 0x3d8(%rsp), %rbx
leaq 0x400(%rsp), %r14
jmp 0x34e2
movq %rax, %r15
leaq 0x3d8(%rsp), %rbx
leaq 0x400(%rsp), %r14
jmp 0x34ef
movq %rax, %r15
leaq 0x3d8(%rsp), %rbx
leaq 0x400(%rsp), %r14
jmp 0x34fc
movq %rax, %r15
leaq 0x3d8(%rsp), %rbx
leaq 0x400(%rsp), %r14
jmp 0x3509
movq %rax, %r15
leaq 0x3d8(%rsp), %rbx
jmp 0x351e
movq %rax, %r15
jmp 0x3526
movq %rax, %r15
jmp 0x352e
movq %rax, %r15
jmp 0x3536
movq %rax, %r15
jmp 0x3550
jmp 0x346d
jmp 0x346d
jmp 0x346d
jmp 0x346d
jmp 0x346d
jmp 0x346d
jmp 0x346d
jmp 0x346d
jmp 0x346d
jmp 0x3465
jmp 0x3465
jmp 0x3465
jmp 0x3465
jmp 0x3465
jmp 0x3465
movq %rax, %r15
jmp 0x356a
movq %rax, %r15
jmp 0x355d
movq %rax, %r15
leaq 0x3d8(%rsp), %rbx
leaq 0x400(%rsp), %r14
jmp 0x3516
jmp 0x3540
jmp 0x3540
jmp 0x349d
jmp 0x349d
jmp 0x349d
leaq 0x88(%rsp), %rdi
movq %rax, %r15
callq 0x4a14
leaq 0x4b0(%rsp), %rdi
leaq 0x150(%rsp), %r12
leaq 0x268(%rsp), %r13
leaq 0x398(%rsp), %rbp
leaq 0x3d8(%rsp), %rbx
leaq 0x400(%rsp), %r14
callq 0x47ca
leaq 0x498(%rsp), %rdi
callq 0x47ca
leaq 0x480(%rsp), %rdi
callq 0x47ca
leaq 0x468(%rsp), %rdi
callq 0x47ca
leaq 0x428(%rsp), %rdi
callq 0x35fe
movq %r14, %rdi
callq 0x4a14
movq %rbx, %rdi
callq 0x4a14
movq %rbp, %rdi
callq 0x4a14
movq %r13, %rdi
callq 0x47ec
movq %r12, %rdi
callq 0x47ec
jmp 0x3550
leaq 0x140(%rsp), %rdi
movq %rax, %r15
callq 0x3580
leaq 0x128(%rsp), %rdi
callq 0x4a14
leaq 0xa0(%rsp), %rdi
callq 0x38c6
leaq 0xf0(%rsp), %rdi
callq 0x38c6
movq %r15, %rdi
callq 0x21b0
nop