// File: /workspace/github_cpp_makefile_star2_O1/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 $0x3c8, %rsp            # imm = 0x3C8
movq %rdi, %r13
movl $0x0, 0x8(%rdi)
leaq 0x30f9e(%rip), %rax     # 0x62808
movq %rax, (%rdi)
leaq 0x30404(%rip), %rax     # 0x61c78
leaq 0x318(%rsp), %rsi
movq %rax, (%rsi)
movabsq $0x200000001, %r14      # imm = 0x200000001
movq %r14, 0x8(%rsi)
leaq 0x328(%rsp), %rdi
callq 0x408aa
leaq 0x260(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x19539(%rip), %rsi     # 0x4ade6
leaq 0x19539(%rip), %rdx     # 0x4aded
leaq 0x250(%rsp), %rdi
callq 0x11866
leaq 0x1c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1387c(%rip), %rsi     # 0x45150
leaq 0x1387d(%rip), %rdx     # 0x45158
leaq 0x1b8(%rsp), %rdi
callq 0x11866
leaq 0x2c8(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x1b8(%rsp), %rsi
movq 0x1c0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2b8(%rsp), %rbx
movq %rbx, %rdi
callq 0xad30
movabsq $0x100000000, %rax      # imm = 0x100000000
leaq 0x2e8(%rsp), %rbx
movq %rax, -0xc(%rbx)
xorl %eax, %eax
movl %eax, -0x4(%rbx)
movl %eax, -0x10(%rbx)
leaq 0x1a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x194d4(%rip), %rsi     # 0x4ae1c
leaq 0x194cf(%rip), %rdx     # 0x4ae1e
leaq 0x198(%rsp), %rdi
callq 0x11866
leaq 0x2f8(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x198(%rsp), %rsi
movq 0x1a0(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0xad30
leaq 0x270(%rsp), %r15
leaq 0x2b8(%rsp), %rsi
movq %r14, 0x54(%rsi)
movl $0x1, 0x5c(%rsi)
movl $0x0, 0x50(%rsi)
leaq 0xf(%rsp), %rcx
movl $0x2, %edx
movq %r15, %rdi
callq 0x38556
leaq 0x288(%rsp), %rcx
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
xorl %eax, %eax
movq %rax, 0x10(%rcx)
leaq 0x190(%rsp), %rdi
movq %rax, -0x8(%rdi)
leaq 0x13772(%rip), %rcx     # 0x45150
leaq 0x188(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x38934
movq $0x0, 0x1f8(%rsp)
movl $0x20, %edi
callq 0x92d0
movabsq $0x100000001, %rbp      # imm = 0x100000001
movq %rbp, 0x8(%rax)
leaq 0x30f1a(%rip), %r12     # 0x62938
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
leaq 0x30f59(%rip), %r14     # 0x62988
movq %r14, 0x10(%rax)
movl $0x0, 0x18(%rax)
leaq 0x1f8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x224(%rsp), %r9
movl $0x8, (%r9)
leaq 0xe0(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0xd8(%rsp), %rsi
leaq 0x98(%rsp), %rdx
leaq 0x188(%rsp), %rcx
callq 0x386fa
movups 0xd8(%rsp), %xmm0
movups %xmm0, 0x228(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0xd8(%rsp)
movq $0x0, 0x78(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x1, 0x18(%rax)
movq %rax, 0x80(%rsp)
movq %rcx, 0x78(%rsp)
movq $0x0, 0x1e8(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x2, 0x18(%rax)
leaq 0x1e8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x220(%rsp), %r9
movl $0x1, (%r9)
leaq 0x90(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x88(%rsp), %rsi
leaq 0x38(%rsp), %rdx
leaq 0x78(%rsp), %rcx
callq 0x38b94
movups 0x88(%rsp), %xmm0
movups %xmm0, 0x98(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x88(%rsp)
leaq 0x170(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x192a0(%rip), %rcx     # 0x4ae1f
leaq 0x168(%rsp), %rsi
leaq 0x158(%rsp), %rdx
callq 0x38da0
movq $0x0, 0x158(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x1, 0x18(%rax)
leaq 0x158(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x21c(%rsp), %r9
movl $0x8, (%r9)
leaq 0x180(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x178(%rsp), %rsi
leaq 0x68(%rsp), %rdx
leaq 0x168(%rsp), %rcx
callq 0x386fa
leaq 0x150(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x19207(%rip), %rcx     # 0x4ae29
leaq 0x148(%rsp), %rsi
leaq 0x138(%rsp), %rdx
callq 0x38ec0
movq $0x0, 0x138(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x1, 0x18(%rax)
leaq 0x138(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x218(%rsp), %r9
movl $0x8, (%r9)
leaq 0x70(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x68(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0x148(%rsp), %rcx
callq 0x386fa
leaq 0x214(%rsp), %r9
movl $0xa, (%r9)
leaq 0x40(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x38(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0x178(%rsp), %rcx
leaq 0x68(%rsp), %r8
callq 0x38c9a
movups 0x38(%rsp), %xmm0
movups %xmm0, 0xa8(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x38(%rsp)
movq $0x0, 0x58(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x1, 0x18(%rax)
movq %rax, 0x60(%rsp)
movq %rcx, 0x58(%rsp)
movq $0x0, 0x1d8(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x2, 0x18(%rax)
leaq 0x1d8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x210(%rsp), %r9
movl $0x1, (%r9)
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x58(%rsp), %rcx
callq 0x38b94
movups 0x10(%rsp), %xmm0
movups %xmm0, 0xb8(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rsp)
leaq 0x120(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x1905a(%rip), %rcx     # 0x4ae1f
leaq 0x118(%rsp), %rsi
leaq 0x108(%rsp), %rdx
callq 0x38da0
movq $0x0, 0x108(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x1, 0x18(%rax)
leaq 0x108(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x20c(%rsp), %r9
movl $0x8, (%r9)
leaq 0x130(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x128(%rsp), %rsi
leaq 0x48(%rsp), %rdx
leaq 0x118(%rsp), %rcx
callq 0x386fa
leaq 0x100(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x18fc1(%rip), %rcx     # 0x4ae29
leaq 0xf8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x38ec0
movq $0x0, 0xe8(%rsp)
movl $0x20, %edi
callq 0x92d0
movq %rbp, 0x8(%rax)
movq %r12, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, 0x10(%rax)
movl $0x2, 0x18(%rax)
leaq 0xe8(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rcx, (%r8)
leaq 0x208(%rsp), %r9
movl $0x8, (%r9)
leaq 0x50(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x48(%rsp), %rsi
leaq 0x24(%rsp), %rdx
leaq 0xf8(%rsp), %rcx
callq 0x386fa
leaq 0x24(%rsp), %r9
movl $0xa, (%r9)
leaq 0x30(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x28(%rsp), %rsi
leaq 0xd(%rsp), %rdx
leaq 0x128(%rsp), %rcx
leaq 0x48(%rsp), %r8
callq 0x38c9a
leaq 0x238(%rsp), %rdi
movups 0x28(%rsp), %xmm0
leaq 0x98(%rsp), %rsi
movups %xmm0, 0x30(%rsi)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rsp)
leaq 0xd(%rsp), %rcx
movl $0x2, %edx
callq 0x385a2
leaq 0x2a0(%rsp), %rbp
leaq 0x228(%rsp), %rsi
leaq 0xe(%rsp), %rcx
movl $0x1, %edx
movq %rbp, %rdi
callq 0x385ea
leaq 0x328(%rsp), %rsi
leaq 0x250(%rsp), %rdx
movq %r13, %rdi
callq 0x380ba
movq %rbp, %rdi
callq 0xa8d4
leaq 0x288(%rsp), %rdi
callq 0xa904
movq %r15, %rdi
callq 0xa934
movq 0x250(%rsp), %rdi
leaq 0x260(%rsp), %rax
cmpq %rax, %rdi
je 0x31fcf
movq 0x260(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x238(%rsp), %rbx
movq %rbx, %rdi
callq 0xa9a6
movq -0x8(%rbx), %rdi
testq %rdi, %rdi
leaq 0x1c8(%rsp), %r15
je 0x31ff5
callq 0xaa12
movl $0x40, %ebx
movq 0x90(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x3200c
callq 0xaa12
movq 0x80(%rsp,%rbx), %rdi
testq %rdi, %rdi
je 0x3201e
callq 0xaa12
addq $-0x20, %rbx
jne 0x31ffa
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x32033
callq 0xaa12
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x32042
callq 0xaa12
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x32054
callq 0xaa12
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x32066
callq 0xaa12
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x32078
callq 0xaa12
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x3208a
callq 0xaa12
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x3209c
callq 0xaa12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x320ab
callq 0xaa12
movq 0x1e0(%rsp), %rdi
testq %rdi, %rdi
je 0x320bd
callq 0xaa12
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x320cc
callq 0xaa12
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x320db
callq 0xaa12
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x320ea
callq 0xaa12
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x320fc
callq 0xaa12
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x3210e
callq 0xaa12
movq 0x180(%rsp), %rdi
testq %rdi, %rdi
je 0x32120
callq 0xaa12
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x32132
callq 0xaa12
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x32144
callq 0xaa12
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x32156
callq 0xaa12
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x32168
callq 0xaa12
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x3217a
callq 0xaa12
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x3218c
callq 0xaa12
movq 0x200(%rsp), %rdi
testq %rdi, %rdi
je 0x3219e
callq 0xaa12
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x321b0
callq 0xaa12
movq $-0x60, %r14
leaq 0x308(%rsp), %rbx
movq %rbx, %rdi
callq 0xab60
movq -0x20(%rbx), %rdi
leaq -0x10(%rbx), %rax
cmpq %rdi, %rax
je 0x321df
movq (%rax), %rsi
incq %rsi
callq 0x92e0
addq $-0x30, %rbx
addq $0x30, %r14
jne 0x321bf
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x3220e
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x92e0
movq 0x1b8(%rsp), %rdi
cmpq %r15, %rdi
je 0x3222b
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x3a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3224c
movq 0x3a8(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x378(%rsp), %rdi
callq 0xa8d4
leaq 0x360(%rsp), %rdi
callq 0xa904
leaq 0x348(%rsp), %rbx
movq %rbx, %rdi
callq 0xa934
movq -0x20(%rbx), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x32297
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x92e0
addq $0x3c8, %rsp            # imm = 0x3C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r12
leaq 0x250(%rsp), %rdi
callq 0xa890
movl $0x0, 0x4(%rsp)
jmp 0x322cc
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
leaq 0x228(%rsp), %rdi
callq 0x384ec
movl $0x0, 0x8(%rsp)
jmp 0x322f2
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
movl $0x20, %r14d
leaq (%rsp,%r14), %rdi
addq $0x98, %rdi
callq 0x3850a
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x322f8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x32321
callq 0xaa12
xorl %r13d, %r13d
jmp 0x32338
movq %rax, %r12
movb $0x1, %r13b
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x3235b
callq 0xaa12
jmp 0x3235b
movq %rax, %r12
movb $0x1, %r13b
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x32381
callq 0xaa12
jmp 0x32381
movq %rax, %r12
movb $0x1, %r13b
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x323a7
callq 0xaa12
jmp 0x323a7
movq %rax, %r12
movb $0x1, %r13b
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x323cd
callq 0xaa12
jmp 0x323cd
movq %rax, %r12
movb $0x1, %r13b
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x323f3
callq 0xaa12
jmp 0x323f3
movq %rax, %r12
movb $0x1, %r13b
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x32405
callq 0xaa12
testb %r13b, %r13b
je 0x3241c
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x3241c
callq 0xaa12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x3242b
callq 0xaa12
xorb $0x1, %r13b
movq 0x1e0(%rsp), %rdi
testq %rdi, %rdi
je 0x32441
callq 0xaa12
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x32450
callq 0xaa12
leaq 0xb8(%rsp), %rbp
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x32467
callq 0xaa12
xorl %r14d, %r14d
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x32479
callq 0xaa12
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x3248b
callq 0xaa12
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x3249d
callq 0xaa12
movq 0x180(%rsp), %rdi
testq %rdi, %rdi
je 0x324af
callq 0xaa12
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x324c1
callq 0xaa12
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x324d3
callq 0xaa12
testb %r14b, %r14b
je 0x324ea
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0x324ea
callq 0xaa12
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x324fc
callq 0xaa12
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x3250e
callq 0xaa12
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x32520
callq 0xaa12
leaq 0x98(%rsp), %rax
cmpq %rbp, %rax
sete %al
testb %r13b, %r13b
jne 0x32550
testb %al, %al
jne 0x32550
leaq 0x98(%rsp), %r14
addq $-0x20, %rbp
movq %rbp, %rdi
callq 0x3850a
cmpq %r14, %rbp
jne 0x3253f
cmpb $0x0, 0x8(%rsp)
je 0x32569
movq 0x230(%rsp), %rdi
testq %rdi, %rdi
je 0x32569
callq 0xaa12
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x3257b
callq 0xaa12
movq 0x200(%rsp), %rdi
testq %rdi, %rdi
je 0x3258d
callq 0xaa12
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x3259f
callq 0xaa12
cmpb $0x0, 0x4(%rsp)
je 0x325bb
leaq 0x288(%rsp), %rdi
callq 0xa904
movq %r15, %rdi
callq 0xa934
movl $0x30, %r14d
leaq (%rsp,%r14), %rdi
addq $0x2b8, %rdi            # imm = 0x2B8
callq 0x3852e
addq $-0x30, %r14
cmpq $-0x30, %r14
jne 0x325c1
movb $0x1, %bpl
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x32603
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x92e0
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x32628
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x2b8(%rsp), %r14
cmpq %rbx, %r14
sete %al
orb %bpl, %al
jne 0x3264c
addq $-0x30, %rbx
movq %rbx, %rdi
callq 0x3852e
cmpq %r14, %rbx
jne 0x3263b
cmpb $0x0, 0x4(%rsp)
je 0x32678
movq 0x250(%rsp), %rdi
leaq 0x260(%rsp), %rax
cmpq %rax, %rdi
je 0x32678
movq 0x260(%rsp), %rsi
incq %rsi
callq 0x92e0
leaq 0x328(%rsp), %rdi
callq 0x382e4
movq %r12, %rdi
callq 0x94e0
movq %rax, %r12
movb $0x1, %r13b
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x32405
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x8(%rsp)
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3242f
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x8(%rsp)
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x32441
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x8(%rsp)
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x32450
movq %rax, %r12
movb $0x1, %r14b
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3246a
movq %rax, %r12
movb $0x1, %r14b
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x32479
movq %rax, %r12
movb $0x1, %r14b
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3248b
movq %rax, %r12
movb $0x1, %r14b
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3249d
movq %rax, %r12
movb $0x1, %r14b
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x324af
movq %rax, %r12
movb $0x1, %r14b
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x324c1
movq %rax, %r12
movb $0x1, %r14b
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x8(%rsp)
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x324d3
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x8(%rsp)
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x324fc
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x8(%rsp)
leaq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3250e
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x8(%rsp)
xorl %r13d, %r13d
leaq 0x98(%rsp), %rbp
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x32520
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3257b
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3258d
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x3259f
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
jmp 0x325bb
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
xorl %ebp, %ebp
jmp 0x325de
jmp 0x3287e
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
xorl %ebp, %ebp
jmp 0x32603
movq %rax, %r12
movb $0x1, %al
movl %eax, 0x4(%rsp)
leaq 0x2b8(%rsp), %rbx
xorl %ebp, %ebp
jmp 0x32628
movq %rax, %r12
jmp 0x32678