// File: halfflat[P]tinyopt/test/test_sink.cc
// Function: sink_refctor_Test::TestBody()
TEST(sink, refctor) {
    int a;
    to::sink sa(a);

    EXPECT_TRUE(sa("312"));
    EXPECT_EQ(312, a);

    EXPECT_FALSE(sa("foo"));
    EXPECT_EQ(312, a);

    to::sink sb(a, [](const char*) { return to::just(17); });
    EXPECT_TRUE(sb("foo"));
    EXPECT_EQ(17, a);

    to::maybe<int> ma;
    to::sink sma(ma);

    ASSERT_FALSE(ma);
    EXPECT_FALSE(sma("foo"));
    EXPECT_FALSE(ma);

    EXPECT_TRUE(sma("312"));
    EXPECT_TRUE(ma);
    EXPECT_EQ(*ma, 312);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3d0, %rsp            # imm = 0x3D0
movq %rdi, -0x8(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x380(%rbp)
leaq -0xc(%rbp), %rsi
callq 0x1d5a0
movq -0x380(%rbp), %rdi
leaq 0xb16e9(%rip), %rsi     # 0xc845a
callq 0x1d470
movb %al, -0x371(%rbp)
jmp 0x16d7e
movb -0x371(%rbp), %al
andb $0x1, %al
movb %al, -0x41(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x40(%rbp), %rdi
leaq -0x41(%rbp), %rsi
callq 0x1d4a0
jmp 0x16d9c
leaq -0x40(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x381(%rbp)
jmp 0x16dad
movb -0x381(%rbp), %al
testb $0x1, %al
jne 0x16db9
jmp 0x16de0
jmp 0x16eb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x16f13
leaq -0x60(%rbp), %rdi
callq 0x84210
jmp 0x16deb
leaq 0xb166c(%rip), %rdx     # 0xc845e
leaq 0xb1656(%rip), %rcx     # 0xc844f
leaq 0xb1655(%rip), %r8      # 0xc8455
leaq -0x88(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x7d210
jmp 0x16e12
leaq -0x88(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb15cd(%rip), %rdx     # 0xc83f5
leaq -0x68(%rbp), %rdi
movl $0x1, %esi
movl $0x14, %ecx
callq 0x80580
jmp 0x16e3d
leaq -0x68(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x7d370
jmp 0x16e4c
leaq -0x68(%rbp), %rdi
callq 0x80600
leaq -0x88(%rbp), %rdi
callq 0x10fc8
leaq -0x60(%rbp), %rdi
callq 0x1d500
jmp 0x16eb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x16ea9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x16e9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x80600
leaq -0x88(%rbp), %rdi
callq 0x10fc8
leaq -0x60(%rbp), %rdi
callq 0x1d500
jmp 0x16f13
leaq -0x40(%rbp), %rdi
callq 0x1d520
movl $0x138, -0x9c(%rbp)     # imm = 0x138
leaq 0xb158c(%rip), %rsi     # 0xc845a
leaq 0xb27ac(%rip), %rdx     # 0xc9681
leaq -0x98(%rbp), %rdi
leaq -0x9c(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
jmp 0x16eee
leaq -0x98(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x382(%rbp)
jmp 0x16f02
movb -0x382(%rbp), %al
testb $0x1, %al
jne 0x16f0e
jmp 0x16f32
jmp 0x16fde
leaq -0x40(%rbp), %rdi
callq 0x1d520
jmp 0x17ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17050
leaq -0xa8(%rbp), %rdi
callq 0x84210
jmp 0x16f40
leaq -0x98(%rbp), %rdi
callq 0x1d620
movq %rax, -0x390(%rbp)
jmp 0x16f55
movq -0x390(%rbp), %r8
leaq 0xb1492(%rip), %rdx     # 0xc83f5
leaq -0xb0(%rbp), %rdi
movl $0x1, %esi
movl $0x15, %ecx
callq 0x80580
jmp 0x16f7b
leaq -0xb0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x7d370
jmp 0x16f90
leaq -0xb0(%rbp), %rdi
callq 0x80600
leaq -0xa8(%rbp), %rdi
callq 0x1d500
jmp 0x16fde
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x16fd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x80600
leaq -0xa8(%rbp), %rdi
callq 0x1d500
jmp 0x17050
leaq -0x98(%rbp), %rdi
callq 0x1d520
leaq 0xb1451(%rip), %rsi     # 0xc8442
leaq -0x30(%rbp), %rdi
callq 0x1d470
movb %al, -0x391(%rbp)
jmp 0x17002
movb -0x391(%rbp), %al
notb %al
andb $0x1, %al
movb %al, -0xc1(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0xc0(%rbp), %rdi
leaq -0xc1(%rbp), %rsi
callq 0x1d4a0
jmp 0x1702b
leaq -0xc0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x392(%rbp)
jmp 0x1703f
movb -0x392(%rbp), %al
testb $0x1, %al
jne 0x1704b
jmp 0x17072
jmp 0x17161
leaq -0x98(%rbp), %rdi
callq 0x1d520
jmp 0x17ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x171c3
leaq -0xd0(%rbp), %rdi
callq 0x84210
jmp 0x17080
leaq 0xb13e1(%rip), %rdx     # 0xc8468
leaq 0xb13c7(%rip), %rcx     # 0xc8455
leaq 0xb13ba(%rip), %r8      # 0xc844f
leaq -0xf8(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x7d210
jmp 0x170aa
leaq -0xf8(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb1335(%rip), %rdx     # 0xc83f5
leaq -0xd8(%rbp), %rdi
movl $0x1, %esi
movl $0x17, %ecx
callq 0x80580
jmp 0x170d8
leaq -0xd8(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x7d370
jmp 0x170ed
leaq -0xd8(%rbp), %rdi
callq 0x80600
leaq -0xf8(%rbp), %rdi
callq 0x10fc8
leaq -0xd0(%rbp), %rdi
callq 0x1d500
jmp 0x17161
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17153
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17147
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x80600
leaq -0xf8(%rbp), %rdi
callq 0x10fc8
leaq -0xd0(%rbp), %rdi
callq 0x1d500
jmp 0x171c3
leaq -0xc0(%rbp), %rdi
callq 0x1d520
movl $0x138, -0x10c(%rbp)    # imm = 0x138
leaq 0xb12dc(%rip), %rsi     # 0xc845a
leaq 0xb24fc(%rip), %rdx     # 0xc9681
leaq -0x108(%rbp), %rdi
leaq -0x10c(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
jmp 0x1719e
leaq -0x108(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x393(%rbp)
jmp 0x171b2
movb -0x393(%rbp), %al
testb $0x1, %al
jne 0x171be
jmp 0x171e5
jmp 0x17294
leaq -0xc0(%rbp), %rdi
callq 0x1d520
jmp 0x17ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17319
leaq -0x118(%rbp), %rdi
callq 0x84210
jmp 0x171f3
leaq -0x108(%rbp), %rdi
callq 0x1d620
movq %rax, -0x3a0(%rbp)
jmp 0x17208
movq -0x3a0(%rbp), %r8
leaq 0xb11df(%rip), %rdx     # 0xc83f5
leaq -0x120(%rbp), %rdi
movl $0x1, %esi
movl $0x18, %ecx
callq 0x80580
jmp 0x1722e
leaq -0x120(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x7d370
jmp 0x17243
leaq -0x120(%rbp), %rdi
callq 0x80600
leaq -0x118(%rbp), %rdi
callq 0x1d500
jmp 0x17294
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17283
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x80600
leaq -0x118(%rbp), %rdi
callq 0x1d500
jmp 0x17319
leaq -0x108(%rbp), %rdi
callq 0x1d520
leaq -0x140(%rbp), %rdi
leaq -0xc(%rbp), %rsi
callq 0x17ef0
jmp 0x172b2
leaq 0xb1189(%rip), %rsi     # 0xc8442
leaq -0x140(%rbp), %rdi
callq 0x1d470
movb %al, -0x3a1(%rbp)
jmp 0x172cd
movb -0x3a1(%rbp), %al
andb $0x1, %al
movb %al, -0x159(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x158(%rbp), %rdi
leaq -0x159(%rbp), %rsi
callq 0x1d4a0
jmp 0x172f4
leaq -0x158(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3a2(%rbp)
jmp 0x17308
movb -0x3a2(%rbp), %al
testb $0x1, %al
jne 0x17314
jmp 0x1734c
jmp 0x1743b
leaq -0x108(%rbp), %rdi
callq 0x1d520
jmp 0x17ed9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1749d
leaq -0x168(%rbp), %rdi
callq 0x84210
jmp 0x1735a
leaq 0xb1111(%rip), %rdx     # 0xc8472
leaq 0xb10e7(%rip), %rcx     # 0xc844f
leaq 0xb10e6(%rip), %r8      # 0xc8455
leaq -0x190(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x7d210
jmp 0x17384
leaq -0x190(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb105b(%rip), %rdx     # 0xc83f5
leaq -0x170(%rbp), %rdi
movl $0x1, %esi
movl $0x1b, %ecx
callq 0x80580
jmp 0x173b2
leaq -0x170(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x7d370
jmp 0x173c7
leaq -0x170(%rbp), %rdi
callq 0x80600
leaq -0x190(%rbp), %rdi
callq 0x10fc8
leaq -0x168(%rbp), %rdi
callq 0x1d500
jmp 0x1743b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1742d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17421
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x80600
leaq -0x190(%rbp), %rdi
callq 0x10fc8
leaq -0x168(%rbp), %rdi
callq 0x1d500
jmp 0x1749d
leaq -0x158(%rbp), %rdi
callq 0x1d520
movl $0x11, -0x1a4(%rbp)
leaq 0xb1024(%rip), %rsi     # 0xc847c
leaq 0xb2222(%rip), %rdx     # 0xc9681
leaq -0x1a0(%rbp), %rdi
leaq -0x1a4(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
jmp 0x17478
leaq -0x1a0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3a3(%rbp)
jmp 0x1748c
movb -0x3a3(%rbp), %al
testb $0x1, %al
jne 0x17498
jmp 0x174bf
jmp 0x1756e
leaq -0x158(%rbp), %rdi
callq 0x1d520
jmp 0x17ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x175f4
leaq -0x1b0(%rbp), %rdi
callq 0x84210
jmp 0x174cd
leaq -0x1a0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x3b0(%rbp)
jmp 0x174e2
movq -0x3b0(%rbp), %r8
leaq 0xb0f05(%rip), %rdx     # 0xc83f5
leaq -0x1b8(%rbp), %rdi
movl $0x1, %esi
movl $0x1c, %ecx
callq 0x80580
jmp 0x17508
leaq -0x1b8(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x7d370
jmp 0x1751d
leaq -0x1b8(%rbp), %rdi
callq 0x80600
leaq -0x1b0(%rbp), %rdi
callq 0x1d500
jmp 0x1756e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1755d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x80600
leaq -0x1b0(%rbp), %rdi
callq 0x1d500
jmp 0x175f4
leaq -0x1a0(%rbp), %rdi
callq 0x1d520
leaq -0x1c0(%rbp), %rdi
movq %rdi, -0x3b8(%rbp)
callq 0x1d640
movq -0x3b8(%rbp), %rsi
leaq -0x1e0(%rbp), %rdi
callq 0x1d660
jmp 0x175a2
leaq -0x1c0(%rbp), %rdi
callq 0x1d690
xorb $0x1, %al
movb %al, -0x1f1(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x1f0(%rbp), %rdi
leaq -0x1f1(%rbp), %rsi
callq 0x1d4a0
jmp 0x175cf
leaq -0x1f0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3b9(%rbp)
jmp 0x175e3
movb -0x3b9(%rbp), %al
testb $0x1, %al
jne 0x175ef
jmp 0x17638
jmp 0x17734
leaq -0x1a0(%rbp), %rdi
callq 0x1d520
jmp 0x17ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17ec1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17eb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x177c3
leaq -0x200(%rbp), %rdi
callq 0x84210
jmp 0x17646
leaq 0xb0e49(%rip), %rdx     # 0xc8496
leaq 0xb0e01(%rip), %rcx     # 0xc8455
leaq 0xb0df4(%rip), %r8      # 0xc844f
leaq -0x228(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x7d210
jmp 0x17670
leaq -0x228(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb0d6f(%rip), %rdx     # 0xc83f5
leaq -0x208(%rbp), %rdi
movl $0x2, %esi
movl $0x21, %ecx
callq 0x80580
jmp 0x1769e
leaq -0x208(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x7d370
jmp 0x176b3
leaq -0x208(%rbp), %rdi
callq 0x80600
leaq -0x228(%rbp), %rdi
callq 0x10fc8
leaq -0x200(%rbp), %rdi
callq 0x1d500
movl $0x1, -0x22c(%rbp)
jmp 0x1773e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17723
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17717
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x80600
leaq -0x228(%rbp), %rdi
callq 0x10fc8
leaq -0x200(%rbp), %rdi
callq 0x1d500
jmp 0x177c3
movl $0x0, -0x22c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x1d520
movl -0x22c(%rbp), %eax
testl %eax, %eax
jne 0x17e73
jmp 0x1775a
leaq 0xb0ce1(%rip), %rsi     # 0xc8442
leaq -0x1e0(%rbp), %rdi
callq 0x1d470
movb %al, -0x3ba(%rbp)
jmp 0x17775
movb -0x3ba(%rbp), %al
notb %al
andb $0x1, %al
movb %al, -0x241(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x240(%rbp), %rdi
leaq -0x241(%rbp), %rsi
callq 0x1d4a0
jmp 0x1779e
leaq -0x240(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3bb(%rbp)
jmp 0x177b2
movb -0x3bb(%rbp), %al
testb $0x1, %al
jne 0x177be
jmp 0x177e5
jmp 0x178d4
leaq -0x1f0(%rbp), %rdi
callq 0x1d520
jmp 0x17eb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17932
leaq -0x250(%rbp), %rdi
callq 0x84210
jmp 0x177f3
leaq 0xb0c85(%rip), %rdx     # 0xc847f
leaq 0xb0c54(%rip), %rcx     # 0xc8455
leaq 0xb0c47(%rip), %r8      # 0xc844f
leaq -0x278(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x7d210
jmp 0x1781d
leaq -0x278(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb0bc2(%rip), %rdx     # 0xc83f5
leaq -0x258(%rbp), %rdi
movl $0x1, %esi
movl $0x22, %ecx
callq 0x80580
jmp 0x1784b
leaq -0x258(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x7d370
jmp 0x17860
leaq -0x258(%rbp), %rdi
callq 0x80600
leaq -0x278(%rbp), %rdi
callq 0x10fc8
leaq -0x250(%rbp), %rdi
callq 0x1d500
jmp 0x178d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x178c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x178ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x80600
leaq -0x278(%rbp), %rdi
callq 0x10fc8
leaq -0x250(%rbp), %rdi
callq 0x1d500
jmp 0x17932
leaq -0x240(%rbp), %rdi
callq 0x1d520
leaq -0x1c0(%rbp), %rdi
callq 0x1d690
xorb $0x1, %al
movb %al, -0x289(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x288(%rbp), %rdi
leaq -0x289(%rbp), %rsi
callq 0x1d4a0
jmp 0x1790d
leaq -0x288(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3bc(%rbp)
jmp 0x17921
movb -0x3bc(%rbp), %al
testb $0x1, %al
jne 0x1792d
jmp 0x17954
jmp 0x17a43
leaq -0x240(%rbp), %rdi
callq 0x1d520
jmp 0x17eb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17ab6
leaq -0x298(%rbp), %rdi
callq 0x84210
jmp 0x17962
leaq 0xb0b2d(%rip), %rdx     # 0xc8496
leaq 0xb0ae5(%rip), %rcx     # 0xc8455
leaq 0xb0ad8(%rip), %r8      # 0xc844f
leaq -0x2c0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x7d210
jmp 0x1798c
leaq -0x2c0(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb0a53(%rip), %rdx     # 0xc83f5
leaq -0x2a0(%rbp), %rdi
movl $0x1, %esi
movl $0x23, %ecx
callq 0x80580
jmp 0x179ba
leaq -0x2a0(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x7d370
jmp 0x179cf
leaq -0x2a0(%rbp), %rdi
callq 0x80600
leaq -0x2c0(%rbp), %rdi
callq 0x10fc8
leaq -0x298(%rbp), %rdi
callq 0x1d500
jmp 0x17a43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17a35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17a29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x80600
leaq -0x2c0(%rbp), %rdi
callq 0x10fc8
leaq -0x298(%rbp), %rdi
callq 0x1d500
jmp 0x17ab6
leaq -0x288(%rbp), %rdi
callq 0x1d520
leaq 0xb0a04(%rip), %rsi     # 0xc845a
leaq -0x1e0(%rbp), %rdi
callq 0x1d470
movb %al, -0x3bd(%rbp)
jmp 0x17a6a
movb -0x3bd(%rbp), %al
andb $0x1, %al
movb %al, -0x2d1(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x2d0(%rbp), %rdi
leaq -0x2d1(%rbp), %rsi
callq 0x1d4a0
jmp 0x17a91
leaq -0x2d0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3be(%rbp)
jmp 0x17aa5
movb -0x3be(%rbp), %al
testb $0x1, %al
jne 0x17ab1
jmp 0x17ad8
jmp 0x17bc7
leaq -0x288(%rbp), %rdi
callq 0x1d520
jmp 0x17eb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17c11
leaq -0x2e0(%rbp), %rdi
callq 0x84210
jmp 0x17ae6
leaq 0xb099d(%rip), %rdx     # 0xc848a
leaq 0xb095b(%rip), %rcx     # 0xc844f
leaq 0xb095a(%rip), %r8      # 0xc8455
leaq -0x308(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x7d210
jmp 0x17b10
leaq -0x308(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb08cf(%rip), %rdx     # 0xc83f5
leaq -0x2e8(%rbp), %rdi
movl $0x1, %esi
movl $0x25, %ecx
callq 0x80580
jmp 0x17b3e
leaq -0x2e8(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x7d370
jmp 0x17b53
leaq -0x2e8(%rbp), %rdi
callq 0x80600
leaq -0x308(%rbp), %rdi
callq 0x10fc8
leaq -0x2e0(%rbp), %rdi
callq 0x1d500
jmp 0x17bc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17bb9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17bad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x80600
leaq -0x308(%rbp), %rdi
callq 0x10fc8
leaq -0x2e0(%rbp), %rdi
callq 0x1d500
jmp 0x17c11
leaq -0x2d0(%rbp), %rdi
callq 0x1d520
xorl %eax, %eax
movl %eax, %edx
leaq -0x318(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x1d6b0
jmp 0x17bec
leaq -0x318(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3bf(%rbp)
jmp 0x17c00
movb -0x3bf(%rbp), %al
testb $0x1, %al
jne 0x17c0c
jmp 0x17c33
jmp 0x17d22
leaq -0x2d0(%rbp), %rdi
callq 0x1d520
jmp 0x17eb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17d8f
leaq -0x320(%rbp), %rdi
callq 0x84210
jmp 0x17c41
leaq 0xb084e(%rip), %rdx     # 0xc8496
leaq 0xb0800(%rip), %rcx     # 0xc844f
leaq 0xb07ff(%rip), %r8      # 0xc8455
leaq -0x348(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x7d210
jmp 0x17c6b
leaq -0x348(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xb0774(%rip), %rdx     # 0xc83f5
leaq -0x328(%rbp), %rdi
movl $0x1, %esi
movl $0x26, %ecx
callq 0x80580
jmp 0x17c99
leaq -0x328(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0x7d370
jmp 0x17cae
leaq -0x328(%rbp), %rdi
callq 0x80600
leaq -0x348(%rbp), %rdi
callq 0x10fc8
leaq -0x320(%rbp), %rdi
callq 0x1d500
jmp 0x17d22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17d14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17d08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x80600
leaq -0x348(%rbp), %rdi
callq 0x10fc8
leaq -0x320(%rbp), %rdi
callq 0x1d500
jmp 0x17d8f
leaq -0x318(%rbp), %rdi
callq 0x1d520
leaq -0x1c0(%rbp), %rdi
callq 0x1d6f0
movq %rax, %rcx
movl $0x138, -0x35c(%rbp)    # imm = 0x138
leaq 0xb0747(%rip), %rsi     # 0xc8495
leaq 0xb0705(%rip), %rdx     # 0xc845a
leaq -0x358(%rbp), %rdi
leaq -0x35c(%rbp), %r8
callq 0x1d5d0
jmp 0x17d6a
leaq -0x358(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x3c0(%rbp)
jmp 0x17d7e
movb -0x3c0(%rbp), %al
testb $0x1, %al
jne 0x17d8a
jmp 0x17db1
jmp 0x17e5d
leaq -0x318(%rbp), %rdi
callq 0x1d520
jmp 0x17eb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17ea9
leaq -0x368(%rbp), %rdi
callq 0x84210
jmp 0x17dbf
leaq -0x358(%rbp), %rdi
callq 0x1d620
movq %rax, -0x3c8(%rbp)
jmp 0x17dd4
movq -0x3c8(%rbp), %r8
leaq 0xb0613(%rip), %rdx     # 0xc83f5
leaq -0x370(%rbp), %rdi
movl $0x1, %esi
movl $0x27, %ecx
callq 0x80580
jmp 0x17dfa
leaq -0x370(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x7d370
jmp 0x17e0f
leaq -0x370(%rbp), %rdi
callq 0x80600
leaq -0x368(%rbp), %rdi
callq 0x1d500
jmp 0x17e5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x17e4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x80600
leaq -0x368(%rbp), %rdi
callq 0x1d500
jmp 0x17ea9
leaq -0x358(%rbp), %rdi
callq 0x1d520
movl $0x0, -0x22c(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x1d540
leaq -0x1c0(%rbp), %rdi
callq 0x1d710
leaq -0x140(%rbp), %rdi
callq 0x1d540
leaq -0x30(%rbp), %rdi
callq 0x1d540
addq $0x3d0, %rsp            # imm = 0x3D0
popq %rbp
retq
leaq -0x358(%rbp), %rdi
callq 0x1d520
leaq -0x1e0(%rbp), %rdi
callq 0x1d540
leaq -0x1c0(%rbp), %rdi
callq 0x1d710
leaq -0x140(%rbp), %rdi
callq 0x1d540
leaq -0x30(%rbp), %rdi
callq 0x1d540
movq -0x50(%rbp), %rdi
callq 0x10e00
nopl (%rax,%rax)