// File: /workspace/github_cpp_makefile_star2_O2/cesarblum[P]propertypp/test.cpp
// Function: main
int main()
{
   Test a;
   assert(a.b == false);
   assert(a.n == 0);
   assert(a.m == 0);
   assert(a.d == 0);
   assert(a.o == 0);

   a.n = 1;
   a.m = 2;
   assert(a.n == 1);
   assert(a.m == 2);

   a.n = a.m;
   assert(a.n == 2);
   assert(a.m == 2);

   a.n = a.m = 3;
   assert(a.n == 3);
   assert(a.m == 3);

   a.n = 4;
   assert(a.n == 4);
   assert(a.m == 3);

   a.m = 5;
   assert(a.n == 4);
   assert(a.m == 5);

   a.d = a.n + a.m;
   assert(a.d == 9);
   assert(a.n == 4);
   assert(a.m == 5);

   a.d = -1.0;
   assert(a.d == 9);
   assert(a.n == 4);
   assert(a.m == 5);

   Test b = a;
   assert(b.n == 4);
   assert(b.m == 5);
   assert(b.d == 9);

   b.n = 10;
   assert(b.n == 10);
   assert(b.m == 5);
   assert(b.d == 9);
   assert(a.n == 4);
   assert(a.m == 5);
   assert(a.d == 9);

   a.o = new Test;
   assert(a.o->n == 0);
   assert(a.o->m == 0);
   assert(a.o->d == 0);
   assert(a.o->o == 0);

   a.o->n = 10;
   a.o->m = 0;
   a.o->d = 0;
   a.o->o = 0;
   assert(a.n == 4);
   assert(a.m == 5);
   assert(a.d == 9);
   assert(a.o->n == 10);
   assert(a.o->m == 0);
   assert(a.o->d == 0);
   assert(a.o->o == 0);

   Test c = *(a.o);
   assert(c.n == 10);
   assert(c.m == 0);
   assert(c.d == 0);
   assert(c.o == 0);

   c.n = 11;
   c.m = 1;
   c.d = 1;
   assert(c.n == 11);
   assert(c.m == 1);
   assert(c.d == 1);
   assert(c.o == 0);
   assert(a.n == 4);
   assert(a.m == 5);
   assert(a.d == 9);
   assert(a.o->n == 10);
   assert(a.o->m == 0);
   assert(a.o->d == 0);
   assert(a.o->o == 0);

   a.n = -a.n;
   assert(a.n == -4);

   assert(a.n != a.m);
   a.n = 12;
   a.m = 12;
   assert(a.n == a.m);

   ++a.n;
   assert(a.n == 13);

   a.n++;
   assert(a.n == 14);

   --a.n;
   assert(a.n == 13);

   a.n--;
   assert(a.n == 12);

   a.n = 0;
   assert(a.n == 0);

   int v;
   v = a.n++;
   assert(v == 0);

   v = ++a.n;
   assert(v == 2);

   v = a.n--;
   assert(v == 2);

   v = --a.n;
   assert(v == 0);

   a.b = !a.b;
   assert(a.b);

   a.n += 4;
   assert(a.n == 4);

   a.n -= 3;
   assert(a.n == 1);

   a.n *= 16;
   assert(a.n == 16);

   a.n /= 2;
   assert(a.n == 8);

   a.n %= 3;
   assert(a.n == 2);

   a.n &= 3;
   assert(a.n == 2);

   a.n |= 1;
   assert(a.n == 3);

   a.n ^= 1;
   assert(a.n == 2);

   a.n <<= 1;
   assert(a.n == 4);

   a.n >>= 1;
   assert(a.n == 2);

   Test* p = a.o;
   a.o += 4;
   assert(a.o == p + 4);

   a.o -= 4;
   assert(a.o == p);

   a.n = 0;
   ++a.n += 2;
   assert(a.n == 3);

   ++(a.n += 3);
   assert(a.n == 7);

   return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x170, %rsp            # imm = 0x170
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x22de
movq 0x8(%rbx), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testb %al, %al
jne 0x3010
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testl %eax, %eax
jne 0x302c
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3048
jp 0x3048
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x3064
jp 0x3064
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testq %rax, %rax
jne 0x3080
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
pushq $0x1
popq %rsi
callq *(%rax)
movq 0x48(%rsp), %rdi
movq (%rdi), %rax
movss 0x2bbc(%rip), %xmm0     # 0x5004
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x1, %eax
jne 0x309c
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2b92(%rip), %xmm0     # 0x5004
jne 0x30b8
jp 0x30b8
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cvttss2si %xmm0, %esi
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x2, %eax
jne 0x30d4
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2b44(%rip), %xmm0     # 0x5004
jne 0x30f0
jp 0x30f0
movq 0x48(%rsp), %rdi
movq (%rdi), %rax
movss 0x2b2c(%rip), %xmm0     # 0x5008
callq *(%rax)
cvttss2si %xmm0, %esi
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x3, %eax
jne 0x310c
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2af4(%rip), %xmm0     # 0x5008
jne 0x3128
jp 0x3128
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
pushq $0x4
popq %rsi
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x3144
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2ab3(%rip), %xmm0     # 0x5008
jne 0x3160
jp 0x3160
movq 0x48(%rsp), %rdi
movq (%rdi), %rax
movss 0x2a9b(%rip), %xmm0     # 0x500c
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x317c
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2a71(%rip), %xmm0     # 0x500c
jne 0x3198
jp 0x3198
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cvtsi2ss %eax, %xmm0
movss %xmm0, 0x4(%rsp)
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
addss 0x4(%rsp), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x60(%rsp), %rdi
movq (%rdi), %rax
callq *(%rax)
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x2a27(%rip), %xmm0     # 0x5018
jne 0x31b4
jp 0x31b4
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x31d0
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x29e7(%rip), %xmm0     # 0x500c
jne 0x31ec
jp 0x31ec
movq 0x60(%rsp), %rdi
movq (%rdi), %rax
movsd 0x29df(%rip), %xmm0     # 0x5020
callq *(%rax)
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x29c1(%rip), %xmm0     # 0x5018
jne 0x3208
jp 0x3208
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x3224
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2981(%rip), %xmm0     # 0x500c
jne 0x3240
jp 0x3240
leaq 0xf8(%rsp), %rbx
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x232e
movq 0x20(%rbx), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x325c
movq 0x130(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2936(%rip), %xmm0     # 0x500c
jne 0x3278
jp 0x3278
movq 0x148(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x291f(%rip), %xmm0     # 0x5018
jne 0x3294
jp 0x3294
movq 0x120(%rsp), %rdi
movq (%rdi), %rax
pushq $0xa
popq %rsi
callq *(%rax)
movq 0x118(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xa, %eax
jne 0x32b0
movq 0x130(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x28c9(%rip), %xmm0     # 0x500c
jne 0x32cc
jp 0x32cc
movq 0x148(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x28b2(%rip), %xmm0     # 0x5018
jne 0x32e8
jp 0x32e8
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x3304
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x2872(%rip), %xmm0     # 0x500c
jne 0x3320
jp 0x3320
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x285e(%rip), %xmm0     # 0x5018
jne 0x333c
jp 0x333c
pushq $0x78
popq %rdi
callq 0x2090
movq %rax, %rbx
movq %rax, %rdi
callq 0x22de
movq 0x78(%rsp), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *(%rax)
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x20(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testl %eax, %eax
jne 0x3358
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x38(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3374
jp 0x3374
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x50(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x3390
jp 0x3390
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x68(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testq %rax, %rax
jne 0x33ac
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x28(%rax), %rdi
movq (%rdi), %rax
pushq $0xa
popq %rsi
callq *(%rax)
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x40(%rax), %rdi
movq (%rdi), %rax
xorps %xmm0, %xmm0
callq *(%rax)
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x58(%rax), %rdi
movq (%rdi), %rax
xorps %xmm0, %xmm0
callq *(%rax)
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x70(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x33c5
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x270d(%rip), %xmm0     # 0x500c
jne 0x33de
jp 0x33de
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x26f9(%rip), %xmm0     # 0x5018
jne 0x33f7
jp 0x33f7
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x20(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xa, %eax
jne 0x3410
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x38(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3429
jp 0x3429
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x50(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x3446
jp 0x3446
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x68(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testq %rax, %rax
jne 0x3465
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
leaq 0x80(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x232e
movq 0x20(%rbx), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xa, %eax
jne 0x3484
movq 0xb8(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x34a3
jp 0x34a3
movq 0xd0(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x34c2
jp 0x34c2
movq 0xe8(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testq %rax, %rax
jne 0x34e1
movq 0xa8(%rsp), %rdi
movq (%rdi), %rax
pushq $0xb
popq %rsi
callq *(%rax)
movq 0xc0(%rsp), %rdi
movq (%rdi), %rax
movss 0x25a1(%rip), %xmm0     # 0x5010
callq *(%rax)
movq 0xd8(%rsp), %rdi
movq (%rdi), %rax
movsd 0x25a4(%rip), %xmm0     # 0x5028
callq *(%rax)
movq 0xa0(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xb, %eax
jne 0x3500
movq 0xb8(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x255c(%rip), %xmm0     # 0x5010
jne 0x351f
jp 0x351f
movq 0xd0(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x2551(%rip), %xmm0     # 0x5028
jne 0x353e
jp 0x353e
movq 0xe8(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testq %rax, %rax
jne 0x355d
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x357c
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x24e9(%rip), %xmm0     # 0x500c
jne 0x359b
jp 0x359b
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomisd 0x24d5(%rip), %xmm0     # 0x5018
jne 0x35ba
jp 0x35ba
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x20(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xa, %eax
jne 0x35d9
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x38(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x35f8
jp 0x35f8
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x50(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x3617
jp 0x3617
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x68(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testq %rax, %rax
jne 0x3636
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
negl %eax
movq 0x30(%rsp), %rdi
movq (%rdi), %rcx
movl %eax, %esi
callq *(%rcx)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $-0x4, %eax
jne 0x3655
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cvtsi2ss %eax, %xmm0
movss %xmm0, 0x4(%rsp)
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x4(%rsp), %xmm0
jne 0x2c40
jnp 0x3674
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
pushq $0xc
popq %rsi
callq *(%rax)
movq 0x48(%rsp), %rdi
movq (%rdi), %rax
movss 0x23b7(%rip), %xmm0     # 0x5014
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cvtsi2ss %eax, %xmm0
movss %xmm0, 0x4(%rsp)
movq 0x40(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
ucomiss 0x4(%rsp), %xmm0
jne 0x3693
jp 0x3693
leaq 0x28(%rsp), %rbx
movq %rbx, %rdi
callq 0x3b88
movq (%rbx), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xd, %eax
jne 0x36b2
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3ba8
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xe, %eax
jne 0x36d1
movq %rbx, %rdi
callq 0x3bda
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xd, %eax
jne 0x36f0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3bfa
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0xc, %eax
jne 0x370f
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testl %eax, %eax
jne 0x372e
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3ba8
testl %eax, %eax
jne 0x374d
movq %rbx, %rdi
callq 0x3b88
movq (%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x2, %eax
jne 0x376c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3bfa
cmpl $0x2, %eax
jne 0x378b
movq %rbx, %rdi
callq 0x3bda
movq (%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testl %eax, %eax
jne 0x37aa
movq 0x10(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
xorb $0x1, %al
movq 0x18(%rsp), %rdi
movq (%rdi), %rcx
movzbl %al, %esi
callq *(%rcx)
movq 0x10(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
testb %al, %al
je 0x37c9
movq %rsp, %rsi
movl $0x4, (%rsi)
movq %rbx, %rdi
callq 0x3c2c
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x37e8
movq %rsp, %rsi
movl $0x3, (%rsi)
movq %rbx, %rdi
callq 0x3c58
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x1, %eax
jne 0x3807
movq %rsp, %rsi
movl $0x10, (%rsi)
movq %rbx, %rdi
callq 0x3c84
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x10, %eax
jne 0x3826
movq %rsp, %rsi
movl $0x2, (%rsi)
movq %rbx, %rdi
callq 0x3cb2
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x8, %eax
jne 0x3845
movq %rsp, %rsi
movl $0x3, (%rsi)
movq %rbx, %rdi
callq 0x3ce0
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x2, %eax
jne 0x3864
movq %rsp, %rsi
movl $0x3, (%rsi)
movq %rbx, %rdi
callq 0x3d0e
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x2, %eax
jne 0x3883
movq %rsp, %rsi
movl $0x1, (%rsi)
movq %rbx, %rdi
callq 0x3d3a
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x3, %eax
jne 0x38a2
movq %rsp, %rsi
movl $0x1, (%rsi)
movq %rbx, %rdi
callq 0x3d66
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x2, %eax
jne 0x38c1
movq %rsp, %rsi
movl $0x1, (%rsi)
movq %rbx, %rdi
callq 0x3d92
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x4, %eax
jne 0x38e0
movq %rsp, %rsi
movl $0x1, (%rsi)
movq %rbx, %rdi
callq 0x3dc0
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x2, %eax
jne 0x38ff
leaq 0x70(%rsp), %r15
movq (%r15), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq %rax, %r14
movq %rsp, %rsi
movl $0x4, (%rsi)
movq %r15, %rdi
callq 0x3dee
movq (%r15), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
leaq 0x1e0(%r14), %rcx
cmpq %rcx, %rax
jne 0x391e
movq %rsp, %rsi
movl $0x4, (%rsi)
movq %r15, %rdi
callq 0x3e20
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpq %r14, %rax
jne 0x393d
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
movq %rsp, %r14
movl $0x2, (%r14)
movq %rbx, %rdi
callq 0x3b88
movq %rax, %rdi
movq %r14, %rsi
callq 0x3c2c
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x3, %eax
jne 0x395c
movq %rsp, %rsi
movl $0x3, (%rsi)
movq %rbx, %rdi
callq 0x3c2c
movq %rax, %rdi
callq 0x3b88
movq 0x28(%rsp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *(%rax)
cmpl $0x7, %eax
jne 0x397b
xorl %eax, %eax
addq $0x170, %rsp            # imm = 0x170
popq %rbx
popq %r14
popq %r15
retq
leaq 0x2039(%rip), %rdi      # 0x5050
leaq 0x203f(%rip), %rsi      # 0x505d
leaq 0x2041(%rip), %rcx      # 0x5066
pushq $0x3f
jmp 0x3440
leaq 0x203e(%rip), %rdi      # 0x5071
leaq 0x2023(%rip), %rsi      # 0x505d
leaq 0x2025(%rip), %rcx      # 0x5066
pushq $0x40
jmp 0x3440
leaq 0x202b(%rip), %rdi      # 0x507a
leaq 0x2007(%rip), %rsi      # 0x505d
leaq 0x2009(%rip), %rcx      # 0x5066
pushq $0x41
jmp 0x3440
leaq 0x2018(%rip), %rdi      # 0x5083
leaq 0x1feb(%rip), %rsi      # 0x505d
leaq 0x1fed(%rip), %rcx      # 0x5066
pushq $0x42
jmp 0x3440
leaq 0x2005(%rip), %rdi      # 0x508c
leaq 0x1fcf(%rip), %rsi      # 0x505d
leaq 0x1fd1(%rip), %rcx      # 0x5066
pushq $0x43
jmp 0x3440
leaq 0x1ff2(%rip), %rdi      # 0x5095
leaq 0x1fb3(%rip), %rsi      # 0x505d
leaq 0x1fb5(%rip), %rcx      # 0x5066
pushq $0x47
jmp 0x3440
leaq 0x1fdf(%rip), %rdi      # 0x509e
leaq 0x1f97(%rip), %rsi      # 0x505d
leaq 0x1f99(%rip), %rcx      # 0x5066
pushq $0x48
jmp 0x3440
leaq 0x1fcc(%rip), %rdi      # 0x50a7
leaq 0x1f7b(%rip), %rsi      # 0x505d
leaq 0x1f7d(%rip), %rcx      # 0x5066
pushq $0x4b
jmp 0x3440
leaq 0x1fa7(%rip), %rdi      # 0x509e
leaq 0x1f5f(%rip), %rsi      # 0x505d
leaq 0x1f61(%rip), %rcx      # 0x5066
pushq $0x4c
jmp 0x3440
leaq 0x1f9d(%rip), %rdi      # 0x50b0
leaq 0x1f43(%rip), %rsi      # 0x505d
leaq 0x1f45(%rip), %rcx      # 0x5066
pushq $0x4f
jmp 0x3440
leaq 0x1f8a(%rip), %rdi      # 0x50b9
leaq 0x1f27(%rip), %rsi      # 0x505d
leaq 0x1f29(%rip), %rcx      # 0x5066
pushq $0x50
jmp 0x3440
leaq 0x1f77(%rip), %rdi      # 0x50c2
leaq 0x1f0b(%rip), %rsi      # 0x505d
leaq 0x1f0d(%rip), %rcx      # 0x5066
pushq $0x53
jmp 0x3440
leaq 0x1f52(%rip), %rdi      # 0x50b9
leaq 0x1eef(%rip), %rsi      # 0x505d
leaq 0x1ef1(%rip), %rcx      # 0x5066
pushq $0x54
jmp 0x3440
leaq 0x1f3f(%rip), %rdi      # 0x50c2
leaq 0x1ed3(%rip), %rsi      # 0x505d
leaq 0x1ed5(%rip), %rcx      # 0x5066
pushq $0x57
jmp 0x3440
leaq 0x1f2c(%rip), %rdi      # 0x50cb
leaq 0x1eb7(%rip), %rsi      # 0x505d
leaq 0x1eb9(%rip), %rcx      # 0x5066
pushq $0x58
jmp 0x3440
leaq 0x1f19(%rip), %rdi      # 0x50d4
leaq 0x1e9b(%rip), %rsi      # 0x505d
leaq 0x1e9d(%rip), %rcx      # 0x5066
pushq $0x5b
jmp 0x3440
leaq 0x1eeb(%rip), %rdi      # 0x50c2
leaq 0x1e7f(%rip), %rsi      # 0x505d
leaq 0x1e81(%rip), %rcx      # 0x5066
pushq $0x5c
jmp 0x3440
leaq 0x1ed8(%rip), %rdi      # 0x50cb
leaq 0x1e63(%rip), %rsi      # 0x505d
leaq 0x1e65(%rip), %rcx      # 0x5066
pushq $0x5d
jmp 0x3440
leaq 0x1ec5(%rip), %rdi      # 0x50d4
leaq 0x1e47(%rip), %rsi      # 0x505d
leaq 0x1e49(%rip), %rcx      # 0x5066
pushq $0x60
jmp 0x3440
leaq 0x1e97(%rip), %rdi      # 0x50c2
leaq 0x1e2b(%rip), %rsi      # 0x505d
leaq 0x1e2d(%rip), %rcx      # 0x5066
pushq $0x61
jmp 0x3440
leaq 0x1e84(%rip), %rdi      # 0x50cb
leaq 0x1e0f(%rip), %rsi      # 0x505d
leaq 0x1e11(%rip), %rcx      # 0x5066
pushq $0x62
jmp 0x3440
leaq 0x1e7a(%rip), %rdi      # 0x50dd
leaq 0x1df3(%rip), %rsi      # 0x505d
leaq 0x1df5(%rip), %rcx      # 0x5066
pushq $0x65
jmp 0x3440
leaq 0x1e67(%rip), %rdi      # 0x50e6
leaq 0x1dd7(%rip), %rsi      # 0x505d
leaq 0x1dd9(%rip), %rcx      # 0x5066
pushq $0x66
jmp 0x3440
leaq 0x1e54(%rip), %rdi      # 0x50ef
leaq 0x1dbb(%rip), %rsi      # 0x505d
leaq 0x1dbd(%rip), %rcx      # 0x5066
pushq $0x67
jmp 0x3440
leaq 0x1e41(%rip), %rdi      # 0x50f8
leaq 0x1d9f(%rip), %rsi      # 0x505d
leaq 0x1da1(%rip), %rcx      # 0x5066
pushq $0x6a
jmp 0x3440
leaq 0x1e13(%rip), %rdi      # 0x50e6
leaq 0x1d83(%rip), %rsi      # 0x505d
leaq 0x1d85(%rip), %rcx      # 0x5066
pushq $0x6b
jmp 0x3440
leaq 0x1e00(%rip), %rdi      # 0x50ef
leaq 0x1d67(%rip), %rsi      # 0x505d
leaq 0x1d69(%rip), %rcx      # 0x5066
pushq $0x6c
jmp 0x3440
leaq 0x1db7(%rip), %rdi      # 0x50c2
leaq 0x1d4b(%rip), %rsi      # 0x505d
leaq 0x1d4d(%rip), %rcx      # 0x5066
pushq $0x6d
jmp 0x3440
leaq 0x1da4(%rip), %rdi      # 0x50cb
leaq 0x1d2f(%rip), %rsi      # 0x505d
leaq 0x1d31(%rip), %rcx      # 0x5066
pushq $0x6e
jmp 0x3440
leaq 0x1d91(%rip), %rdi      # 0x50d4
leaq 0x1d13(%rip), %rsi      # 0x505d
leaq 0x1d15(%rip), %rcx      # 0x5066
pushq $0x6f
jmp 0x3440
leaq 0x1da3(%rip), %rdi      # 0x5102
leaq 0x1cf7(%rip), %rsi      # 0x505d
leaq 0x1cf9(%rip), %rcx      # 0x5066
pushq $0x72
jmp 0x3440
leaq 0x1d93(%rip), %rdi      # 0x510e
leaq 0x1cdb(%rip), %rsi      # 0x505d
leaq 0x1cdd(%rip), %rcx      # 0x5066
pushq $0x73
jmp 0x3440
leaq 0x1d83(%rip), %rdi      # 0x511a
leaq 0x1cbf(%rip), %rsi      # 0x505d
leaq 0x1cc1(%rip), %rcx      # 0x5066
pushq $0x74
jmp 0x3440
leaq 0x1d73(%rip), %rdi      # 0x5126
leaq 0x1ca3(%rip), %rsi      # 0x505d
leaq 0x1ca5(%rip), %rcx      # 0x5066
pushq $0x75
jmp 0x3440
leaq 0x1cf6(%rip), %rdi      # 0x50c2
leaq 0x1c8a(%rip), %rsi      # 0x505d
leaq 0x1c8c(%rip), %rcx      # 0x5066
pushq $0x7b
jmp 0x3440
leaq 0x1ce6(%rip), %rdi      # 0x50cb
leaq 0x1c71(%rip), %rsi      # 0x505d
leaq 0x1c73(%rip), %rcx      # 0x5066
pushq $0x7c
jmp 0x3440
leaq 0x1cd6(%rip), %rdi      # 0x50d4
leaq 0x1c58(%rip), %rsi      # 0x505d
leaq 0x1c5a(%rip), %rcx      # 0x5066
pushq $0x7d
jmp 0x3440
leaq 0x1d1b(%rip), %rdi      # 0x5132
leaq 0x1c3f(%rip), %rsi      # 0x505d
leaq 0x1c41(%rip), %rcx      # 0x5066
pushq $0x7e
jmp 0x3440
leaq 0x1cde(%rip), %rdi      # 0x510e
leaq 0x1c26(%rip), %rsi      # 0x505d
leaq 0x1c28(%rip), %rcx      # 0x5066
pushq $0x7f
popq %rdx
callq 0x2040
leaq 0x1ccd(%rip), %rdi      # 0x511a
leaq 0x1c09(%rip), %rsi      # 0x505d
leaq 0x1c0b(%rip), %rcx      # 0x5066
movl $0x80, %edx
callq 0x2040
leaq 0x1cba(%rip), %rdi      # 0x5126
leaq 0x1bea(%rip), %rsi      # 0x505d
leaq 0x1bec(%rip), %rcx      # 0x5066
movl $0x81, %edx
callq 0x2040
leaq 0x1cb4(%rip), %rdi      # 0x513f
leaq 0x1bcb(%rip), %rsi      # 0x505d
leaq 0x1bcd(%rip), %rcx      # 0x5066
movl $0x84, %edx
callq 0x2040
leaq 0x1c9f(%rip), %rdi      # 0x5149
leaq 0x1bac(%rip), %rsi      # 0x505d
leaq 0x1bae(%rip), %rcx      # 0x5066
movl $0x85, %edx
callq 0x2040
leaq 0x1c89(%rip), %rdi      # 0x5152
leaq 0x1b8d(%rip), %rsi      # 0x505d
leaq 0x1b8f(%rip), %rcx      # 0x5066
movl $0x86, %edx
callq 0x2040
leaq 0x1c73(%rip), %rdi      # 0x515b
leaq 0x1b6e(%rip), %rsi      # 0x505d
leaq 0x1b70(%rip), %rcx      # 0x5066
movl $0x87, %edx
callq 0x2040
leaq 0x1c5d(%rip), %rdi      # 0x5164
leaq 0x1b4f(%rip), %rsi      # 0x505d
leaq 0x1b51(%rip), %rcx      # 0x5066
movl $0x8c, %edx
callq 0x2040
leaq 0x1c48(%rip), %rdi      # 0x516e
leaq 0x1b30(%rip), %rsi      # 0x505d
leaq 0x1b32(%rip), %rcx      # 0x5066
movl $0x8d, %edx
callq 0x2040
leaq 0x1c32(%rip), %rdi      # 0x5177
leaq 0x1b11(%rip), %rsi      # 0x505d
leaq 0x1b13(%rip), %rcx      # 0x5066
movl $0x8e, %edx
callq 0x2040
leaq 0x1bf7(%rip), %rdi      # 0x515b
leaq 0x1af2(%rip), %rsi      # 0x505d
leaq 0x1af4(%rip), %rcx      # 0x5066
movl $0x8f, %edx
callq 0x2040
leaq 0x1b3f(%rip), %rdi      # 0x50c2
leaq 0x1ad3(%rip), %rsi      # 0x505d
leaq 0x1ad5(%rip), %rcx      # 0x5066
movl $0x90, %edx
callq 0x2040
leaq 0x1b29(%rip), %rdi      # 0x50cb
leaq 0x1ab4(%rip), %rsi      # 0x505d
leaq 0x1ab6(%rip), %rcx      # 0x5066
movl $0x91, %edx
callq 0x2040
leaq 0x1b13(%rip), %rdi      # 0x50d4
leaq 0x1a95(%rip), %rsi      # 0x505d
leaq 0x1a97(%rip), %rcx      # 0x5066
movl $0x92, %edx
callq 0x2040
leaq 0x1b52(%rip), %rdi      # 0x5132
leaq 0x1a76(%rip), %rsi      # 0x505d
leaq 0x1a78(%rip), %rcx      # 0x5066
movl $0x93, %edx
callq 0x2040
leaq 0x1b0f(%rip), %rdi      # 0x510e
leaq 0x1a57(%rip), %rsi      # 0x505d
leaq 0x1a59(%rip), %rcx      # 0x5066
movl $0x94, %edx
callq 0x2040
leaq 0x1afc(%rip), %rdi      # 0x511a
leaq 0x1a38(%rip), %rsi      # 0x505d
leaq 0x1a3a(%rip), %rcx      # 0x5066
movl $0x95, %edx
callq 0x2040
leaq 0x1ae9(%rip), %rdi      # 0x5126
leaq 0x1a19(%rip), %rsi      # 0x505d
leaq 0x1a1b(%rip), %rcx      # 0x5066
movl $0x96, %edx
callq 0x2040
leaq 0x1b24(%rip), %rdi      # 0x5180
leaq 0x19fa(%rip), %rsi      # 0x505d
leaq 0x19fc(%rip), %rcx      # 0x5066
movl $0x99, %edx
callq 0x2040
leaq 0x1b0f(%rip), %rdi      # 0x518a
leaq 0x19db(%rip), %rsi      # 0x505d
leaq 0x19dd(%rip), %rcx      # 0x5066
movl $0x9b, %edx
callq 0x2040
leaq 0x1afb(%rip), %rdi      # 0x5195
leaq 0x19bc(%rip), %rsi      # 0x505d
leaq 0x19be(%rip), %rcx      # 0x5066
movl $0x9e, %edx
callq 0x2040
leaq 0x1ae7(%rip), %rdi      # 0x51a0
leaq 0x199d(%rip), %rsi      # 0x505d
leaq 0x199f(%rip), %rcx      # 0x5066
movl $0xa1, %edx
callq 0x2040
leaq 0x1ad2(%rip), %rdi      # 0x51aa
leaq 0x197e(%rip), %rsi      # 0x505d
leaq 0x1980(%rip), %rcx      # 0x5066
movl $0xa4, %edx
callq 0x2040
leaq 0x1aa9(%rip), %rdi      # 0x51a0
leaq 0x195f(%rip), %rsi      # 0x505d
leaq 0x1961(%rip), %rcx      # 0x5066
movl $0xa7, %edx
callq 0x2040
leaq 0x1a9e(%rip), %rdi      # 0x51b4
leaq 0x1940(%rip), %rsi      # 0x505d
leaq 0x1942(%rip), %rcx      # 0x5066
movl $0xaa, %edx
callq 0x2040
leaq 0x193c(%rip), %rdi      # 0x5071
leaq 0x1921(%rip), %rsi      # 0x505d
leaq 0x1923(%rip), %rcx      # 0x5066
movl $0xad, %edx
callq 0x2040
leaq 0x1a6a(%rip), %rdi      # 0x51be
leaq 0x1902(%rip), %rsi      # 0x505d
leaq 0x1904(%rip), %rcx      # 0x5066
movl $0xb1, %edx
callq 0x2040
leaq 0x1a52(%rip), %rdi      # 0x51c5
leaq 0x18e3(%rip), %rsi      # 0x505d
leaq 0x18e5(%rip), %rcx      # 0x5066
movl $0xb4, %edx
callq 0x2040
leaq 0x1a33(%rip), %rdi      # 0x51c5
leaq 0x18c4(%rip), %rsi      # 0x505d
leaq 0x18c6(%rip), %rcx      # 0x5066
movl $0xb7, %edx
callq 0x2040
leaq 0x1a0d(%rip), %rdi      # 0x51be
leaq 0x18a5(%rip), %rsi      # 0x505d
leaq 0x18a7(%rip), %rcx      # 0x5066
movl $0xba, %edx
callq 0x2040
leaq 0x19fc(%rip), %rdi      # 0x51cc
leaq 0x1886(%rip), %rsi      # 0x505d
leaq 0x1888(%rip), %rcx      # 0x5066
movl $0xbd, %edx
callq 0x2040
leaq 0x18d3(%rip), %rdi      # 0x50c2
leaq 0x1867(%rip), %rsi      # 0x505d
leaq 0x1869(%rip), %rcx      # 0x5066
movl $0xc0, %edx
callq 0x2040
leaq 0x1887(%rip), %rdi      # 0x5095
leaq 0x1848(%rip), %rsi      # 0x505d
leaq 0x184a(%rip), %rcx      # 0x5066
movl $0xc3, %edx
callq 0x2040
leaq 0x19a3(%rip), %rdi      # 0x51d0
leaq 0x1829(%rip), %rsi      # 0x505d
leaq 0x182b(%rip), %rcx      # 0x5066
movl $0xc6, %edx
callq 0x2040
leaq 0x198e(%rip), %rdi      # 0x51da
leaq 0x180a(%rip), %rsi      # 0x505d
leaq 0x180c(%rip), %rcx      # 0x5066
movl $0xc9, %edx
callq 0x2040
leaq 0x183c(%rip), %rdi      # 0x50a7
leaq 0x17eb(%rip), %rsi      # 0x505d
leaq 0x17ed(%rip), %rcx      # 0x5066
movl $0xcc, %edx
callq 0x2040
leaq 0x181d(%rip), %rdi      # 0x50a7
leaq 0x17cc(%rip), %rsi      # 0x505d
leaq 0x17ce(%rip), %rcx      # 0x5066
movl $0xcf, %edx
callq 0x2040
leaq 0x1807(%rip), %rdi      # 0x50b0
leaq 0x17ad(%rip), %rsi      # 0x505d
leaq 0x17af(%rip), %rcx      # 0x5066
movl $0xd2, %edx
callq 0x2040
leaq 0x17df(%rip), %rdi      # 0x50a7
leaq 0x178e(%rip), %rsi      # 0x505d
leaq 0x1790(%rip), %rcx      # 0x5066
movl $0xd5, %edx
callq 0x2040
leaq 0x17db(%rip), %rdi      # 0x50c2
leaq 0x176f(%rip), %rsi      # 0x505d
leaq 0x1771(%rip), %rcx      # 0x5066
movl $0xd8, %edx
callq 0x2040
leaq 0x17a1(%rip), %rdi      # 0x50a7
leaq 0x1750(%rip), %rsi      # 0x505d
leaq 0x1752(%rip), %rcx      # 0x5066
movl $0xdb, %edx
callq 0x2040
leaq 0x18be(%rip), %rdi      # 0x51e3
leaq 0x1731(%rip), %rsi      # 0x505d
leaq 0x1733(%rip), %rcx      # 0x5066
movl $0xdf, %edx
callq 0x2040
leaq 0x18ac(%rip), %rdi      # 0x51f0
leaq 0x1712(%rip), %rsi      # 0x505d
leaq 0x1714(%rip), %rcx      # 0x5066
movl $0xe2, %edx
callq 0x2040
leaq 0x174d(%rip), %rdi      # 0x50b0
leaq 0x16f3(%rip), %rsi      # 0x505d
leaq 0x16f5(%rip), %rcx      # 0x5066
movl $0xe6, %edx
callq 0x2040
leaq 0x1877(%rip), %rdi      # 0x51f9
leaq 0x16d4(%rip), %rsi      # 0x505d
leaq 0x16d6(%rip), %rcx      # 0x5066
movl $0xe9, %edx
callq 0x2040
movq %rax, %r14
pushq $0x78
popq %rsi
movq %rbx, %rdi
callq 0x20a0
movq %r14, %rdi
callq 0x20c0