// File: /workspace/github_cpp_makefile_star2_O3/pfnet-research[P]pml/src/test.cpp
// Function: translation_rand_test::translation_rand_test()
PML_TEST(translation_rand_test) {
    using namespace ast;
    using namespace mdp;
    assert_eq(
            translate_to_mdp(ast::rand_expr_t{1, 2}).mdp,
            mdp_t {
                "default",
                {
                    mdp::variable_t{"location", bound_t{0, 1}, 0},
                    mdp::variable_t{"v0", bound_t{1, 2}, 1}
                },
                {}, // constants
                {
                    command_t {
                        make<mdp::binop_expr_t>(
                            make<mdp::var_expr_t>("location"),
                            make<mdp::int_expr_t>(0),
                            mdp::binop_kind_t::Eq),
                        {
                            branch_t {
                                make<mdp::binop_expr_t>(
                                    make<mdp::int_expr_t>(1),
                                    make<mdp::int_expr_t>(2),
                                    mdp::binop_kind_t::Div),
                                make<mdp::binop_expr_t>(
                                    make<mdp::binop_expr_t>(
                                        make<mdp::var_expr_t>("location'"),
                                        make<mdp::int_expr_t>(1),
                                        mdp::binop_kind_t::Eq),
                                    make<mdp::binop_expr_t>(
                                        make<mdp::var_expr_t>("v0'"),
                                        make<mdp::int_expr_t>(1),
                                        mdp::binop_kind_t::Eq),
                                    mdp::binop_kind_t::And)
                            },
                            branch_t {
                                make<mdp::binop_expr_t>(
                                    make<mdp::int_expr_t>(1),
                                    make<mdp::int_expr_t>(2),
                                    mdp::binop_kind_t::Div),
                                make<mdp::binop_expr_t>(
                                    make<mdp::binop_expr_t>(
                                        make<mdp::var_expr_t>("location'"),
                                        make<mdp::int_expr_t>(1),
                                        mdp::binop_kind_t::Eq),
                                    make<mdp::binop_expr_t>(
                                        make<mdp::var_expr_t>("v0'"),
                                        make<mdp::int_expr_t>(2),
                                        mdp::binop_kind_t::Eq),
                                    mdp::binop_kind_t::And)
                            }
                        }
                    }
                }
            });
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3e8, %rsp            # imm = 0x3E8
movq %rdi, %r12
movl $0x0, 0x8(%rdi)
leaq 0x30480(%rip), %rax     # 0x61808
movq %rax, (%rdi)
leaq 0x2f90e(%rip), %rax     # 0x60ca0
leaq 0x338(%rsp), %rsi
movq %rax, (%rsi)
movabsq $0x200000001, %r14      # imm = 0x200000001
movq %r14, 0x8(%rsi)
leaq 0x348(%rsp), %rdi
callq 0x3ffe3
leaq 0x258(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x19a1b(%rip), %rsi     # 0x4ade6
leaq 0x19a1b(%rip), %rdx     # 0x4aded
leaq 0x248(%rsp), %rdi
callq 0x116f8
leaq 0x1a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x13d5e(%rip), %rsi     # 0x45150
leaq 0x13d5f(%rip), %rdx     # 0x45158
leaq 0x198(%rsp), %rdi
callq 0x116f8
leaq 0x2e8(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x198(%rsp), %rsi
movq 0x1a0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2d8(%rsp), %rbx
movq %rbx, %rdi
callq 0xac68
movabsq $0x100000000, %rax      # imm = 0x100000000
leaq 0x308(%rsp), %rbx
movq %rax, -0xc(%rbx)
xorl %eax, %eax
movl %eax, -0x4(%rbx)
movl %eax, -0x10(%rbx)
leaq 0x188(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x199b6(%rip), %rsi     # 0x4ae1c
leaq 0x199b1(%rip), %rdx     # 0x4ae1e
leaq 0x178(%rsp), %rdi
callq 0x116f8
leaq 0x318(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x178(%rsp), %rsi
movq 0x180(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xac68
leaq 0x268(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
movq %r14, 0x54(%rsi)
movl $0x1, 0x5c(%rsi)
movl $0x0, 0x50(%rsi)
leaq 0x1f(%rsp), %rcx
movl $0x2, %edx
callq 0x37dd2
leaq 0x280(%rsp), %rcx
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
xorl %eax, %eax
movq %rax, 0x10(%rcx)
leaq 0xc8(%rsp), %rdi
movq %rax, -0x8(%rdi)
leaq 0x13c57(%rip), %rcx     # 0x45150
leaq 0xc0(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0x38192
movl $0x20, %edi
callq 0x92d0
movabsq $0x100000001, %rbp      # imm = 0x100000001
movq %rbp, 0x8(%rax)
leaq 0x3040b(%rip), %r14     # 0x61938
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
leaq 0x3044a(%rip), %r15     # 0x61988
movq %r15, 0x10(%rax)
movl $0x0, 0x18(%rax)
leaq 0x238(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x214(%rsp), %r9
movl $0x8, (%r9)
leaq 0x78(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x70(%rsp), %rsi
leaq 0xd0(%rsp), %r13
leaq 0xc0(%rsp), %rcx
movq %r13, %rdx
callq 0x37f76
movaps 0x70(%rsp), %xmm0
movaps %xmm0, 0x2b0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x70(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x1, 0x18(%rax)
movq %rax, 0x170(%rsp)
movq %rcx, 0x168(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x2, 0x18(%rax)
leaq 0x228(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x210(%rsp), %r9
movl $0x1, (%r9)
leaq 0x68(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x60(%rsp), %rsi
leaq 0x50(%rsp), %rdx
leaq 0x168(%rsp), %rcx
callq 0x383e6
movaps 0x60(%rsp), %xmm0
movaps %xmm0, 0xd0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x60(%rsp)
leaq 0xb8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x197b5(%rip), %rcx     # 0x4ae1f
leaq 0xb0(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x385c2
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x1, 0x18(%rax)
leaq 0x1e8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x20c(%rsp), %r9
movl $0x8, (%r9)
leaq 0x160(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x158(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xb0(%rsp), %rcx
callq 0x37f76
leaq 0x150(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x19725(%rip), %rcx     # 0x4ae29
leaq 0x148(%rsp), %rsi
leaq 0x1d8(%rsp), %rdx
callq 0x386e2
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x1, 0x18(%rax)
leaq 0x1d8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x208(%rsp), %r9
movl $0x8, (%r9)
leaq 0xa8(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xa0(%rsp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x148(%rsp), %rcx
callq 0x37f76
leaq 0x204(%rsp), %r9
movl $0xa, (%r9)
leaq 0x58(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x50(%rsp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x158(%rsp), %rcx
leaq 0xa0(%rsp), %r8
callq 0x384d4
movaps 0x50(%rsp), %xmm0
movaps %xmm0, 0xe0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x1, 0x18(%rax)
movq %rax, 0x140(%rsp)
movq %rcx, 0x138(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x2, 0x18(%rax)
leaq 0x218(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x200(%rsp), %r9
movl $0x1, (%r9)
leaq 0x28(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x20(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0x138(%rsp), %rcx
callq 0x383e6
movaps 0x20(%rsp), %xmm0
movaps %xmm0, 0xf0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
leaq 0x98(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x19587(%rip), %rcx     # 0x4ae1f
leaq 0x90(%rsp), %rsi
leaq 0x1c8(%rsp), %rdx
callq 0x385c2
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x1, 0x18(%rax)
leaq 0x1c8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x1fc(%rsp), %r9
movl $0x8, (%r9)
leaq 0x130(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x128(%rsp), %rsi
leaq 0x80(%rsp), %rdx
leaq 0x90(%rsp), %rcx
callq 0x37f76
leaq 0x120(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x194f7(%rip), %rcx     # 0x4ae29
leaq 0x118(%rsp), %rsi
leaq 0x1b8(%rsp), %rdx
callq 0x386e2
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r14, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, 0x10(%rax)
movl $0x2, 0x18(%rax)
leaq 0x1b8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x1f8(%rsp), %r9
movl $0x8, (%r9)
leaq 0x88(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x80(%rsp), %rsi
leaq 0x3c(%rsp), %rdx
leaq 0x118(%rsp), %rcx
callq 0x37f76
leaq 0x3c(%rsp), %r9
movl $0xa, (%r9)
leaq 0x48(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x40(%rsp), %rsi
leaq 0x1d(%rsp), %rdx
leaq 0x128(%rsp), %rcx
leaq 0x80(%rsp), %r8
callq 0x384d4
leaq 0x2c0(%rsp), %rdi
movaps 0x40(%rsp), %xmm0
leaq 0xd0(%rsp), %rsi
movaps %xmm0, 0x30(%rsi)
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rsp)
leaq 0x1d(%rsp), %rcx
movl $0x2, %edx
callq 0x37e1e
leaq 0x298(%rsp), %r13
leaq 0x2b0(%rsp), %rsi
leaq 0x1e(%rsp), %rcx
movl $0x1, %edx
movq %r13, %rdi
callq 0x37e66
leaq 0x348(%rsp), %rsi
leaq 0x248(%rsp), %rdx
movq %r12, %rdi
callq 0x37936
movq %r13, %rdi
callq 0xa808
leaq 0x280(%rsp), %rdi
callq 0xa838
leaq 0x268(%rsp), %rdi
callq 0xa868
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x31a9b
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x2c0(%rsp), %rbx
movq %rbx, %rdi
callq 0xa8da
movq -0x8(%rbx), %rdi
testq %rdi, %rdi
leaq 0x1a8(%rsp), %r15
je 0x31ac1
callq 0xa946
movl $0x40, %ebx
movq 0xc8(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x31ad8
callq 0xa946
movq 0xb8(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x31aea
callq 0xa946
addq $-0x20, %rbx
jne 0x31ac6
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x31aff
callq 0xa946
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x31b11
callq 0xa946
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x31b23
callq 0xa946
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x31b35
callq 0xa946
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x31b47
callq 0xa946
movq 0x1d0(%rsp), %rdi
testq %rdi, %rdi
je 0x31b59
callq 0xa946
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x31b6b
callq 0xa946
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x31b7a
callq 0xa946
movq 0x220(%rsp), %rdi
testq %rdi, %rdi
je 0x31b8c
callq 0xa946
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x31b9e
callq 0xa946
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x31bad
callq 0xa946
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x31bbf
callq 0xa946
movq 0x1e0(%rsp), %rdi
testq %rdi, %rdi
je 0x31bd1
callq 0xa946
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x31be3
callq 0xa946
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x31bf5
callq 0xa946
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x31c07
callq 0xa946
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0x31c19
callq 0xa946
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x31c28
callq 0xa946
movq 0x230(%rsp), %rdi
testq %rdi, %rdi
je 0x31c3a
callq 0xa946
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x31c4c
callq 0xa946
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x31c5b
callq 0xa946
movq 0x240(%rsp), %rdi
testq %rdi, %rdi
je 0x31c6d
callq 0xa946
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x31c7f
callq 0xa946
movq $-0x60, %r14
leaq 0x328(%rsp), %rbx
movq %rbx, %rdi
callq 0xaa94
movq -0x20(%rbx), %rdi
leaq -0x10(%rbx), %rax
cmpq %rdi, %rax
je 0x31cae
movq (%rax), %rsi
incq %rsi
callq 0x92e0
addq $-0x30, %rbx
addq $0x30, %r14
jne 0x31c8e
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x31cdd
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x92e0
movq 0x198(%rsp), %rdi
cmpq %r15, %rdi
je 0x31cfa
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x3c8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x31d1b
movq 0x3c8(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x398(%rsp), %rdi
callq 0xa808
leaq 0x380(%rsp), %rdi
callq 0xa838
leaq 0x368(%rsp), %rbx
movq %rbx, %rdi
callq 0xa868
movq -0x20(%rbx), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x31d66
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x92e0
addq $0x3e8, %rsp            # imm = 0x3E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, 0x10(%rsp)
leaq 0x248(%rsp), %rdi
callq 0xa7c4
xorl %r15d, %r15d
jmp 0x31d97
movq %rax, 0x10(%rsp)
movb $0x1, %r15b
leaq 0x2b0(%rsp), %rdi
callq 0x37d68
movl $0x0, 0xc(%rsp)
jmp 0x31dbc
movq %rax, 0x10(%rsp)
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
movl $0x20, %r14d
leaq (%rsp,%r14), %rdi
addq $0xd0, %rdi
callq 0x37d86
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x31dc2
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x31deb
callq 0xa946
xorl %ebp, %ebp
jmp 0x31e00
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x31e25
callq 0xa946
jmp 0x31e25
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x31e4a
callq 0xa946
jmp 0x31e4a
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x31e6f
callq 0xa946
jmp 0x31e6f
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x31e94
callq 0xa946
jmp 0x31e94
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
movq 0x1d0(%rsp), %rdi
testq %rdi, %rdi
je 0x31ea6
callq 0xa946
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x31eb8
callq 0xa946
movb $0x1, %r12b
testb %bpl, %bpl
jne 0x31ee9
jmp 0x31efe
movq %rax, 0x10(%rsp)
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x31ee0
callq 0xa946
jmp 0x31ee0
movq %rax, 0x10(%rsp)
movb $0x1, %r15b
movb $0x1, %al
movl %eax, 0xc(%rsp)
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0x31efb
callq 0xa946
xorl %r12d, %r12d
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x31f0d
callq 0xa946
movq 0x220(%rsp), %rdi
testq %rdi, %rdi
je 0x31f1f
callq 0xa946
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x31f31
callq 0xa946
leaq 0xf0(%rsp), %r13
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x31f48
callq 0xa946
xorl %ebp, %ebp
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x31f5c
callq 0xa946
movq 0x1e0(%rsp), %rdi
testq %rdi, %rdi
je 0x31f6e
callq 0xa946
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x31f80
callq 0xa946
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x31f92
callq 0xa946
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x31fa4
callq 0xa946
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0x31fb6
callq 0xa946
testb %bpl, %bpl
je 0x31fcd
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x31fcd
callq 0xa946
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x31fdc
callq 0xa946
movq 0x230(%rsp), %rdi
testq %rdi, %rdi
je 0x31fee
callq 0xa946
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x32000
callq 0xa946
leaq 0xd0(%rsp), %r14
cmpq %r13, %r14
sete %al
orb %al, %r12b
jne 0x32024
addq $-0x20, %r13
movq %r13, %rdi
callq 0x37d86
cmpq %r14, %r13
jne 0x32013
cmpb $0x0, 0xc(%rsp)
je 0x3203d
movq 0x2b8(%rsp), %rdi
testq %rdi, %rdi
je 0x3203d
callq 0xa946
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x3204c
callq 0xa946
movq 0x240(%rsp), %rdi
testq %rdi, %rdi
je 0x3205e
callq 0xa946
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x32070
callq 0xa946
testb %r15b, %r15b
je 0x32094
leaq 0x280(%rsp), %rdi
callq 0xa838
leaq 0x268(%rsp), %rdi
callq 0xa868
movb $0x1, %bpl
jmp 0x32096
xorl %ebp, %ebp
movl $0x30, %r14d
leaq (%rsp,%r14), %rdi
addq $0x2d8, %rdi            # imm = 0x2D8
callq 0x37daa
addq $-0x30, %r14
cmpq $-0x30, %r14
jne 0x3209c
movb $0x1, %r14b
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x320de
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x92e0
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x32103
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x2d8(%rsp), %r15
cmpq %rbx, %r15
sete %al
orb %al, %r14b
jne 0x32127
addq $-0x30, %rbx
movq %rbx, %rdi
callq 0x37daa
cmpq %r15, %rbx
jne 0x32116
testb %bpl, %bpl
je 0x32151
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x32151
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x348(%rsp), %rdi
callq 0x37b5c
movq 0x10(%rsp), %rdi
callq 0x94e0
movq %rax, 0x10(%rsp)
movb $0x1, %al
movl %eax, 0xc(%rsp)
xorl %r12d, %r12d
movb $0x1, %r15b
jmp 0x31f0d
movq %rax, 0x10(%rsp)
movb $0x1, %al
movl %eax, 0xc(%rsp)
xorl %r12d, %r12d
movb $0x1, %r15b
jmp 0x31f1f
movq %rax, 0x10(%rsp)
movb $0x1, %al
movl %eax, 0xc(%rsp)
xorl %r12d, %r12d
movb $0x1, %r15b
jmp 0x31f31
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
leaq 0xd0(%rsp), %r13
xorl %r12d, %r12d
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
jmp 0x31f4a
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
leaq 0xd0(%rsp), %r13
xorl %r12d, %r12d
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
jmp 0x31f5c
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
leaq 0xd0(%rsp), %r13
xorl %r12d, %r12d
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
jmp 0x31f6e
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
leaq 0xd0(%rsp), %r13
xorl %r12d, %r12d
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
jmp 0x31f80
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
leaq 0xd0(%rsp), %r13
xorl %r12d, %r12d
movb $0x1, %al
movl %eax, 0xc(%rsp)
movb $0x1, %r15b
jmp 0x31f92
movq %rax, 0x10(%rsp)
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0x3226d
callq 0xa946
jmp 0x3226d
movq %rax, 0x10(%rsp)
leaq 0xd0(%rsp), %r13
movb $0x1, %r15b
xorl %r12d, %r12d
movb $0x1, %al
movl %eax, 0xc(%rsp)
jmp 0x31fbb
movq %rax, 0x10(%rsp)
movb $0x1, %al
movl %eax, 0xc(%rsp)
leaq 0xd0(%rsp), %r13
xorl %r12d, %r12d
movb $0x1, %r15b
jmp 0x31fdc
movq %rax, 0x10(%rsp)
movb $0x1, %al
movl %eax, 0xc(%rsp)
xorl %r12d, %r12d
movb $0x1, %r15b
jmp 0x31fee
movq %rax, 0x10(%rsp)
movb $0x1, %r15b
jmp 0x3202b
movq %rax, 0x10(%rsp)
movb $0x1, %r15b
jmp 0x3204c
movq %rax, 0x10(%rsp)
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x32075
callq 0xa946
jmp 0x32075
movq %rax, 0x10(%rsp)
jmp 0x32075
movq %rax, 0x10(%rsp)
jmp 0x3208f
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
xorl %r14d, %r14d
jmp 0x320b9
jmp 0x3231a
movq %rax, 0x10(%rsp)
movb $0x1, %bpl
xorl %r14d, %r14d
jmp 0x320de
movq %rax, 0x10(%rsp)
jmp 0x3212c
movq %rax, 0x10(%rsp)
jmp 0x32151