1401d97f4:	85 c0                	test   %eax,%eax
1401d97f6:	78 29                	js     0x1401d9821
1401d97f8:	48 8b 45 10          	mov    0x10(%rbp),%rax
1401d97fc:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401d9801:	41 b8 08 00 00 00    	mov    $0x8,%r8d
1401d9807:	48 89 f1             	mov    %rsi,%rcx
1401d980a:	48 f7 d0             	not    %rax
1401d980d:	48 0f c8             	bswap  %rax
1401d9810:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401d9815:	e8 c6 73 00 00       	call   0x1401e0be0
1401d981a:	31 d2                	xor    %edx,%edx
1401d981c:	85 c0                	test   %eax,%eax
1401d981e:	0f 4f c2             	cmovg  %edx,%eax
1401d9821:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
1401d9826:	48 2b 17             	sub    (%rdi),%rdx
1401d9829:	75 09                	jne    0x1401d9834
1401d982b:	48 83 c4 38          	add    $0x38,%rsp
1401d982f:	5b                   	pop    %rbx
1401d9830:	5e                   	pop    %rsi
1401d9831:	5f                   	pop    %rdi
1401d9832:	5d                   	pop    %rbp
1401d9833:	c3                   	ret
1401d9834:	e8 37 b0 00 00       	call   0x1401e4870
1401d9839:	90                   	nop
1401d983a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401d9840:	31 c0                	xor    %eax,%eax
1401d9842:	8b 51 18             	mov    0x18(%rcx),%edx
1401d9845:	85 d2                	test   %edx,%edx
1401d9847:	0f 94 c0             	sete   %al
1401d984a:	c3                   	ret
1401d984b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401d9850:	31 c0                	xor    %eax,%eax
1401d9852:	8b 51 18             	mov    0x18(%rcx),%edx
1401d9855:	85 d2                	test   %edx,%edx
1401d9857:	0f 94 c0             	sete   %al
1401d985a:	c3                   	ret
1401d985b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401d9860:	48 8b 12             	mov    (%rdx),%rdx
1401d9863:	48 8b 09             	mov    (%rcx),%rcx
1401d9866:	e9 0d 06 01 00       	jmp    0x1401e9e78
1401d986b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401d9870:	57                   	push   %rdi
1401d9871:	56                   	push   %rsi
1401d9872:	53                   	push   %rbx
1401d9873:	48 83 ec 20          	sub    $0x20,%rsp
1401d9877:	48 89 cb             	mov    %rcx,%rbx
1401d987a:	48 8b 09             	mov    (%rcx),%rcx
1401d987d:	48 89 d6             	mov    %rdx,%rsi
1401d9880:	e8 6b 71 00 00       	call   0x1401e09f0
1401d9885:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
1401d988c:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1401d9890:	e8 5b 71 00 00       	call   0x1401e09f0
1401d9895:	66 0f ef c0          	pxor   %xmm0,%xmm0
1401d9899:	0f 11 03             	movups %xmm0,(%rbx)
1401d989c:	0f 11 43 10          	movups %xmm0,0x10(%rbx)
1401d98a0:	48 63 4e 08          	movslq 0x8(%rsi),%rcx
1401d98a4:	e8 c7 70 00 00       	call   0x1401e0970
1401d98a9:	48 89 03             	mov    %rax,(%rbx)
1401d98ac:	48 85 c0             	test   %rax,%rax
1401d98af:	74 7f                	je     0x1401d9930
1401d98b1:	4c 63 46 08          	movslq 0x8(%rsi),%r8
1401d98b5:	44 89 43 08          	mov    %r8d,0x8(%rbx)
1401d98b9:	45 85 c0             	test   %r8d,%r8d
1401d98bc:	75 62                	jne    0x1401d9920
1401d98be:	48 bf ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rdi
1401d98c5:	ff ff 1f
1401d98c8:	48 63 4e 18          	movslq 0x18(%rsi),%rcx
1401d98cc:	48 39 cf             	cmp    %rcx,%rdi
1401d98cf:	72 66                	jb     0x1401d9937
1401d98d1:	48 c1 e1 03          	shl    $0x3,%rcx
1401d98d5:	e8 96 70 00 00       	call   0x1401e0970
1401d98da:	48 89 43 10          	mov    %rax,0x10(%rbx)
1401d98de:	48 85 c0             	test   %rax,%rax
1401d98e1:	74 4d                	je     0x1401d9930
1401d98e3:	4c 63 46 18          	movslq 0x18(%rsi),%r8
1401d98e7:	44 89 43 18          	mov    %r8d,0x18(%rbx)
1401d98eb:	4d 85 c0             	test   %r8,%r8
1401d98ee:	75 10                	jne    0x1401d9900
1401d98f0:	31 c0                	xor    %eax,%eax
1401d98f2:	48 83 c4 20          	add    $0x20,%rsp
1401d98f6:	5b                   	pop    %rbx
1401d98f7:	5e                   	pop    %rsi
1401d98f8:	5f                   	pop    %rdi
1401d98f9:	c3                   	ret
1401d98fa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401d9900:	4c 39 c7             	cmp    %r8,%rdi
1401d9903:	72 46                	jb     0x1401d994b
1401d9905:	48 8b 56 10          	mov    0x10(%rsi),%rdx
1401d9909:	4e 8d 04 c5 00 00 00 	lea    0x0(,%r8,8),%r8
1401d9910:	00
1401d9911:	48 89 c1             	mov    %rax,%rcx
1401d9914:	e8 d7 04 01 00       	call   0x1401e9df0
1401d9919:	eb d5                	jmp    0x1401d98f0
1401d991b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401d9920:	48 8b 16             	mov    (%rsi),%rdx
1401d9923:	48 89 c1             	mov    %rax,%rcx
1401d9926:	e8 c5 04 01 00       	call   0x1401e9df0
1401d992b:	eb 91                	jmp    0x1401d98be
1401d992d:	0f 1f 00             	nopl   (%rax)
1401d9930:	b8 f3 ff ff ff       	mov    $0xfffffff3,%eax
1401d9935:	eb bb                	jmp    0x1401d98f2
1401d9937:	49 89 c8             	mov    %rcx,%r8
1401d993a:	ba 08 00 00 00       	mov    $0x8,%edx
1401d993f:	48 8d 0d ea e6 05 00 	lea    0x5e6ea(%rip),%rcx        # 0x140238030
1401d9946:	e8 45 9a ee ff       	call   0x1400c3390
1401d994b:	ba 08 00 00 00       	mov    $0x8,%edx
1401d9950:	48 8d 0d d9 e6 05 00 	lea    0x5e6d9(%rip),%rcx        # 0x140238030
1401d9957:	e8 34 9a ee ff       	call   0x1400c3390
1401d995c:	90                   	nop
1401d995d:	0f 1f 00             	nopl   (%rax)
1401d9960:	41 54                	push   %r12
1401d9962:	55                   	push   %rbp
1401d9963:	57                   	push   %rdi
1401d9964:	56                   	push   %rsi
1401d9965:	53                   	push   %rbx
1401d9966:	48 83 ec 20          	sub    $0x20,%rsp
1401d996a:	48 8b 7a 08          	mov    0x8(%rdx),%rdi
1401d996e:	4c 8b 0a             	mov    (%rdx),%r9
1401d9971:	48 89 cd             	mov    %rcx,%rbp
1401d9974:	48 85 ff             	test   %rdi,%rdi
1401d9977:	74 6b                	je     0x1401d99e4
1401d9979:	41 0f b6 11          	movzbl (%r9),%edx
1401d997d:	b8 01 00 00 00       	mov    $0x1,%eax
1401d9982:	48 89 d3             	mov    %rdx,%rbx
1401d9985:	83 e3 7f             	and    $0x7f,%ebx
1401d9988:	84 d2                	test   %dl,%dl
1401d998a:	79 6c                	jns    0x1401d99f8
1401d998c:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d9993:	00 00 00 00
1401d9997:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d999e:	00 00 00 00
1401d99a2:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d99a9:	00 00 00 00
1401d99ad:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d99b4:	00 00 00 00
1401d99b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401d99bf:	00
1401d99c0:	45 0f b6 04 01       	movzbl (%r9,%rax,1),%r8d
1401d99c5:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
1401d99c9:	48 83 c0 01          	add    $0x1,%rax
1401d99cd:	48 c1 e1 07          	shl    $0x7,%rcx
1401d99d1:	4c 89 c3             	mov    %r8,%rbx
1401d99d4:	83 e3 7f             	and    $0x7f,%ebx
1401d99d7:	48 09 cb             	or     %rcx,%rbx
1401d99da:	45 84 c0             	test   %r8b,%r8b
1401d99dd:	79 19                	jns    0x1401d99f8
1401d99df:	48 39 c7             	cmp    %rax,%rdi
1401d99e2:	73 dc                	jae    0x1401d99c0
1401d99e4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401d99e9:	48 83 c4 20          	add    $0x20,%rsp
1401d99ed:	5b                   	pop    %rbx
1401d99ee:	5e                   	pop    %rsi
1401d99ef:	5f                   	pop    %rdi
1401d99f0:	5d                   	pop    %rbp
1401d99f1:	41 5c                	pop    %r12
1401d99f3:	c3                   	ret
1401d99f4:	0f 1f 40 00          	nopl   0x0(%rax)
1401d99f8:	49 89 fc             	mov    %rdi,%r12
1401d99fb:	49 8d 34 01          	lea    (%r9,%rax,1),%rsi
1401d99ff:	49 29 c4             	sub    %rax,%r12
1401d9a02:	49 39 dc             	cmp    %rbx,%r12
1401d9a05:	72 dd                	jb     0x1401d99e4
1401d9a07:	48 89 e9             	mov    %rbp,%rcx
1401d9a0a:	e8 31 71 00 00       	call   0x1401e0b40
1401d9a0f:	48 89 f2             	mov    %rsi,%rdx
1401d9a12:	49 89 d8             	mov    %rbx,%r8
1401d9a15:	48 89 e9             	mov    %rbp,%rcx
1401d9a18:	e8 c3 71 00 00       	call   0x1401e0be0
1401d9a1d:	8d 14 3b             	lea    (%rbx,%rdi,1),%edx
1401d9a20:	44 29 e2             	sub    %r12d,%edx
1401d9a23:	85 c0                	test   %eax,%eax
1401d9a25:	0f 49 c2             	cmovns %edx,%eax
1401d9a28:	48 83 c4 20          	add    $0x20,%rsp
1401d9a2c:	5b                   	pop    %rbx
1401d9a2d:	5e                   	pop    %rsi
1401d9a2e:	5f                   	pop    %rdi
1401d9a2f:	5d                   	pop    %rbp
1401d9a30:	41 5c                	pop    %r12
1401d9a32:	c3                   	ret
1401d9a33:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d9a3a:	00 00 00 00
1401d9a3e:	66 90                	xchg   %ax,%ax
1401d9a40:	41 57                	push   %r15
1401d9a42:	41 56                	push   %r14
1401d9a44:	41 55                	push   %r13
1401d9a46:	41 54                	push   %r12
1401d9a48:	55                   	push   %rbp
1401d9a49:	57                   	push   %rdi
1401d9a4a:	56                   	push   %rsi
1401d9a4b:	53                   	push   %rbx
1401d9a4c:	48 83 ec 48          	sub    $0x48,%rsp
1401d9a50:	49 8b 01             	mov    (%r9),%rax
1401d9a53:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
1401d9a5a:	00
1401d9a5b:	48 89 c7             	mov    %rax,%rdi
1401d9a5e:	49 89 cc             	mov    %rcx,%r12
1401d9a61:	48 89 d1             	mov    %rdx,%rcx
1401d9a64:	49 8b 51 08          	mov    0x8(%r9),%rdx
1401d9a68:	45 89 c5             	mov    %r8d,%r13d
1401d9a6b:	4c 8b 71 08          	mov    0x8(%rcx),%r14
1401d9a6f:	4c 8b 79 10          	mov    0x10(%rcx),%r15
1401d9a73:	48 89 d6             	mov    %rdx,%rsi
1401d9a76:	49 83 fe 09          	cmp    $0x9,%r14
1401d9a7a:	0f 86 a5 01 00 00    	jbe    0x1401d9c25
1401d9a80:	43 80 7c 37 f7 00    	cmpb   $0x0,-0x9(%r15,%r14,1)
1401d9a86:	0f 85 99 01 00 00    	jne    0x1401d9c25
1401d9a8c:	49 8b 44 24 08       	mov    0x8(%r12),%rax
1401d9a91:	4d 8d 46 f8          	lea    -0x8(%r14),%r8
1401d9a95:	49 8b 0c 24          	mov    (%r12),%rcx
1401d9a99:	4c 39 c0             	cmp    %r8,%rax
1401d9a9c:	0f 82 be 02 00 00    	jb     0x1401d9d60
1401d9aa2:	48 85 c9             	test   %rcx,%rcx
1401d9aa5:	0f 84 bf 03 00 00    	je     0x1401d9e6a
1401d9aab:	4c 89 fa             	mov    %r15,%rdx
1401d9aae:	e8 3d 03 01 00       	call   0x1401e9df0
1401d9ab3:	4b 8b 44 37 f8       	mov    -0x8(%r15,%r14,1),%rax
1401d9ab8:	45 0f b6 f5          	movzbl %r13b,%r14d
1401d9abc:	48 0f c8             	bswap  %rax
1401d9abf:	48 f7 d0             	not    %rax
1401d9ac2:	49 89 44 24 10       	mov    %rax,0x10(%r12)
1401d9ac7:	41 8b 44 24 18       	mov    0x18(%r12),%eax
1401d9acc:	41 39 c6             	cmp    %eax,%r14d
1401d9acf:	74 09                	je     0x1401d9ada
1401d9ad1:	83 f8 01             	cmp    $0x1,%eax
1401d9ad4:	0f 84 1e 03 00 00    	je     0x1401d9df8
1401d9ada:	45 89 74 24 18       	mov    %r14d,0x18(%r12)
1401d9adf:	31 c0                	xor    %eax,%eax
1401d9ae1:	45 84 ed             	test   %r13b,%r13b
1401d9ae4:	0f 84 40 01 00 00    	je     0x1401d9c2a
1401d9aea:	8b 84 24 b0 00 00 00 	mov    0xb0(%rsp),%eax
1401d9af1:	44 8d 34 00          	lea    (%rax,%rax,1),%r14d
1401d9af5:	4d 63 f6             	movslq %r14d,%r14
1401d9af8:	4c 39 f6             	cmp    %r14,%rsi
1401d9afb:	0f 82 24 01 00 00    	jb     0x1401d9c25
1401d9b01:	48 63 e8             	movslq %eax,%rbp
1401d9b04:	48 89 fa             	mov    %rdi,%rdx
1401d9b07:	49 8d 4c 24 40       	lea    0x40(%r12),%rcx
1401d9b0c:	49 89 f5             	mov    %rsi,%r13
1401d9b0f:	48 01 ef             	add    %rbp,%rdi
1401d9b12:	49 89 e8             	mov    %rbp,%r8
1401d9b15:	4d 29 f5             	sub    %r14,%r13
1401d9b18:	e8 d3 02 01 00       	call   0x1401e9df0
1401d9b1d:	48 89 fa             	mov    %rdi,%rdx
1401d9b20:	49 8d 4c 24 20       	lea    0x20(%r12),%rcx
1401d9b25:	49 89 e8             	mov    %rbp,%r8
1401d9b28:	e8 c3 02 01 00       	call   0x1401e9df0
1401d9b2d:	48 01 fd             	add    %rdi,%rbp
1401d9b30:	48 8d 7c 24 30       	lea    0x30(%rsp),%rdi
1401d9b35:	48 89 d9             	mov    %rbx,%rcx
1401d9b38:	48 89 fa             	mov    %rdi,%rdx
1401d9b3b:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1401d9b40:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1401d9b45:	e8 16 fe ff ff       	call   0x1401d9960
1401d9b4a:	85 c0                	test   %eax,%eax
1401d9b4c:	0f 88 d3 00 00 00    	js     0x1401d9c25
1401d9b52:	4d 8b 74 24 60       	mov    0x60(%r12),%r14
1401d9b57:	48 98                	cltq
1401d9b59:	48 01 c5             	add    %rax,%rbp
1401d9b5c:	49 29 c5             	sub    %rax,%r13
1401d9b5f:	4d 85 f6             	test   %r14,%r14
1401d9b62:	0f 84 78 01 00 00    	je     0x1401d9ce0
1401d9b68:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1401d9b6c:	4c 89 f1             	mov    %r14,%rcx
1401d9b6f:	e8 04 03 01 00       	call   0x1401e9e78
1401d9b74:	85 c0                	test   %eax,%eax
1401d9b76:	0f 85 64 01 00 00    	jne    0x1401d9ce0
1401d9b7c:	48 89 fa             	mov    %rdi,%rdx
1401d9b7f:	48 89 d9             	mov    %rbx,%rcx
1401d9b82:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1401d9b87:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1401d9b8c:	e8 cf fd ff ff       	call   0x1401d9960
1401d9b91:	85 c0                	test   %eax,%eax
1401d9b93:	0f 88 8c 00 00 00    	js     0x1401d9c25
1401d9b99:	4d 8b 74 24 68       	mov    0x68(%r12),%r14
1401d9b9e:	48 98                	cltq
1401d9ba0:	48 01 c5             	add    %rax,%rbp
1401d9ba3:	49 29 c5             	sub    %rax,%r13
1401d9ba6:	4d 85 f6             	test   %r14,%r14
1401d9ba9:	0f 84 71 01 00 00    	je     0x1401d9d20
1401d9baf:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1401d9bb3:	4c 89 f1             	mov    %r14,%rcx
1401d9bb6:	e8 bd 02 01 00       	call   0x1401e9e78
1401d9bbb:	85 c0                	test   %eax,%eax
1401d9bbd:	0f 85 5d 01 00 00    	jne    0x1401d9d20
1401d9bc3:	4d 85 ed             	test   %r13,%r13
1401d9bc6:	74 5d                	je     0x1401d9c25
1401d9bc8:	0f b6 4d 00          	movzbl 0x0(%rbp),%ecx
1401d9bcc:	b8 01 00 00 00       	mov    $0x1,%eax
1401d9bd1:	48 89 ca             	mov    %rcx,%rdx
1401d9bd4:	83 e2 7f             	and    $0x7f,%edx
1401d9bd7:	84 c9                	test   %cl,%cl
1401d9bd9:	79 65                	jns    0x1401d9c40
1401d9bdb:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d9be2:	00 00 00 00
1401d9be6:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d9bed:	00 00 00 00
1401d9bf1:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401d9bf8:	00 00 00 00
1401d9bfc:	0f 1f 40 00          	nopl   0x0(%rax)
1401d9c00:	44 0f b6 44 05 00    	movzbl 0x0(%rbp,%rax,1),%r8d
1401d9c06:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
1401d9c0a:	48 83 c0 01          	add    $0x1,%rax
1401d9c0e:	48 c1 e1 07          	shl    $0x7,%rcx
1401d9c12:	4c 89 c2             	mov    %r8,%rdx
1401d9c15:	83 e2 7f             	and    $0x7f,%edx
1401d9c18:	48 09 ca             	or     %rcx,%rdx
1401d9c1b:	45 84 c0             	test   %r8b,%r8b
1401d9c1e:	79 20                	jns    0x1401d9c40
1401d9c20:	49 39 c5             	cmp    %rax,%r13
1401d9c23:	73 db                	jae    0x1401d9c00
1401d9c25:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
1401d9c2a:	48 83 c4 48          	add    $0x48,%rsp
1401d9c2e:	5b                   	pop    %rbx
1401d9c2f:	5e                   	pop    %rsi
1401d9c30:	5f                   	pop    %rdi
1401d9c31:	5d                   	pop    %rbp
1401d9c32:	41 5c                	pop    %r12
1401d9c34:	41 5d                	pop    %r13
1401d9c36:	41 5e                	pop    %r14
1401d9c38:	41 5f                	pop    %r15
1401d9c3a:	c3                   	ret
1401d9c3b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401d9c40:	49 29 c5             	sub    %rax,%r13
1401d9c43:	49 89 54 24 70       	mov    %rdx,0x70(%r12)
1401d9c48:	48 01 c5             	add    %rax,%rbp
1401d9c4b:	49 83 fd 01          	cmp    $0x1,%r13
1401d9c4f:	76 d4                	jbe    0x1401d9c25
1401d9c51:	0f b7 45 00          	movzwl 0x0(%rbp),%eax
1401d9c55:	49 83 ed 02          	sub    $0x2,%r13
1401d9c59:	48 83 c5 02          	add    $0x2,%rbp
1401d9c5d:	48 89 fa             	mov    %rdi,%rdx
1401d9c60:	48 89 d9             	mov    %rbx,%rcx
1401d9c63:	66 c1 c0 08          	rol    $0x8,%ax
1401d9c67:	66 41 89 44 24 78    	mov    %ax,0x78(%r12)
1401d9c6d:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1401d9c72:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1401d9c77:	e8 e4 fc ff ff       	call   0x1401d9960
1401d9c7c:	85 c0                	test   %eax,%eax
1401d9c7e:	78 a5                	js     0x1401d9c25
1401d9c80:	4c 8b 43 08          	mov    0x8(%rbx),%r8
1401d9c84:	48 98                	cltq
1401d9c86:	49 8b ac 24 88 00 00 	mov    0x88(%r12),%rbp
1401d9c8d:	00
1401d9c8e:	49 29 c5             	sub    %rax,%r13
1401d9c91:	49 8b bc 24 80 00 00 	mov    0x80(%r12),%rdi
1401d9c98:	00
1401d9c99:	49 8d 40 01          	lea    0x1(%r8),%rax
1401d9c9d:	48 39 c5             	cmp    %rax,%rbp
1401d9ca0:	0f 82 02 01 00 00    	jb     0x1401d9da8
1401d9ca6:	49 89 ac 24 88 00 00 	mov    %rbp,0x88(%r12)