// File: /workspace/github_cpp_makefile_star2_O3/yanlinlin82[P]jsonxx/demo.new.cpp
// Function: test_assignments()
void test_assignments()
{
	json j;

	// null json
	j = json(); std::cout << "[TEST:57] j = " << j << " // expected: null" << std::endl;

	// boolean json
	j = false; std::cout << "[TEST:60] j = " << j << " // expected: false" << std::endl;
	j = true;  std::cout << "[TEST:61] j = " << j << " // expected: true" << std::endl;

	// number json
	j = 0;               std::cout << "[TEST:64] j = " << j << " // expected: 0" << std::endl;
	j = 123;             std::cout << "[TEST:65] j = " << j << " // expected: 123" << std::endl;
	j = -45;             std::cout << "[TEST:66] j = " << j << " // expected: -45" << std::endl;
	j = 1234567890123LL; std::cout << "[TEST:67] j = " << j << " // expected: 1234567890123" << std::endl;
	j = 0.1f;            std::cout << "[TEST:68] j = " << j << " // expected: 0.1" << std::endl;
	j = 3.14159;         std::cout << "[TEST:69] j = " << j << " // expected: 3.14159" << std::endl;

	// string json
	j = "C-style string";         std::cout << "[TEST:72] j = " << j << " // expected: \"C-style string\"" << std::endl;
	j = std::string("C++ style"); std::cout << "[TEST:73] j = " << j << " // expected: \"C++ style\"" << std::endl;

	// array json
	j = {"a", "b"};         std::cout << "[TEST:76] j = " << j << " // expected: [\"a\",\"b\"]" << std::endl;
	j = {123, 456, 78, 90}; std::cout << "[TEST:77] j = " << j << " // expected: [123,456,78,90]" << std::endl;
	j = {"123", "xyz"};     std::cout << "[TEST:78] j = " << j << " // expected: [\"123\",\"xyz\"]" << std::endl;
	j = {1.23, 45.6, .78};  std::cout << "[TEST:79] j = " << j << " // expected: [1.23,45.6,0.78]" << std::endl;

	// object json
	j = json("key", "value"); std::cout << "[TEST:82] j = " << j << " // expected: {\"key\":\"value\"}" << std::endl;
	j = json("pi", 3.14159);  std::cout << "[TEST:83] j = " << j << " // expected: {\"pi\":3.14159}" << std::endl;

	// more complex json
	j = json("array", {1, 2, 3}); std::cout << "[TEST:86] j = " << j << " // expected: {\"array\":[1,2,3]}" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x948, %rsp            # imm = 0x948
xorl %eax, %eax
leaq -0xf8(%rbp), %rcx
movl %eax, -0x18(%rcx)
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rcx)
movq %rax, 0x20(%rcx)
leaq -0xc8(%rbp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x338(%rbp), %r12
movaps %xmm0, -0x18(%r12)
movaps %xmm0, -0x8(%r12)
movaps %xmm0, 0x8(%r12)
movaps %xmm0, 0x18(%r12)
movaps %xmm0, 0x28(%r12)
leaq -0x310(%rbp), %rbx
movq %r12, -0x38(%rbx)
movb %al, -0x28(%rbx)
leaq -0x328(%rbp), %r14
movups %xmm0, (%r14)
movq %rax, 0x10(%r14)
leaq -0x308(%rbp), %rcx
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x110(%rbp), %rdi
leaq -0x350(%rbp), %r15
movq %r15, %rsi
callq 0xbb60
movq %rbx, %rdi
callq 0xb8d2
movq %r14, %rdi
callq 0xabb6
movq 0x8(%r15), %rdi
cmpq %r12, %rdi
je 0x48bc
movq -0x338(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xf715(%rip), %rdi      # 0x13fd8
leaq 0xabeb(%rip), %rsi      # 0xf4b5
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xf6dc(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
leaq -0x90(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x4923
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa775(%rip), %rsi      # 0xf09f
movl $0x12, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x958(%rbp), %r12
movl $0x1, -0x18(%r12)
movq %r12, -0x10(%r12)
xorl %eax, %eax
movq %rax, -0x8(%r12)
movb $0x0, (%r12)
leaq -0x948(%rbp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq %rax, 0x10(%rbx)
leaq -0x928(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x110(%rbp), %rdi
leaq -0x970(%rbp), %rsi
callq 0xbb60
leaq -0x930(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
cmpq %r12, %rdi
je 0x49ef
movq -0x958(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xf5e2(%rip), %rdi      # 0x13fd8
leaq 0xaac7(%rip), %rsi      # 0xf4c4
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xf5a9(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4a52
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa669(%rip), %rsi      # 0xf0c2
movl $0x13, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x2d8(%rbp), %rdi
movl $0x1, -0x8(%rdi)
leaq -0x2c8(%rbp), %r12
movq %r12, -0x10(%r12)
movq 0xf77a(%rip), %rsi      # 0x14228
movq 0xf77b(%rip), %rdx      # 0x14230
addq %rsi, %rdx
callq 0xa9d8
leaq -0x2b8(%rbp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
xorl %eax, %eax
movq %rax, 0x10(%rbx)
leaq -0x298(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x110(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0xbb60
leaq -0x2a0(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
cmpq %r12, %rdi
je 0x4b2f
movq -0x2c8(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xf4a2(%rip), %rdi      # 0x13fd8
leaq 0xa996(%rip), %rsi      # 0xf4d3
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xf469(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4b92
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa54d(%rip), %rsi      # 0xf0e6
movl $0x12, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x900(%rbp), %rdi
xorl %esi, %esi
callq 0x8890
leaq -0x110(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0xbb60
leaq -0x8c0(%rbp), %rdi
callq 0xb8d2
leaq -0x8d8(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x8e8(%rbp), %rax
cmpq %rax, %rdi
je 0x4c28
movq -0x8e8(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xf3a9(%rip), %rdi      # 0x13fd8
leaq 0xa8ac(%rip), %rsi      # 0xf4e2
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xf370(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4c8b
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa477(%rip), %rsi      # 0xf109
movl $0xf, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x890(%rbp), %rdi
movl $0x7b, %esi
callq 0x8890
leaq -0x110(%rbp), %rdi
leaq -0x890(%rbp), %rsi
callq 0xbb60
leaq -0x850(%rbp), %rdi
callq 0xb8d2
leaq -0x868(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x878(%rbp), %rax
cmpq %rax, %rdi
je 0x4d24
movq -0x878(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xf2ad(%rip), %rdi      # 0x13fd8
leaq 0xa7bf(%rip), %rsi      # 0xf4f1
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xf274(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d87
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa39b(%rip), %rsi      # 0xf129
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x820(%rbp), %rdi
movl $0xffffffd3, %esi       # imm = 0xFFFFFFD3
callq 0x8890
leaq -0x110(%rbp), %rdi
leaq -0x820(%rbp), %rsi
callq 0xbb60
leaq -0x7e0(%rbp), %rdi
callq 0xb8d2
leaq -0x7f8(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x808(%rbp), %rax
cmpq %rax, %rdi
je 0x4e20
movq -0x808(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xf1b1(%rip), %rdi      # 0x13fd8
leaq 0xa6d2(%rip), %rsi      # 0xf500
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xf178(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4e83
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa2c1(%rip), %rsi      # 0xf14b
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x7b0(%rbp), %rdi
movabsq $0x11f71fb04cb, %rsi    # imm = 0x11F71FB04CB
callq 0x8968
leaq -0x110(%rbp), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0xbb60
leaq -0x770(%rbp), %rdi
callq 0xb8d2
leaq -0x788(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x798(%rbp), %rax
cmpq %rax, %rdi
je 0x4f21
movq -0x798(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xf0b0(%rip), %rdi      # 0x13fd8
leaq 0xa5e0(%rip), %rsi      # 0xf50f
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xf077(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4f84
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa1e2(%rip), %rsi      # 0xf16d
movl $0x1b, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x740(%rbp), %rdi
movss 0xa036(%rip), %xmm0     # 0xf004
callq 0x8a4a
leaq -0x110(%rbp), %rdi
leaq -0x740(%rbp), %rsi
callq 0xbb60
leaq -0x700(%rbp), %rdi
callq 0xb8d2
leaq -0x718(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x728(%rbp), %rax
cmpq %rax, %rdi
je 0x5020
movq -0x728(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xefb1(%rip), %rdi      # 0x13fd8
leaq 0xa4f0(%rip), %rsi      # 0xf51e
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xef78(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5083
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa10f(%rip), %rsi      # 0xf199
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x6d0(%rbp), %rdi
movsd 0x9f3b(%rip), %xmm0     # 0xf008
callq 0x8b04
leaq -0x110(%rbp), %rdi
leaq -0x6d0(%rbp), %rsi
callq 0xbb60
leaq -0x690(%rbp), %rdi
callq 0xb8d2
leaq -0x6a8(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x6b8(%rbp), %rax
cmpq %rax, %rdi
je 0x511f
movq -0x6b8(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xeeb2(%rip), %rdi      # 0x13fd8
leaq 0xa400(%rip), %rsi      # 0xf52d
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xee79(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5182
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0xa032(%rip), %rsi      # 0xf1bb
movl $0x15, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x268(%rbp), %rdi
movl $0x3, -0x8(%rdi)
leaq -0x258(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x9ff3(%rip), %rsi      # 0xf1d1
leaq 0x9ffa(%rip), %rdx      # 0xf1df
callq 0xdf96
leaq -0x248(%rbp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
xorl %eax, %eax
movq %rax, 0x10(%rbx)
leaq -0x228(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x110(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0xbb60
leaq -0x230(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
cmpq %r12, %rdi
je 0x525c
movq -0x258(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xed75(%rip), %rdi      # 0x13fd8
leaq 0xa2d2(%rip), %rsi      # 0xf53c
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xed3c(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x52bf
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x9f2a(%rip), %rsi      # 0xf1f0
movl $0x1e, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0xa0(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x9f04(%rip), %rsi      # 0xf20f
leaq 0x9f06(%rip), %rdx      # 0xf218
callq 0xdf96
leaq -0x1f8(%rbp), %rdi
movl $0x3, -0x8(%rdi)
leaq -0x1e8(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
addq %rsi, %rdx
callq 0xa9d8
leaq -0x1d8(%rbp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
xorl %eax, %eax
movq %rax, 0x10(%rbx)
leaq -0x1b8(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x110(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0xbb60
leaq -0x1c0(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
cmpq %r12, %rdi
je 0x53b9
movq -0x1e8(%rbp), %rsi
incq %rsi
callq 0x2220
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x53d4
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xebfd(%rip), %rdi      # 0x13fd8
leaq 0xa169(%rip), %rsi      # 0xf54b
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xebc4(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5437
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x9dec(%rip), %rsi      # 0xf22a
movl $0x19, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0x9e14(%rip), %rax      # 0xf28d
leaq -0x120(%rbp), %r14
movq %rax, (%r14)
leaq 0xa664(%rip), %rax      # 0xfaee
movq %rax, 0x8(%r14)
leaq -0xa0(%rbp), %rsi
movq %r14, (%rsi)
movq $0x2, 0x8(%rsi)
leaq -0x660(%rbp), %rdi
callq 0x8bba
leaq -0x110(%rbp), %rdi
leaq -0x660(%rbp), %rsi
callq 0xbb60
leaq -0x620(%rbp), %rdi
callq 0xb8d2
leaq -0x638(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x648(%rbp), %rax
cmpq %rax, %rdi
je 0x54f9
movq -0x648(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xead8(%rip), %rdi      # 0x13fd8
leaq 0xa053(%rip), %rsi      # 0xf55a
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xea9f(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x555c
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x9d3d(%rip), %rsi      # 0xf2a0
movl $0x17, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movaps 0x9a82(%rip), %xmm0     # 0xf020
movups %xmm0, -0x120(%rbp)
leaq -0xa0(%rbp), %rsi
movq %r14, (%rsi)
movq $0x4, 0x8(%rsi)
leaq -0x5f0(%rbp), %rdi
callq 0x8c44
leaq -0x110(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
callq 0xbb60
leaq -0x5b0(%rbp), %rdi
callq 0xb8d2
leaq -0x5c8(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x5d8(%rbp), %rax
cmpq %rax, %rdi
je 0x5610
movq -0x5d8(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xe9c1(%rip), %rdi      # 0x13fd8
leaq 0x9f4b(%rip), %rsi      # 0xf569
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xe988(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5673
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x9c4f(%rip), %rsi      # 0xf2c9
movl $0x1d, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq 0x9a82(%rip), %rax      # 0xf137
movq %rax, -0x120(%rbp)
leaq 0x9c24(%rip), %rax      # 0xf2e7
movq %rax, -0x118(%rbp)
leaq -0xa0(%rbp), %rsi
movq %r14, (%rsi)
movq $0x2, 0x8(%rsi)
leaq -0x580(%rbp), %rdi
callq 0x8bba
leaq -0x110(%rbp), %rdi
leaq -0x580(%rbp), %rsi
callq 0xbb60
leaq -0x540(%rbp), %rdi
callq 0xb8d2
leaq -0x558(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x568(%rbp), %rax
cmpq %rax, %rdi
je 0x5735
movq -0x568(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xe89c(%rip), %rdi      # 0x13fd8
leaq 0x9e35(%rip), %rsi      # 0xf578
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rbx
leaq -0x110(%rbp), %rsi
movq %rbx, %rdi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xe860(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %r14
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x579b
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x9b5a(%rip), %rsi      # 0xf2fc
movl $0x1b, %edx
movq %r14, %rdi
callq 0x2270
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
movups 0xa4d3(%rip), %xmm0     # 0xfcb0
movaps %xmm0, -0xa0(%rbp)
movabsq $0x3fe8f5c28f5c28f6, %rax # imm = 0x3FE8F5C28F5C28F6
movq %rax, -0x90(%rbp)
leaq -0x120(%rbp), %rsi
movq %rbx, (%rsi)
movq $0x3, 0x8(%rsi)
leaq -0x510(%rbp), %rdi
callq 0x8cce
leaq -0x110(%rbp), %rdi
leaq -0x510(%rbp), %rsi
callq 0xbb60
leaq -0x4d0(%rbp), %rdi
callq 0xb8d2
leaq -0x4e8(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x4f8(%rbp), %rax
cmpq %rax, %rdi
je 0x5860
movq -0x4f8(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xe771(%rip), %rdi      # 0x13fd8
leaq 0x9d19(%rip), %rsi      # 0xf587
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xe738(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x58c3
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x9a5f(%rip), %rsi      # 0xf329
movl $0x1e, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x170(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x9a37(%rip), %rsi      # 0xf348
leaq 0x9a33(%rip), %rdx      # 0xf34b
leaq -0x180(%rbp), %rdi
callq 0xdf96
leaq -0x98(%rbp), %rdi
movl $0x3, -0x8(%rdi)
leaq -0x88(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x9a08(%rip), %rsi      # 0xf34c
leaq 0x9a06(%rip), %rdx      # 0xf351
callq 0xdf96
xorps %xmm0, %xmm0
leaq -0x58(%rbp), %rax
movups %xmm0, -0x20(%rax)
xorl %ecx, %ecx
movq %rcx, -0x10(%rax)
movl $0x0, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x4a0(%rbp), %rdi
leaq -0x180(%rbp), %rsi
leaq -0xa0(%rbp), %rdx
callq 0x8d58
leaq -0x78(%rbp), %rbx
leaq -0x110(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
callq 0xbb60
leaq -0x460(%rbp), %rdi
callq 0xb8d2
leaq -0x478(%rbp), %r14
movq %r14, %rdi
callq 0xabb6
movq -0x20(%r14), %rdi
leaq -0x488(%rbp), %rax
cmpq %rax, %rdi
je 0x59e2
movq -0x488(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x60(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
cmpq %r13, %rdi
je 0x5a0e
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2220
movq -0x180(%rbp), %rdi
cmpq %r12, %rdi
je 0x5a29
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xe5a8(%rip), %rdi      # 0x13fd8
leaq 0x9b5f(%rip), %rsi      # 0xf596
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xe56f(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5a8c
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x98d0(%rip), %rsi      # 0xf363
movl $0x1d, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x150(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x98a8(%rip), %rsi      # 0xf381
leaq 0x98a3(%rip), %rdx      # 0xf383
leaq -0x160(%rbp), %rdi
callq 0xdf96
leaq -0xa0(%rbp), %rdi
movsd 0x950d(%rip), %xmm0     # 0xf008
callq 0x8b04
leaq -0x430(%rbp), %rdi
leaq -0x160(%rbp), %rsi
leaq -0xa0(%rbp), %rdx
callq 0x8d58
leaq -0x110(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0xbb60
leaq -0x3f0(%rbp), %rdi
callq 0xb8d2
leaq -0x408(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x418(%rbp), %rax
cmpq %rax, %rdi
je 0x5b67
movq -0x418(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x60(%rbp), %rdi
callq 0xb8d2
leaq -0x78(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
cmpq %r13, %rdi
je 0x5b94
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2220
movq -0x160(%rbp), %rdi
cmpq %r14, %rdi
je 0x5baf
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xe422(%rip), %rdi      # 0x13fd8
leaq 0x99e8(%rip), %rsi      # 0xf5a5
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xe3e9(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5c12
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x977c(%rip), %rsi      # 0xf395
movl $0x1c, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x130(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x9753(%rip), %rsi      # 0xf3b2
leaq 0x9751(%rip), %rdx      # 0xf3b7
leaq -0x140(%rbp), %rdi
callq 0xdf96
movabsq $0x200000001, %rax      # imm = 0x200000001
leaq -0x18c(%rbp), %rcx
movq %rax, (%rcx)
movl $0x3, 0x8(%rcx)
leaq -0x120(%rbp), %rsi
movq %rcx, (%rsi)
movq $0x3, 0x8(%rsi)
leaq -0xa0(%rbp), %rdi
callq 0x8c44
leaq -0x3c0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
leaq -0xa0(%rbp), %rdx
callq 0x8d58
leaq -0x110(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
callq 0xbb60
leaq -0x380(%rbp), %rdi
callq 0xb8d2
leaq -0x398(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x3a8(%rbp), %rax
cmpq %rax, %rdi
je 0x5d12
movq -0x3a8(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x60(%rbp), %rdi
callq 0xb8d2
leaq -0x78(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
cmpq %r13, %rdi
je 0x5d3f
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x2220
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x5d5a
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x2220
movq 0xe277(%rip), %rdi      # 0x13fd8
leaq 0x984c(%rip), %rsi      # 0xf5b4
movl $0xe, %edx
callq 0x2270
leaq -0xa0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x9dd2
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0xe23e(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5dbd
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
leaq 0x9605(%rip), %rsi      # 0xf3c9
movl $0x1f, %edx
movq %rbx, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0xe8(%rbp), %rbx
leaq -0xd0(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x5e35
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x2220
addq $0x948, %rsp            # imm = 0x948
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5f0b
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x8fa2
jmp 0x5e60
movq %rax, %rbx
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x5f43
movq -0x130(%rbp), %rsi
jmp 0x5f21
jmp 0x5f40
jmp 0x5f0b
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x8fa2
jmp 0x5e9a
movq %rax, %rbx
movq -0x160(%rbp), %rdi
cmpq %r14, %rdi
je 0x5f43
movq -0x150(%rbp), %rsi
jmp 0x5f21
jmp 0x5f40
jmp 0x5f0b
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x8fa2
jmp 0x5ece
movq %rax, %rbx
movq -0x180(%rbp), %rdi
cmpq %r12, %rdi
je 0x5f43
movq -0x170(%rbp), %rsi
jmp 0x5f21
jmp 0x5f40
jmp 0x5f0b
jmp 0x5f40
jmp 0x5f0b
jmp 0x5f40
jmp 0x5f0b
jmp 0x5f40
jmp 0x5f0b
jmp 0x5f40
jmp 0x5f0b
jmp 0x5f0b
jmp 0x5f40
jmp 0x5f0b
jmp 0x5f0b
jmp 0x5f0b
jmp 0x5f0b
jmp 0x5f0b
jmp 0x5f0b
jmp 0x5f0b
jmp 0x5f0b
movq %rax, %rbx
movq -0xa0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5f43
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x2220
jmp 0x5f43
movq %rax, %rbx
leaq -0x90(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x5f1a
jmp 0x5f43
movq %rax, %rbx
leaq -0x110(%rbp), %rdi
callq 0x8fa2
movq %rbx, %rdi
callq 0x2370