180040731:	57                   	push   %rdi
180040732:	48 83 ec 20          	sub    $0x20,%rsp
180040736:	48 8d 05 93 29 10 00 	lea    0x102993(%rip),%rax        # 0x1801430d0
18004073d:	48 8b d9             	mov    %rcx,%rbx
180040740:	48 89 01             	mov    %rax,(%rcx)
180040743:	48 8b 89 b8 00 00 00 	mov    0xb8(%rcx),%rcx
18004074a:	48 85 c9             	test   %rcx,%rcx
18004074d:	74 05                	je     0x180040754
18004074f:	e8 08 62 00 00       	call   0x18004695c
180040754:	48 8b bb a8 00 00 00 	mov    0xa8(%rbx),%rdi
18004075b:	48 85 ff             	test   %rdi,%rdi
18004075e:	74 10                	je     0x180040770
180040760:	48 8b cf             	mov    %rdi,%rcx
180040763:	e8 b4 30 00 00       	call   0x18004381c
180040768:	48 8b cf             	mov    %rdi,%rcx
18004076b:	e8 ec 61 00 00       	call   0x18004695c
180040770:	48 8b 4b 60          	mov    0x60(%rbx),%rcx
180040774:	48 85 c9             	test   %rcx,%rcx
180040777:	74 05                	je     0x18004077e
180040779:	e8 de 61 00 00       	call   0x18004695c
18004077e:	48 8b 4b 58          	mov    0x58(%rbx),%rcx
180040782:	48 85 c9             	test   %rcx,%rcx
180040785:	74 05                	je     0x18004078c
180040787:	e8 d0 61 00 00       	call   0x18004695c
18004078c:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
180040790:	48 85 c9             	test   %rcx,%rcx
180040793:	74 05                	je     0x18004079a
180040795:	e8 c2 61 00 00       	call   0x18004695c
18004079a:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
18004079e:	48 85 c9             	test   %rcx,%rcx
1800407a1:	74 05                	je     0x1800407a8
1800407a3:	e8 b4 61 00 00       	call   0x18004695c
1800407a8:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1800407ac:	48 85 c9             	test   %rcx,%rcx
1800407af:	74 05                	je     0x1800407b6
1800407b1:	e8 a6 61 00 00       	call   0x18004695c
1800407b6:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
1800407ba:	48 85 c9             	test   %rcx,%rcx
1800407bd:	74 05                	je     0x1800407c4
1800407bf:	e8 98 61 00 00       	call   0x18004695c
1800407c4:	48 8d 05 fd 27 10 00 	lea    0x1027fd(%rip),%rax        # 0x180142fc8
1800407cb:	48 89 03             	mov    %rax,(%rbx)
1800407ce:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800407d3:	48 83 c4 20          	add    $0x20,%rsp
1800407d7:	5f                   	pop    %rdi
1800407d8:	c3                   	ret
1800407d9:	cc                   	int3
1800407da:	cc                   	int3
1800407db:	cc                   	int3
1800407dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800407e1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800407e6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800407eb:	57                   	push   %rdi
1800407ec:	41 54                	push   %r12
1800407ee:	41 55                	push   %r13
1800407f0:	41 56                	push   %r14
1800407f2:	41 57                	push   %r15
1800407f4:	48 83 ec 20          	sub    $0x20,%rsp
1800407f8:	48 8b f9             	mov    %rcx,%rdi
1800407fb:	33 f6                	xor    %esi,%esi
1800407fd:	b9 f8 00 00 00       	mov    $0xf8,%ecx
180040802:	e8 0d 61 00 00       	call   0x180046914
180040807:	45 33 c9             	xor    %r9d,%r9d
18004080a:	48 8b d8             	mov    %rax,%rbx
18004080d:	48 85 c0             	test   %rax,%rax
180040810:	74 28                	je     0x18004083a
180040812:	83 8b d0 00 00 00 ff 	orl    $0xffffffff,0xd0(%rbx)
180040819:	48 83 8b 90 00 00 00 	orq    $0xffffffffffffffff,0x90(%rbx)
180040820:	ff
180040821:	4c 89 48 08          	mov    %r9,0x8(%rax)
180040825:	4c 89 48 10          	mov    %r9,0x10(%rax)
180040829:	66 44 89 48 18       	mov    %r9w,0x18(%rax)
18004082e:	48 8d 05 9b 28 10 00 	lea    0x10289b(%rip),%rax        # 0x1801430d0
180040835:	48 89 03             	mov    %rax,(%rbx)
180040838:	eb 03                	jmp    0x18004083d
18004083a:	49 8b d9             	mov    %r9,%rbx
18004083d:	48 85 db             	test   %rbx,%rbx
180040840:	0f 84 48 02 00 00    	je     0x180040a8e
180040846:	0f 10 07             	movups (%rdi),%xmm0
180040849:	ba 80 00 00 00       	mov    $0x80,%edx
18004084e:	4c 8d 43 30          	lea    0x30(%rbx),%r8
180040852:	0f 11 03             	movups %xmm0,(%rbx)
180040855:	0f 10 4f 10          	movups 0x10(%rdi),%xmm1
180040859:	48 8d 0c 1a          	lea    (%rdx,%rbx,1),%rcx
18004085d:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
180040861:	0f 11 4b 10          	movups %xmm1,0x10(%rbx)
180040865:	0f 10 47 20          	movups 0x20(%rdi),%xmm0
180040869:	0f 11 43 20          	movups %xmm0,0x20(%rbx)
18004086d:	0f 10 4f 30          	movups 0x30(%rdi),%xmm1
180040871:	0f 11 4b 30          	movups %xmm1,0x30(%rbx)
180040875:	0f 10 47 40          	movups 0x40(%rdi),%xmm0
180040879:	0f 11 43 40          	movups %xmm0,0x40(%rbx)
18004087d:	0f 10 4f 50          	movups 0x50(%rdi),%xmm1
180040881:	0f 11 4b 50          	movups %xmm1,0x50(%rbx)
180040885:	0f 10 47 60          	movups 0x60(%rdi),%xmm0
180040889:	0f 11 43 60          	movups %xmm0,0x60(%rbx)
18004088d:	0f 10 47 70          	movups 0x70(%rdi),%xmm0
180040891:	0f 11 41 f0          	movups %xmm0,-0x10(%rcx)
180040895:	0f 10 08             	movups (%rax),%xmm1
180040898:	0f 11 09             	movups %xmm1,(%rcx)
18004089b:	0f 10 40 10          	movups 0x10(%rax),%xmm0
18004089f:	0f 11 41 10          	movups %xmm0,0x10(%rcx)
1800408a3:	0f 10 48 20          	movups 0x20(%rax),%xmm1
1800408a7:	0f 11 49 20          	movups %xmm1,0x20(%rcx)
1800408ab:	0f 10 40 30          	movups 0x30(%rax),%xmm0
1800408af:	0f 11 41 30          	movups %xmm0,0x30(%rcx)
1800408b3:	0f 10 48 40          	movups 0x40(%rax),%xmm1
1800408b7:	0f 11 49 40          	movups %xmm1,0x40(%rcx)
1800408bb:	0f 10 40 50          	movups 0x50(%rax),%xmm0
1800408bf:	0f 11 41 50          	movups %xmm0,0x50(%rcx)
1800408c3:	0f 10 48 60          	movups 0x60(%rax),%xmm1
1800408c7:	0f 11 49 60          	movups %xmm1,0x60(%rcx)
1800408cb:	48 8b 40 70          	mov    0x70(%rax),%rax
1800408cf:	48 89 41 70          	mov    %rax,0x70(%rcx)
1800408d3:	4d 89 08             	mov    %r9,(%r8)
1800408d6:	4c 89 4b 38          	mov    %r9,0x38(%rbx)
1800408da:	4c 89 4b 48          	mov    %r9,0x48(%rbx)
1800408de:	4c 89 4b 50          	mov    %r9,0x50(%rbx)
1800408e2:	4c 89 4b 58          	mov    %r9,0x58(%rbx)
1800408e6:	4c 89 4b 60          	mov    %r9,0x60(%rbx)
1800408ea:	4c 89 8b a8 00 00 00 	mov    %r9,0xa8(%rbx)
1800408f1:	4c 89 8b b8 00 00 00 	mov    %r9,0xb8(%rbx)
1800408f8:	48 8b 4f 30          	mov    0x30(%rdi),%rcx
1800408fc:	48 85 c9             	test   %rcx,%rcx
1800408ff:	74 12                	je     0x180040913
180040901:	ba 00 01 00 00       	mov    $0x100,%edx
180040906:	e8 cd f3 ff ff       	call   0x18003fcd8
18004090b:	85 c0                	test   %eax,%eax
18004090d:	0f 88 63 01 00 00    	js     0x180040a76
180040913:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
180040917:	48 85 c9             	test   %rcx,%rcx
18004091a:	74 16                	je     0x180040932
18004091c:	4c 8d 43 38          	lea    0x38(%rbx),%r8
180040920:	ba 00 04 00 00       	mov    $0x400,%edx
180040925:	e8 ae f3 ff ff       	call   0x18003fcd8
18004092a:	85 c0                	test   %eax,%eax
18004092c:	0f 88 44 01 00 00    	js     0x180040a76
180040932:	48 8b 4f 48          	mov    0x48(%rdi),%rcx
180040936:	41 be 00 01 00 00    	mov    $0x100,%r14d
18004093c:	48 85 c9             	test   %rcx,%rcx
18004093f:	74 14                	je     0x180040955
180040941:	4c 8d 43 48          	lea    0x48(%rbx),%r8
180040945:	41 8b d6             	mov    %r14d,%edx
180040948:	e8 8b f3 ff ff       	call   0x18003fcd8
18004094d:	85 c0                	test   %eax,%eax
18004094f:	0f 88 21 01 00 00    	js     0x180040a76
180040955:	48 8b 4f 50          	mov    0x50(%rdi),%rcx
180040959:	48 85 c9             	test   %rcx,%rcx
18004095c:	74 14                	je     0x180040972
18004095e:	4c 8d 43 50          	lea    0x50(%rbx),%r8
180040962:	41 8b d6             	mov    %r14d,%edx
180040965:	e8 6e f3 ff ff       	call   0x18003fcd8
18004096a:	85 c0                	test   %eax,%eax
18004096c:	0f 88 04 01 00 00    	js     0x180040a76
180040972:	48 8b 4f 58          	mov    0x58(%rdi),%rcx
180040976:	48 85 c9             	test   %rcx,%rcx
180040979:	74 14                	je     0x18004098f
18004097b:	4c 8d 43 58          	lea    0x58(%rbx),%r8
18004097f:	41 8b d6             	mov    %r14d,%edx
180040982:	e8 51 f3 ff ff       	call   0x18003fcd8
180040987:	85 c0                	test   %eax,%eax
180040989:	0f 88 e7 00 00 00    	js     0x180040a76
18004098f:	48 8b 4f 60          	mov    0x60(%rdi),%rcx
180040993:	48 85 c9             	test   %rcx,%rcx
180040996:	74 14                	je     0x1800409ac
180040998:	4c 8d 43 60          	lea    0x60(%rbx),%r8
18004099c:	41 8b d6             	mov    %r14d,%edx
18004099f:	e8 34 f3 ff ff       	call   0x18003fcd8
1800409a4:	85 c0                	test   %eax,%eax
1800409a6:	0f 88 ca 00 00 00    	js     0x180040a76
1800409ac:	48 39 b7 a8 00 00 00 	cmp    %rsi,0xa8(%rdi)
1800409b3:	74 74                	je     0x180040a29
1800409b5:	bd 40 00 00 00       	mov    $0x40,%ebp
1800409ba:	8b cd                	mov    %ebp,%ecx
1800409bc:	e8 53 5f 00 00       	call   0x180046914
1800409c1:	48 85 c0             	test   %rax,%rax
1800409c4:	74 29                	je     0x1800409ef
1800409c6:	48 21 30             	and    %rsi,(%rax)
1800409c9:	48 8d 48 08          	lea    0x8(%rax),%rcx
1800409cd:	48 21 70 18          	and    %rsi,0x18(%rax)
1800409d1:	48 89 49 08          	mov    %rcx,0x8(%rcx)
1800409d5:	48 89 09             	mov    %rcx,(%rcx)
1800409d8:	8d 4d c6             	lea    -0x3a(%rbp),%ecx
1800409db:	89 48 28             	mov    %ecx,0x28(%rax)
1800409de:	89 48 38             	mov    %ecx,0x38(%rax)
1800409e1:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%rax)
1800409e8:	89 68 24             	mov    %ebp,0x24(%rax)
1800409eb:	48 89 68 30          	mov    %rbp,0x30(%rax)
1800409ef:	48 89 83 a8 00 00 00 	mov    %rax,0xa8(%rbx)
1800409f6:	48 85 c0             	test   %rax,%rax
1800409f9:	74 7b                	je     0x180040a76
1800409fb:	48 8b 97 a8 00 00 00 	mov    0xa8(%rdi),%rdx
180040a02:	48 8b c8             	mov    %rax,%rcx
180040a05:	48 8b 52 30          	mov    0x30(%rdx),%rdx
180040a09:	e8 5a 2d 00 00       	call   0x180043768
180040a0e:	85 c0                	test   %eax,%eax
180040a10:	78 64                	js     0x180040a76
180040a12:	48 8b 93 a8 00 00 00 	mov    0xa8(%rbx),%rdx
180040a19:	48 8b 8f a8 00 00 00 	mov    0xa8(%rdi),%rcx
180040a20:	e8 9b 32 00 00       	call   0x180043cc0
180040a25:	85 c0                	test   %eax,%eax
180040a27:	78 4d                	js     0x180040a76
180040a29:	48 39 b7 b8 00 00 00 	cmp    %rsi,0xb8(%rdi)
180040a30:	74 3f                	je     0x180040a71
180040a32:	8b 8f b0 00 00 00    	mov    0xb0(%rdi),%ecx
180040a38:	83 c1 1f             	add    $0x1f,%ecx
180040a3b:	c1 e9 03             	shr    $0x3,%ecx
180040a3e:	81 e1 fc ff ff 1f    	and    $0x1ffffffc,%ecx
180040a44:	e8 cb 5e 00 00       	call   0x180046914
180040a49:	48 85 c0             	test   %rax,%rax
180040a4c:	74 28                	je     0x180040a76
180040a4e:	8b 97 b0 00 00 00    	mov    0xb0(%rdi),%edx
180040a54:	4c 8d 83 b0 00 00 00 	lea    0xb0(%rbx),%r8
180040a5b:	41 89 10             	mov    %edx,(%r8)
180040a5e:	48 8d 8f b0 00 00 00 	lea    0xb0(%rdi),%rcx
180040a65:	49 8b d0             	mov    %r8,%rdx
180040a68:	49 89 40 08          	mov    %rax,0x8(%r8)
180040a6c:	e8 ab f3 fe ff       	call   0x18002fe1c
180040a71:	48 8b f3             	mov    %rbx,%rsi
180040a74:	33 db                	xor    %ebx,%ebx
180040a76:	48 85 db             	test   %rbx,%rbx
180040a79:	74 13                	je     0x180040a8e
180040a7b:	48 8b 03             	mov    (%rbx),%rax
180040a7e:	ba 01 00 00 00       	mov    $0x1,%edx
180040a83:	48 8b cb             	mov    %rbx,%rcx
180040a86:	48 8b 00             	mov    (%rax),%rax
180040a89:	ff d0                	call   *%rax
180040a8b:	0f 1f 00             	nopl   (%rax)
180040a8e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180040a93:	48 8b c6             	mov    %rsi,%rax
180040a96:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180040a9b:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180040aa0:	48 83 c4 20          	add    $0x20,%rsp
180040aa4:	41 5f                	pop    %r15
180040aa6:	41 5e                	pop    %r14
180040aa8:	41 5d                	pop    %r13
180040aaa:	41 5c                	pop    %r12
180040aac:	5f                   	pop    %rdi
180040aad:	c3                   	ret
180040aae:	cc                   	int3
180040aaf:	cc                   	int3
180040ab0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180040ab5:	57                   	push   %rdi
180040ab6:	48 83 ec 20          	sub    $0x20,%rsp
180040aba:	80 79 18 06          	cmpb   $0x6,0x18(%rcx)
180040abe:	48 8b fa             	mov    %rdx,%rdi
180040ac1:	48 8b d9             	mov    %rcx,%rbx
180040ac4:	73 7a                	jae    0x180040b40
180040ac6:	8b 42 68             	mov    0x68(%rdx),%eax
180040ac9:	89 41 68             	mov    %eax,0x68(%rcx)
180040acc:	0f 10 42 70          	movups 0x70(%rdx),%xmm0
180040ad0:	f3 0f 7f 41 70       	movdqu %xmm0,0x70(%rcx)
180040ad5:	0f 10 8a 80 00 00 00 	movups 0x80(%rdx),%xmm1
180040adc:	f3 0f 7f 89 80 00 00 	movdqu %xmm1,0x80(%rcx)
180040ae3:	00
180040ae4:	48 8b 4a 48          	mov    0x48(%rdx),%rcx
180040ae8:	48 85 c9             	test   %rcx,%rcx
180040aeb:	74 0e                	je     0x180040afb
180040aed:	4c 8d 43 48          	lea    0x48(%rbx),%r8
180040af1:	ba 00 01 00 00       	mov    $0x100,%edx
180040af6:	e8 dd f1 ff ff       	call   0x18003fcd8
180040afb:	48 8b 4f 50          	mov    0x50(%rdi),%rcx
180040aff:	48 85 c9             	test   %rcx,%rcx
180040b02:	74 0e                	je     0x180040b12
180040b04:	4c 8d 43 50          	lea    0x50(%rbx),%r8
180040b08:	ba 00 01 00 00       	mov    $0x100,%edx
180040b0d:	e8 c6 f1 ff ff       	call   0x18003fcd8
180040b12:	48 8b 4f 58          	mov    0x58(%rdi),%rcx
180040b16:	48 85 c9             	test   %rcx,%rcx
180040b19:	74 0e                	je     0x180040b29
180040b1b:	4c 8d 43 58          	lea    0x58(%rbx),%r8
180040b1f:	ba 00 01 00 00       	mov    $0x100,%edx
180040b24:	e8 af f1 ff ff       	call   0x18003fcd8
180040b29:	48 8b 4f 60          	mov    0x60(%rdi),%rcx
180040b2d:	48 85 c9             	test   %rcx,%rcx
180040b30:	74 0e                	je     0x180040b40
180040b32:	4c 8d 43 60          	lea    0x60(%rbx),%r8
180040b36:	ba 00 01 00 00       	mov    $0x100,%edx
180040b3b:	e8 98 f1 ff ff       	call   0x18003fcd8
180040b40:	8b 87 d0 00 00 00    	mov    0xd0(%rdi),%eax
180040b46:	89 83 d0 00 00 00    	mov    %eax,0xd0(%rbx)
180040b4c:	48 8b 87 d8 00 00 00 	mov    0xd8(%rdi),%rax
180040b53:	48 89 83 d8 00 00 00 	mov    %rax,0xd8(%rbx)
180040b5a:	8a 87 e0 00 00 00    	mov    0xe0(%rdi),%al
180040b60:	88 83 e0 00 00 00    	mov    %al,0xe0(%rbx)
180040b66:	8b 97 e4 00 00 00    	mov    0xe4(%rdi),%edx
180040b6c:	89 93 e4 00 00 00    	mov    %edx,0xe4(%rbx)
180040b72:	8a 4f 40             	mov    0x40(%rdi),%cl
180040b75:	32 4b 40             	xor    0x40(%rbx),%cl
180040b78:	f6 c1 02             	test   $0x2,%cl
180040b7b:	74 09                	je     0x180040b86
180040b7d:	83 ca 10             	or     $0x10,%edx
180040b80:	89 93 e4 00 00 00    	mov    %edx,0xe4(%rbx)
180040b86:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180040b8b:	48 83 c4 20          	add    $0x20,%rsp
180040b8f:	5f                   	pop    %rdi
180040b90:	c3                   	ret
180040b91:	cc                   	int3
180040b92:	cc                   	int3
180040b93:	cc                   	int3
180040b94:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180040b99:	57                   	push   %rdi
180040b9a:	48 83 ec 20          	sub    $0x20,%rsp
180040b9e:	0f b6 42 11          	movzbl 0x11(%rdx),%eax
180040ba2:	48 8d 3d 57 f4 fb ff 	lea    -0x40ba9(%rip),%rdi        # 0x180000000
180040ba9:	4c 8b d2             	mov    %rdx,%r10
180040bac:	88 41 18             	mov    %al,0x18(%rcx)
180040baf:	8b d0                	mov    %eax,%edx
180040bb1:	48 8b d9             	mov    %rcx,%rbx
180040bb4:	48 03 d2             	add    %rdx,%rdx
180040bb7:	4c 8b c9             	mov    %rcx,%r9
180040bba:	49 8b ca             	mov    %r10,%rcx
180040bbd:	44 8b 84 d7 20 e3 14 	mov    0x14e320(%rdi,%rdx,8),%r8d
180040bc4:	00
180040bc5:	48 8b 94 d7 28 e3 14 	mov    0x14e328(%rdi,%rdx,8),%rdx
180040bcc:	00
180040bcd:	e8 d6 6b 00 00       	call   0x1800477a8
180040bd2:	44 8b c8             	mov    %eax,%r9d
180040bd5:	85 c0                	test   %eax,%eax
180040bd7:	78 56                	js     0x180040c2f
180040bd9:	0f b6 53 18          	movzbl 0x18(%rbx),%edx
180040bdd:	44 0f b7 43 40       	movzwl 0x40(%rbx),%r8d
180040be2:	8b 8c 97 f0 e3 14 00 	mov    0x14e3f0(%rdi,%rdx,4),%ecx
180040be9:	f7 d1                	not    %ecx
180040beb:	41 85 c8             	test   %ecx,%r8d
180040bee:	74 08                	je     0x180040bf8
180040bf0:	41 b9 0d 00 00 c0    	mov    $0xc000000d,%r9d
180040bf6:	eb 37                	jmp    0x180040c2f
180040bf8:	80 fa 03             	cmp    $0x3,%dl
180040bfb:	73 0a                	jae    0x180040c07
180040bfd:	66 41 83 c8 02       	or     $0x2,%r8w
180040c02:	66 44 89 43 40       	mov    %r8w,0x40(%rbx)
180040c07:	80 fa 05             	cmp    $0x5,%dl
180040c0a:	73 0e                	jae    0x180040c1a
180040c0c:	48 8b 83 98 00 00 00 	mov    0x98(%rbx),%rax
180040c13:	48 89 83 a0 00 00 00 	mov    %rax,0xa0(%rbx)
180040c1a:	80 fa 07             	cmp    $0x7,%dl
180040c1d:	73 10                	jae    0x180040c2f
180040c1f:	48 c1 a3 98 00 00 00 	shlq   $0x1c,0x98(%rbx)
180040c26:	1c
180040c27:	48 c1 a3 a0 00 00 00 	shlq   $0x1c,0xa0(%rbx)
180040c2e:	1c
180040c2f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180040c34:	41 8b c1             	mov    %r9d,%eax
180040c37:	48 83 c4 20          	add    $0x20,%rsp
180040c3b:	5f                   	pop    %rdi
180040c3c:	c3                   	ret
180040c3d:	cc                   	int3
180040c3e:	cc                   	int3
180040c3f:	cc                   	int3