// File: yanniss[P]souffle-num-addon/num256_test.cpp
// Function: test_shl::test_method()
BOOST_AUTO_TEST_CASE(test_shl) {
	BOOST_TEST(
			   shl_256("0x0",
					   "0x0000000000000000000000000000000000000000000000000000000000000001")
			   ==
			   "0x1");
	BOOST_TEST(
			   shl_256("0x1",
					   "0x0000000000000000000000000000000000000000000000000000000000000001")
			   ==
			   "0x2");
	BOOST_TEST(
			   shl_256("0xff",
					   "0x0000000000000000000000000000000000000000000000000000000000000001")
			   ==
			   "0x8000000000000000000000000000000000000000000000000000000000000000");
	BOOST_TEST(
			   shl_256("0x100",
					   "0x0000000000000000000000000000000000000000000000000000000000000001")
			   ==
			   "0x0");
	BOOST_TEST(
			   shl_256("0x101",
					   "0x0000000000000000000000000000000000000000000000000000000000000001")
			   ==
			   "0x0");
	BOOST_TEST(
			   shl_256("0x00",
					   "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
			   ==
			   "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
	BOOST_TEST(
			   shl_256("0x01",
					   "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
			   ==
			   "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe");
	BOOST_TEST(
			   shl_256("0xff",
					   "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
			   ==
			   "0x8000000000000000000000000000000000000000000000000000000000000000");
	BOOST_TEST(
			   shl_256("0x100",
					   "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
			   ==
			   "0x0");
	BOOST_TEST(
			   shl_256("0x01",
					   "0x0000000000000000000000000000000000000000000000000000000000000000")
			   ==
			   "0x0");
	BOOST_TEST(
			   shl_256("0x01",
					   "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
			   ==
			   "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x920, %rsp            # imm = 0x920
movq %rdi, -0x8(%rbp)
movq 0x10b7d2(%rip), %rax    # 0x140a98
movq %rax, -0x728(%rbp)
leaq 0xa7633(%rip), %rsi     # 0xdc907
leaq -0x18(%rbp), %rdi
movq %rdi, -0x720(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x28(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x53590
movq -0x728(%rbp), %rdi
movq -0x720(%rbp), %rsi
movq -0x718(%rbp), %rcx
movl $0x31, %edx
callq 0x29d70
leaq 0xa79ff(%rip), %rdi     # 0xdcd1e
leaq 0xa79fc(%rip), %rsi     # 0xdcd22
callq 0x32940
movq %rax, -0x68(%rbp)
leaq -0x58(%rbp), %rdi
movq %rdi, -0x710(%rbp)
leaq -0x59(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x63070
movq -0x710(%rbp), %rsi
leaq 0xa7a10(%rip), %rdx     # 0xdcd65
leaq -0x50(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x636b0
movq -0x708(%rbp), %rsi
leaq -0x40(%rbp), %rdi
xorl %edx, %edx
callq 0x636f0
callq 0x55830
movq %rax, -0x700(%rbp)
jmp 0x35385
leaq 0xa79dd(%rip), %rsi     # 0xdcd69
leaq -0xa8(%rbp), %rdi
movl $0x5d, %edx
callq 0x514b0
jmp 0x3539f
movq -0x700(%rbp), %rsi
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x63280
jmp 0x353bb
leaq 0xa7545(%rip), %rsi     # 0xdc907
leaq -0xb8(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x353d5
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x40(%rbp), %rdi
leaq -0x88(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
movl $0x31, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x3540b
leaq -0x88(%rbp), %rdi
callq 0x632c0
leaq -0x40(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x352bf
jmp 0x3542f
movq 0x10b662(%rip), %rax    # 0x140a98
movq %rax, -0x758(%rbp)
leaq 0xa74c3(%rip), %rsi     # 0xdc907
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x750(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x53590
movq -0x758(%rbp), %rdi
movq -0x750(%rbp), %rsi
movq -0x748(%rbp), %rcx
movl $0x36, %edx
callq 0x29d70
leaq 0xa78d0(%rip), %rdi     # 0xdcd65
leaq 0xa7886(%rip), %rsi     # 0xdcd22
callq 0x32940
movq %rax, -0x118(%rbp)
leaq -0x108(%rbp), %rdi
movq %rdi, -0x740(%rbp)
leaq -0x109(%rbp), %rsi
leaq -0x118(%rbp), %rdx
callq 0x63070
movq -0x740(%rbp), %rsi
leaq 0xa78f0(%rip), %rdx     # 0xdcdc7
leaq -0x100(%rbp), %rdi
movq %rdi, -0x738(%rbp)
callq 0x636b0
movq -0x738(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
xorl %edx, %edx
callq 0x636f0
callq 0x55830
movq %rax, -0x730(%rbp)
jmp 0x3550d
leaq 0xa78b7(%rip), %rsi     # 0xdcdcb
leaq -0x148(%rbp), %rdi
movl $0x5d, %edx
callq 0x514b0
jmp 0x35527
movq -0x730(%rbp), %rsi
leaq -0x138(%rbp), %rdi
leaq -0x148(%rbp), %rdx
callq 0x63280
jmp 0x35543
leaq 0xa73bd(%rip), %rsi     # 0xdc907
leaq -0x158(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x3555d
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0xf0(%rbp), %rdi
leaq -0x138(%rbp), %rsi
leaq -0x158(%rbp), %rdx
movl $0x36, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x35596
leaq -0x138(%rbp), %rdi
callq 0x632c0
leaq -0xf0(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x3542f
jmp 0x355bd
movq 0x10b4d4(%rip), %rax    # 0x140a98
movq %rax, -0x788(%rbp)
leaq 0xa7335(%rip), %rsi     # 0xdc907
leaq -0x168(%rbp), %rdi
movq %rdi, -0x780(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x178(%rbp), %rdi
movq %rdi, -0x778(%rbp)
callq 0x53590
movq -0x788(%rbp), %rdi
movq -0x780(%rbp), %rsi
movq -0x778(%rbp), %rcx
movl $0x3b, %edx
callq 0x29d70
leaq 0xa7806(%rip), %rdi     # 0xdce29
leaq 0xa76f8(%rip), %rsi     # 0xdcd22
callq 0x32940
movq %rax, -0x1b8(%rbp)
leaq -0x1a8(%rbp), %rdi
movq %rdi, -0x770(%rbp)
leaq -0x1a9(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
callq 0x63070
movq -0x770(%rbp), %rsi
leaq 0xa77c9(%rip), %rdx     # 0xdce2e
leaq -0x1a0(%rbp), %rdi
movq %rdi, -0x768(%rbp)
callq 0x630a0
movq -0x768(%rbp), %rsi
leaq -0x190(%rbp), %rdi
xorl %edx, %edx
callq 0x630e0
callq 0x55830
movq %rax, -0x760(%rbp)
jmp 0x3569b
leaq 0xa77cf(%rip), %rsi     # 0xdce71
leaq -0x1e8(%rbp), %rdi
movl $0x9d, %edx
callq 0x514b0
jmp 0x356b5
movq -0x760(%rbp), %rsi
leaq -0x1d8(%rbp), %rdi
leaq -0x1e8(%rbp), %rdx
callq 0x63280
jmp 0x356d1
leaq 0xa722f(%rip), %rsi     # 0xdc907
leaq -0x1f8(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x356eb
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x190(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
leaq -0x1f8(%rbp), %rdx
movl $0x3b, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x35724
leaq -0x1d8(%rbp), %rdi
callq 0x632c0
leaq -0x190(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x355bd
jmp 0x3574b
movq 0x10b346(%rip), %rax    # 0x140a98
movq %rax, -0x7b8(%rbp)
leaq 0xa71a7(%rip), %rsi     # 0xdc907
leaq -0x208(%rbp), %rdi
movq %rdi, -0x7b0(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x218(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0x53590
movq -0x7b8(%rbp), %rdi
movq -0x7b0(%rbp), %rsi
movq -0x7a8(%rbp), %rcx
movl $0x40, %edx
callq 0x29d70
leaq 0xa775e(%rip), %rdi     # 0xdcf0f
leaq 0xa756a(%rip), %rsi     # 0xdcd22
callq 0x32940
movq %rax, -0x258(%rbp)
leaq -0x248(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
leaq -0x249(%rbp), %rsi
leaq -0x258(%rbp), %rdx
callq 0x63070
movq -0x7a0(%rbp), %rsi
leaq 0xa752b(%rip), %rdx     # 0xdcd1e
leaq -0x240(%rbp), %rdi
movq %rdi, -0x798(%rbp)
callq 0x636b0
movq -0x798(%rbp), %rsi
leaq -0x230(%rbp), %rdi
xorl %edx, %edx
callq 0x636f0
callq 0x55830
movq %rax, -0x790(%rbp)
jmp 0x35829
leaq 0xa76e5(%rip), %rsi     # 0xdcf15
leaq -0x288(%rbp), %rdi
movl $0x5f, %edx
callq 0x514b0
jmp 0x35843
movq -0x790(%rbp), %rsi
leaq -0x278(%rbp), %rdi
leaq -0x288(%rbp), %rdx
callq 0x63280
jmp 0x3585f
leaq 0xa70a1(%rip), %rsi     # 0xdc907
leaq -0x298(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x35879
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x230(%rbp), %rdi
leaq -0x278(%rbp), %rsi
leaq -0x298(%rbp), %rdx
movl $0x40, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x358b2
leaq -0x278(%rbp), %rdi
callq 0x632c0
leaq -0x230(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x3574b
jmp 0x358d9
movq 0x10b1b8(%rip), %rax    # 0x140a98
movq %rax, -0x7e8(%rbp)
leaq 0xa7019(%rip), %rsi     # 0xdc907
leaq -0x2a8(%rbp), %rdi
movq %rdi, -0x7e0(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x2b8(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
callq 0x53590
movq -0x7e8(%rbp), %rdi
movq -0x7e0(%rbp), %rsi
movq -0x7d8(%rbp), %rcx
movl $0x45, %edx
callq 0x29d70
leaq 0xa7636(%rip), %rdi     # 0xdcf75
leaq 0xa73dc(%rip), %rsi     # 0xdcd22
callq 0x32940
movq %rax, -0x2f8(%rbp)
leaq -0x2e8(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
leaq -0x2e9(%rbp), %rsi
leaq -0x2f8(%rbp), %rdx
callq 0x63070
movq -0x7d0(%rbp), %rsi
leaq 0xa739d(%rip), %rdx     # 0xdcd1e
leaq -0x2e0(%rbp), %rdi
movq %rdi, -0x7c8(%rbp)
callq 0x636b0
movq -0x7c8(%rbp), %rsi
leaq -0x2d0(%rbp), %rdi
xorl %edx, %edx
callq 0x636f0
callq 0x55830
movq %rax, -0x7c0(%rbp)
jmp 0x359b7
leaq 0xa75bd(%rip), %rsi     # 0xdcf7b
leaq -0x328(%rbp), %rdi
movl $0x5f, %edx
callq 0x514b0
jmp 0x359d1
movq -0x7c0(%rbp), %rsi
leaq -0x318(%rbp), %rdi
leaq -0x328(%rbp), %rdx
callq 0x63280
jmp 0x359ed
leaq 0xa6f13(%rip), %rsi     # 0xdc907
leaq -0x338(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x35a07
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x2d0(%rbp), %rdi
leaq -0x318(%rbp), %rsi
leaq -0x338(%rbp), %rdx
movl $0x45, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x35a40
leaq -0x318(%rbp), %rdi
callq 0x632c0
leaq -0x2d0(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x358d9
jmp 0x35a67
movq 0x10b02a(%rip), %rax    # 0x140a98
movq %rax, -0x820(%rbp)
leaq 0xa6e8b(%rip), %rsi     # 0xdc907
leaq -0x348(%rbp), %rdi
movq %rdi, -0x818(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x358(%rbp), %rdi
movq %rdi, -0x810(%rbp)
callq 0x53590
movq -0x820(%rbp), %rdi
movq -0x818(%rbp), %rsi
movq -0x810(%rbp), %rcx
movl $0x4a, %edx
callq 0x29d70
leaq 0xa750e(%rip), %rdi     # 0xdcfdb
leaq 0xa750c(%rip), %rsi     # 0xdcfe0
movq %rsi, -0x800(%rbp)
callq 0x32940
movq %rax, -0x398(%rbp)
leaq -0x388(%rbp), %rdi
movq %rdi, -0x808(%rbp)
leaq -0x389(%rbp), %rsi
leaq -0x398(%rbp), %rdx
callq 0x63070
movq -0x808(%rbp), %rsi
movq -0x800(%rbp), %rdx
leaq -0x380(%rbp), %rdi
movq %rdi, -0x7f8(%rbp)
callq 0x630a0
movq -0x7f8(%rbp), %rsi
leaq -0x370(%rbp), %rdi
xorl %edx, %edx
callq 0x630e0
callq 0x55830
movq %rax, -0x7f0(%rbp)
jmp 0x35b4c
leaq 0xa74d0(%rip), %rsi     # 0xdd023
leaq -0x3c8(%rbp), %rdi
movl $0x9d, %edx
callq 0x514b0
jmp 0x35b66
movq -0x7f0(%rbp), %rsi
leaq -0x3b8(%rbp), %rdi
leaq -0x3c8(%rbp), %rdx
callq 0x63280
jmp 0x35b82
leaq 0xa6d7e(%rip), %rsi     # 0xdc907
leaq -0x3d8(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x35b9c
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x370(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
leaq -0x3d8(%rbp), %rdx
movl $0x4a, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x35bd5
leaq -0x3b8(%rbp), %rdi
callq 0x632c0
leaq -0x370(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x35a67
jmp 0x35bfc
movq 0x10ae95(%rip), %rax    # 0x140a98
movq %rax, -0x850(%rbp)
leaq 0xa6cf6(%rip), %rsi     # 0xdc907
leaq -0x3e8(%rbp), %rdi
movq %rdi, -0x848(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x3f8(%rbp), %rdi
movq %rdi, -0x840(%rbp)
callq 0x53590
movq -0x850(%rbp), %rdi
movq -0x848(%rbp), %rsi
movq -0x840(%rbp), %rcx
movl $0x4f, %edx
callq 0x29d70
leaq 0xa745f(%rip), %rdi     # 0xdd0c1
leaq 0xa7377(%rip), %rsi     # 0xdcfe0
callq 0x32940
movq %rax, -0x438(%rbp)
leaq -0x428(%rbp), %rdi
movq %rdi, -0x838(%rbp)
leaq -0x429(%rbp), %rsi
leaq -0x438(%rbp), %rdx
callq 0x63070
movq -0x838(%rbp), %rsi
leaq 0xa7422(%rip), %rdx     # 0xdd0c6
leaq -0x420(%rbp), %rdi
movq %rdi, -0x830(%rbp)
callq 0x630a0
movq -0x830(%rbp), %rsi
leaq -0x410(%rbp), %rdi
xorl %edx, %edx
callq 0x630e0
callq 0x55830
movq %rax, -0x828(%rbp)
jmp 0x35cda
leaq 0xa7428(%rip), %rsi     # 0xdd109
leaq -0x468(%rbp), %rdi
movl $0x9d, %edx
callq 0x514b0
jmp 0x35cf4
movq -0x828(%rbp), %rsi
leaq -0x458(%rbp), %rdi
leaq -0x468(%rbp), %rdx
callq 0x63280
jmp 0x35d10
leaq 0xa6bf0(%rip), %rsi     # 0xdc907
leaq -0x478(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x35d2a
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x410(%rbp), %rdi
leaq -0x458(%rbp), %rsi
leaq -0x478(%rbp), %rdx
movl $0x4f, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x35d63
leaq -0x458(%rbp), %rdi
callq 0x632c0
leaq -0x410(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x35bfc
jmp 0x35d8a
movq 0x10ad07(%rip), %rax    # 0x140a98
movq %rax, -0x880(%rbp)
leaq 0xa6b68(%rip), %rsi     # 0xdc907
leaq -0x488(%rbp), %rdi
movq %rdi, -0x878(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x498(%rbp), %rdi
movq %rdi, -0x870(%rbp)
callq 0x53590
movq -0x880(%rbp), %rdi
movq -0x878(%rbp), %rsi
movq -0x870(%rbp), %rcx
movl $0x54, %edx
callq 0x29d70
leaq 0xa7039(%rip), %rdi     # 0xdce29
leaq 0xa71e9(%rip), %rsi     # 0xdcfe0
callq 0x32940
movq %rax, -0x4d8(%rbp)
leaq -0x4c8(%rbp), %rdi
movq %rdi, -0x868(%rbp)
leaq -0x4c9(%rbp), %rsi
leaq -0x4d8(%rbp), %rdx
callq 0x63070
movq -0x868(%rbp), %rsi
leaq 0xa6ffc(%rip), %rdx     # 0xdce2e
leaq -0x4c0(%rbp), %rdi
movq %rdi, -0x860(%rbp)
callq 0x630a0
movq -0x860(%rbp), %rsi
leaq -0x4b0(%rbp), %rdi
xorl %edx, %edx
callq 0x630e0
callq 0x55830
movq %rax, -0x858(%rbp)
jmp 0x35e68
leaq 0xa7338(%rip), %rsi     # 0xdd1a7
leaq -0x508(%rbp), %rdi
movl $0x9d, %edx
callq 0x514b0
jmp 0x35e82
movq -0x858(%rbp), %rsi
leaq -0x4f8(%rbp), %rdi
leaq -0x508(%rbp), %rdx
callq 0x63280
jmp 0x35e9e
leaq 0xa6a62(%rip), %rsi     # 0xdc907
leaq -0x518(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x35eb8
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x4b0(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
leaq -0x518(%rbp), %rdx
movl $0x54, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x35ef1
leaq -0x4f8(%rbp), %rdi
callq 0x632c0
leaq -0x4b0(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x35d8a
jmp 0x35f18
movq 0x10ab79(%rip), %rax    # 0x140a98
movq %rax, -0x8b0(%rbp)
leaq 0xa69da(%rip), %rsi     # 0xdc907
leaq -0x528(%rbp), %rdi
movq %rdi, -0x8a8(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x538(%rbp), %rdi
movq %rdi, -0x8a0(%rbp)
callq 0x53590
movq -0x8b0(%rbp), %rdi
movq -0x8a8(%rbp), %rsi
movq -0x8a0(%rbp), %rcx
movl $0x59, %edx
callq 0x29d70
leaq 0xa6f91(%rip), %rdi     # 0xdcf0f
leaq 0xa705b(%rip), %rsi     # 0xdcfe0
callq 0x32940
movq %rax, -0x578(%rbp)
leaq -0x568(%rbp), %rdi
movq %rdi, -0x898(%rbp)
leaq -0x569(%rbp), %rsi
leaq -0x578(%rbp), %rdx
callq 0x63070
movq -0x898(%rbp), %rsi
leaq 0xa6d5e(%rip), %rdx     # 0xdcd1e
leaq -0x560(%rbp), %rdi
movq %rdi, -0x890(%rbp)
callq 0x636b0
movq -0x890(%rbp), %rsi
leaq -0x550(%rbp), %rdi
xorl %edx, %edx
callq 0x636f0
callq 0x55830
movq %rax, -0x888(%rbp)
jmp 0x35ff6
leaq 0xa7248(%rip), %rsi     # 0xdd245
leaq -0x5a8(%rbp), %rdi
movl $0x5f, %edx
callq 0x514b0
jmp 0x36010
movq -0x888(%rbp), %rsi
leaq -0x598(%rbp), %rdi
leaq -0x5a8(%rbp), %rdx
callq 0x63280
jmp 0x3602c
leaq 0xa68d4(%rip), %rsi     # 0xdc907
leaq -0x5b8(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x36046
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x550(%rbp), %rdi
leaq -0x598(%rbp), %rsi
leaq -0x5b8(%rbp), %rdx
movl $0x59, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x3607f
leaq -0x598(%rbp), %rdi
callq 0x632c0
leaq -0x550(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x35f18
jmp 0x360a6
movq 0x10a9eb(%rip), %rax    # 0x140a98
movq %rax, -0x8e0(%rbp)
leaq 0xa684c(%rip), %rsi     # 0xdc907
leaq -0x5c8(%rbp), %rdi
movq %rdi, -0x8d8(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x5d8(%rbp), %rdi
movq %rdi, -0x8d0(%rbp)
callq 0x53590
movq -0x8e0(%rbp), %rdi
movq -0x8d8(%rbp), %rsi
movq -0x8d0(%rbp), %rcx
movl $0x5e, %edx
callq 0x29d70
leaq 0xa6fb5(%rip), %rdi     # 0xdd0c1
leaq 0xa7192(%rip), %rsi     # 0xdd2a5
callq 0x32940
movq %rax, -0x618(%rbp)
leaq -0x608(%rbp), %rdi
movq %rdi, -0x8c8(%rbp)
leaq -0x609(%rbp), %rsi
leaq -0x618(%rbp), %rdx
callq 0x63070
movq -0x8c8(%rbp), %rsi
leaq 0xa6bd0(%rip), %rdx     # 0xdcd1e
leaq -0x600(%rbp), %rdi
movq %rdi, -0x8c0(%rbp)
callq 0x636b0
movq -0x8c0(%rbp), %rsi
leaq -0x5f0(%rbp), %rdi
xorl %edx, %edx
callq 0x636f0
callq 0x55830
movq %rax, -0x8b8(%rbp)
jmp 0x36184
leaq 0xa715d(%rip), %rsi     # 0xdd2e8
leaq -0x648(%rbp), %rdi
movl $0x5e, %edx
callq 0x514b0
jmp 0x3619e
movq -0x8b8(%rbp), %rsi
leaq -0x638(%rbp), %rdi
leaq -0x648(%rbp), %rdx
callq 0x63280
jmp 0x361ba
leaq 0xa6746(%rip), %rsi     # 0xdc907
leaq -0x658(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x361d4
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x5f0(%rbp), %rdi
leaq -0x638(%rbp), %rsi
leaq -0x658(%rbp), %rdx
movl $0x5e, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x3620d
leaq -0x638(%rbp), %rdi
callq 0x632c0
leaq -0x5f0(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x360a6
jmp 0x36234
movq 0x10a85d(%rip), %rax    # 0x140a98
movq %rax, -0x910(%rbp)
leaq 0xa66be(%rip), %rsi     # 0xdc907
leaq -0x668(%rbp), %rdi
movq %rdi, -0x908(%rbp)
movl $0xf, %edx
callq 0x514b0
leaq -0x678(%rbp), %rdi
movq %rdi, -0x900(%rbp)
callq 0x53590
movq -0x910(%rbp), %rdi
movq -0x908(%rbp), %rsi
movq -0x900(%rbp), %rcx
movl $0x63, %edx
callq 0x29d70
leaq 0xa6e27(%rip), %rdi     # 0xdd0c1
leaq 0xa70a6(%rip), %rsi     # 0xdd347
callq 0x32940
movq %rax, -0x6b8(%rbp)
leaq -0x6a8(%rbp), %rdi
movq %rdi, -0x8f8(%rbp)
leaq -0x6a9(%rbp), %rsi
leaq -0x6b8(%rbp), %rdx
callq 0x63070
movq -0x8f8(%rbp), %rsi
leaq 0xa6dea(%rip), %rdx     # 0xdd0c6
leaq -0x6a0(%rbp), %rdi
movq %rdi, -0x8f0(%rbp)
callq 0x630a0
movq -0x8f0(%rbp), %rsi
leaq -0x690(%rbp), %rdi
xorl %edx, %edx
callq 0x630e0
callq 0x55830
movq %rax, -0x8e8(%rbp)
jmp 0x36312
leaq 0xa7071(%rip), %rsi     # 0xdd38a
leaq -0x6e8(%rbp), %rdi
movl $0x9d, %edx
callq 0x514b0
jmp 0x3632c
movq -0x8e8(%rbp), %rsi
leaq -0x6d8(%rbp), %rdi
leaq -0x6e8(%rbp), %rdx
callq 0x63280
jmp 0x36348
leaq 0xa65b8(%rip), %rsi     # 0xdc907
leaq -0x6f8(%rbp), %rdi
movl $0xf, %edx
callq 0x514b0
jmp 0x36362
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x690(%rbp), %rdi
leaq -0x6d8(%rbp), %rsi
leaq -0x6f8(%rbp), %rdx
movl $0x63, %ecx
movl $0x1, %r8d
movl $0xe, %r9d
callq 0x23840
jmp 0x3639b
leaq -0x6d8(%rbp), %rdi
callq 0x632c0
leaq -0x690(%rbp), %rdi
callq 0x5b8a0
callq 0x632e0
testb $0x1, %al
jne 0x36234
addq $0x920, %rsp            # imm = 0x920
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x363fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x632c0
leaq -0x40(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x3643b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x632c0
leaq -0xf0(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x3647e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x632c0
leaq -0x190(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x364c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x632c0
leaq -0x230(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x36504
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x632c0
leaq -0x2d0(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x36547
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x632c0
leaq -0x370(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x3658a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x458(%rbp), %rdi
callq 0x632c0
leaq -0x410(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x365cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x4f8(%rbp), %rdi
callq 0x632c0
leaq -0x4b0(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x36610
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x598(%rbp), %rdi
callq 0x632c0
leaq -0x550(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x36650
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x638(%rbp), %rdi
callq 0x632c0
leaq -0x5f0(%rbp), %rdi
callq 0x5b8a0
jmp 0x3669c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x36690
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0x6d8(%rbp), %rdi
callq 0x632c0
leaq -0x690(%rbp), %rdi
callq 0x5b8a0
movq -0x90(%rbp), %rdi
callq 0x10bc0
nopl (%rax,%rax)