18012b740:	48 f7 c1 07 00 00 00 	test   $0x7,%rcx
18012b747:	75 e1                	jne    0x18012b72a
18012b749:	49 8d 14 09          	lea    (%r9,%rcx,1),%rdx
18012b74d:	66 81 e2 ff 0f       	and    $0xfff,%dx
18012b752:	66 81 fa f8 0f       	cmp    $0xff8,%dx
18012b757:	77 d1                	ja     0x18012b72a
18012b759:	48 8b 01             	mov    (%rcx),%rax
18012b75c:	49 8b 14 09          	mov    (%r9,%rcx,1),%rdx
18012b760:	48 3b c2             	cmp    %rdx,%rax
18012b763:	75 c5                	jne    0x18012b72a
18012b765:	48 83 c1 08          	add    $0x8,%rcx
18012b769:	49 83 e8 08          	sub    $0x8,%r8
18012b76d:	49 ba ff fe fe fe fe 	movabs $0x7efefefefefefeff,%r10
18012b774:	fe fe 7e
18012b777:	76 11                	jbe    0x18012b78a
18012b779:	48 83 f0 ff          	xor    $0xffffffffffffffff,%rax
18012b77d:	4c 03 d2             	add    %rdx,%r10
18012b780:	49 33 c2             	xor    %r10,%rax
18012b783:	49 85 c3             	test   %rax,%r11
18012b786:	74 c1                	je     0x18012b749
18012b788:	eb 0c                	jmp    0x18012b796
18012b78a:	48 33 c0             	xor    %rax,%rax
18012b78d:	c3                   	ret
18012b78e:	48 1b c0             	sbb    %rax,%rax
18012b791:	48 83 d8 ff          	sbb    $0xffffffffffffffff,%rax
18012b795:	c3                   	ret
18012b796:	84 d2                	test   %dl,%dl
18012b798:	74 27                	je     0x18012b7c1
18012b79a:	84 f6                	test   %dh,%dh
18012b79c:	74 23                	je     0x18012b7c1
18012b79e:	48 c1 ea 10          	shr    $0x10,%rdx
18012b7a2:	84 d2                	test   %dl,%dl
18012b7a4:	74 1b                	je     0x18012b7c1
18012b7a6:	84 f6                	test   %dh,%dh
18012b7a8:	74 17                	je     0x18012b7c1
18012b7aa:	48 c1 ea 10          	shr    $0x10,%rdx
18012b7ae:	84 d2                	test   %dl,%dl
18012b7b0:	74 0f                	je     0x18012b7c1
18012b7b2:	84 f6                	test   %dh,%dh
18012b7b4:	74 0b                	je     0x18012b7c1
18012b7b6:	c1 ea 10             	shr    $0x10,%edx
18012b7b9:	84 d2                	test   %dl,%dl
18012b7bb:	74 04                	je     0x18012b7c1
18012b7bd:	84 f6                	test   %dh,%dh
18012b7bf:	75 88                	jne    0x18012b749
18012b7c1:	48 33 c0             	xor    %rax,%rax
18012b7c4:	c3                   	ret
18012b7c5:	cc                   	int3
18012b7c6:	cc                   	int3
18012b7c7:	cc                   	int3
18012b7c8:	33 c0                	xor    %eax,%eax
18012b7ca:	48 85 d2             	test   %rdx,%rdx
18012b7cd:	74 10                	je     0x18012b7df
18012b7cf:	80 39 00             	cmpb   $0x0,(%rcx)
18012b7d2:	74 0b                	je     0x18012b7df
18012b7d4:	48 ff c0             	inc    %rax
18012b7d7:	48 ff c1             	inc    %rcx
18012b7da:	48 3b c2             	cmp    %rdx,%rax
18012b7dd:	72 f0                	jb     0x18012b7cf
18012b7df:	c3                   	ret
18012b7e0:	cc                   	int3
18012b7e1:	cc                   	int3
18012b7e2:	cc                   	int3
18012b7e3:	cc                   	int3
18012b7e4:	45 33 db             	xor    %r11d,%r11d
18012b7e7:	4c 8b d2             	mov    %rdx,%r10
18012b7ea:	4c 8b c1             	mov    %rcx,%r8
18012b7ed:	44 38 1a             	cmp    %r11b,(%rdx)
18012b7f0:	75 05                	jne    0x18012b7f7
18012b7f2:	48 8b c1             	mov    %rcx,%rax
18012b7f5:	c3                   	ret
18012b7f6:	cc                   	int3
18012b7f7:	8a 01                	mov    (%rcx),%al
18012b7f9:	84 c0                	test   %al,%al
18012b7fb:	74 34                	je     0x18012b831
18012b7fd:	4c 8b c9             	mov    %rcx,%r9
18012b800:	4d 2b ca             	sub    %r10,%r9
18012b803:	49 8b d2             	mov    %r10,%rdx
18012b806:	84 c0                	test   %al,%al
18012b808:	74 15                	je     0x18012b81f
18012b80a:	8a 02                	mov    (%rdx),%al
18012b80c:	84 c0                	test   %al,%al
18012b80e:	74 25                	je     0x18012b835
18012b810:	41 38 04 11          	cmp    %al,(%r9,%rdx,1)
18012b814:	75 09                	jne    0x18012b81f
18012b816:	48 ff c2             	inc    %rdx
18012b819:	45 38 1c 11          	cmp    %r11b,(%r9,%rdx,1)
18012b81d:	75 eb                	jne    0x18012b80a
18012b81f:	44 38 1a             	cmp    %r11b,(%rdx)
18012b822:	74 11                	je     0x18012b835
18012b824:	49 ff c0             	inc    %r8
18012b827:	49 ff c1             	inc    %r9
18012b82a:	41 8a 00             	mov    (%r8),%al
18012b82d:	84 c0                	test   %al,%al
18012b82f:	75 d2                	jne    0x18012b803
18012b831:	33 c0                	xor    %eax,%eax
18012b833:	c3                   	ret
18012b834:	cc                   	int3
18012b835:	49 8b c0             	mov    %r8,%rax
18012b838:	c3                   	ret
18012b839:	cc                   	int3
18012b83a:	cc                   	int3
18012b83b:	cc                   	int3
18012b83c:	0f b7 02             	movzwl (%rdx),%eax
18012b83f:	44 0f b7 01          	movzwl (%rcx),%r8d
18012b843:	44 2b c0             	sub    %eax,%r8d
18012b846:	75 19                	jne    0x18012b861
18012b848:	48 2b ca             	sub    %rdx,%rcx
18012b84b:	66 85 c0             	test   %ax,%ax
18012b84e:	74 11                	je     0x18012b861
18012b850:	48 83 c2 02          	add    $0x2,%rdx
18012b854:	0f b7 02             	movzwl (%rdx),%eax
18012b857:	44 0f b7 04 11       	movzwl (%rcx,%rdx,1),%r8d
18012b85c:	44 2b c0             	sub    %eax,%r8d
18012b85f:	74 ea                	je     0x18012b84b
18012b861:	41 8b c0             	mov    %r8d,%eax
18012b864:	41 c1 e8 1f          	shr    $0x1f,%r8d
18012b868:	f7 d8                	neg    %eax
18012b86a:	c1 e8 1f             	shr    $0x1f,%eax
18012b86d:	41 2b c0             	sub    %r8d,%eax
18012b870:	c3                   	ret
18012b871:	cc                   	int3
18012b872:	cc                   	int3
18012b873:	cc                   	int3
18012b874:	4d 85 c0             	test   %r8,%r8
18012b877:	75 19                	jne    0x18012b892
18012b879:	33 c0                	xor    %eax,%eax
18012b87b:	c3                   	ret
18012b87c:	cc                   	int3
18012b87d:	0f b7 01             	movzwl (%rcx),%eax
18012b880:	66 85 c0             	test   %ax,%ax
18012b883:	74 13                	je     0x18012b898
18012b885:	66 3b 02             	cmp    (%rdx),%ax
18012b888:	75 0e                	jne    0x18012b898
18012b88a:	48 83 c1 02          	add    $0x2,%rcx
18012b88e:	48 83 c2 02          	add    $0x2,%rdx
18012b892:	49 83 e8 01          	sub    $0x1,%r8
18012b896:	75 e5                	jne    0x18012b87d
18012b898:	0f b7 01             	movzwl (%rcx),%eax
18012b89b:	0f b7 0a             	movzwl (%rdx),%ecx
18012b89e:	2b c1                	sub    %ecx,%eax
18012b8a0:	c3                   	ret
18012b8a1:	cc                   	int3
18012b8a2:	cc                   	int3
18012b8a3:	cc                   	int3
18012b8a4:	45 33 c0             	xor    %r8d,%r8d
18012b8a7:	41 8b c0             	mov    %r8d,%eax
18012b8aa:	48 85 d2             	test   %rdx,%rdx
18012b8ad:	74 12                	je     0x18012b8c1
18012b8af:	66 44 39 01          	cmp    %r8w,(%rcx)
18012b8b3:	74 0c                	je     0x18012b8c1
18012b8b5:	48 ff c0             	inc    %rax
18012b8b8:	48 83 c1 02          	add    $0x2,%rcx
18012b8bc:	48 3b c2             	cmp    %rdx,%rax
18012b8bf:	72 ee                	jb     0x18012b8af
18012b8c1:	c3                   	ret
18012b8c2:	cc                   	int3
18012b8c3:	cc                   	int3
18012b8c4:	4c 8b c9             	mov    %rcx,%r9
18012b8c7:	45 33 c0             	xor    %r8d,%r8d
18012b8ca:	0f b7 01             	movzwl (%rcx),%eax
18012b8cd:	48 83 c1 02          	add    $0x2,%rcx
18012b8d1:	66 85 c0             	test   %ax,%ax
18012b8d4:	75 f4                	jne    0x18012b8ca
18012b8d6:	48 83 e9 02          	sub    $0x2,%rcx
18012b8da:	0f b7 01             	movzwl (%rcx),%eax
18012b8dd:	49 3b c9             	cmp    %r9,%rcx
18012b8e0:	74 05                	je     0x18012b8e7
18012b8e2:	66 3b c2             	cmp    %dx,%ax
18012b8e5:	75 ef                	jne    0x18012b8d6
18012b8e7:	66 3b c2             	cmp    %dx,%ax
18012b8ea:	4c 0f 44 c1          	cmove  %rcx,%r8
18012b8ee:	49 8b c0             	mov    %r8,%rax
18012b8f1:	c3                   	ret
18012b8f2:	cc                   	int3
18012b8f3:	cc                   	int3
18012b8f4:	45 33 db             	xor    %r11d,%r11d
18012b8f7:	4c 8b d2             	mov    %rdx,%r10
18012b8fa:	4c 8b c1             	mov    %rcx,%r8
18012b8fd:	66 44 39 1a          	cmp    %r11w,(%rdx)
18012b901:	75 05                	jne    0x18012b908
18012b903:	48 8b c1             	mov    %rcx,%rax
18012b906:	c3                   	ret
18012b907:	cc                   	int3
18012b908:	0f b7 01             	movzwl (%rcx),%eax
18012b90b:	66 85 c0             	test   %ax,%ax
18012b90e:	74 3f                	je     0x18012b94f
18012b910:	4c 8b c9             	mov    %rcx,%r9
18012b913:	4d 2b ca             	sub    %r10,%r9
18012b916:	49 8b d2             	mov    %r10,%rdx
18012b919:	66 85 c0             	test   %ax,%ax
18012b91c:	74 1a                	je     0x18012b938
18012b91e:	0f b7 02             	movzwl (%rdx),%eax
18012b921:	66 85 c0             	test   %ax,%ax
18012b924:	74 2d                	je     0x18012b953
18012b926:	66 41 39 04 11       	cmp    %ax,(%r9,%rdx,1)
18012b92b:	75 0b                	jne    0x18012b938
18012b92d:	48 83 c2 02          	add    $0x2,%rdx
18012b931:	66 45 39 1c 11       	cmp    %r11w,(%r9,%rdx,1)
18012b936:	75 e6                	jne    0x18012b91e
18012b938:	66 44 39 1a          	cmp    %r11w,(%rdx)
18012b93c:	74 15                	je     0x18012b953
18012b93e:	49 83 c0 02          	add    $0x2,%r8
18012b942:	49 83 c1 02          	add    $0x2,%r9
18012b946:	41 0f b7 00          	movzwl (%r8),%eax
18012b94a:	66 85 c0             	test   %ax,%ax
18012b94d:	75 c7                	jne    0x18012b916
18012b94f:	33 c0                	xor    %eax,%eax
18012b951:	c3                   	ret
18012b952:	cc                   	int3
18012b953:	49 8b c0             	mov    %r8,%rax
18012b956:	c3                   	ret
18012b957:	cc                   	int3
18012b958:	48 83 ec 28          	sub    $0x28,%rsp
18012b95c:	e8 07 00 00 00       	call   0x18012b968
18012b961:	48 83 c4 28          	add    $0x28,%rsp
18012b965:	c3                   	ret
18012b966:	cc                   	int3
18012b967:	cc                   	int3
18012b968:	48 83 ec 28          	sub    $0x28,%rsp
18012b96c:	48 85 c9             	test   %rcx,%rcx
18012b96f:	75 04                	jne    0x18012b975
18012b971:	33 c0                	xor    %eax,%eax
18012b973:	eb 0f                	jmp    0x18012b984
18012b975:	33 d2                	xor    %edx,%edx
18012b977:	44 8d 4a 01          	lea    0x1(%rdx),%r9d
18012b97b:	44 8d 42 0a          	lea    0xa(%rdx),%r8d
18012b97f:	e8 f8 04 00 00       	call   0x18012be7c
18012b984:	48 83 c4 28          	add    $0x28,%rsp
18012b988:	c3                   	ret
18012b989:	cc                   	int3
18012b98a:	cc                   	int3
18012b98b:	cc                   	int3
18012b98c:	48 8b c4             	mov    %rsp,%rax
18012b98f:	48 89 58 08          	mov    %rbx,0x8(%rax)
18012b993:	48 89 68 10          	mov    %rbp,0x10(%rax)
18012b997:	48 89 70 18          	mov    %rsi,0x18(%rax)
18012b99b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18012b99f:	41 55                	push   %r13
18012b9a1:	41 56                	push   %r14
18012b9a3:	41 57                	push   %r15
18012b9a5:	48 83 ec 30          	sub    $0x30,%rsp
18012b9a9:	49 8d 78 ff          	lea    -0x1(%r8),%rdi
18012b9ad:	45 33 f6             	xor    %r14d,%r14d
18012b9b0:	49 0f af f9          	imul   %r9,%rdi
18012b9b4:	4d 8b f9             	mov    %r9,%r15
18012b9b7:	49 8b f0             	mov    %r8,%rsi
18012b9ba:	48 03 fa             	add    %rdx,%rdi
18012b9bd:	48 8b da             	mov    %rdx,%rbx
18012b9c0:	4c 8b e9             	mov    %rcx,%r13
18012b9c3:	48 85 d2             	test   %rdx,%rdx
18012b9c6:	75 09                	jne    0x18012b9d1
18012b9c8:	4d 85 c0             	test   %r8,%r8
18012b9cb:	0f 85 8b 00 00 00    	jne    0x18012ba5c
18012b9d1:	4d 85 ff             	test   %r15,%r15
18012b9d4:	0f 84 82 00 00 00    	je     0x18012ba5c
18012b9da:	4c 39 74 24 70       	cmp    %r14,0x70(%rsp)
18012b9df:	74 7b                	je     0x18012ba5c
18012b9e1:	48 3b d7             	cmp    %rdi,%rdx
18012b9e4:	0f 87 86 00 00 00    	ja     0x18012ba70
18012b9ea:	48 8b ee             	mov    %rsi,%rbp
18012b9ed:	48 d1 ed             	shr    $1,%rbp
18012b9f0:	74 47                	je     0x18012ba39
18012b9f2:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
18012b9f7:	40 f6 c6 01          	test   $0x1,%sil
18012b9fb:	48 8d 75 ff          	lea    -0x1(%rbp),%rsi
18012b9ff:	49 8b cd             	mov    %r13,%rcx
18012ba02:	48 0f 45 f5          	cmovne %rbp,%rsi
18012ba06:	4c 8b f6             	mov    %rsi,%r14
18012ba09:	4d 0f af f7          	imul   %r15,%r14
18012ba0d:	4c 03 f3             	add    %rbx,%r14
18012ba10:	49 8b d6             	mov    %r14,%rdx
18012ba13:	ff d0                	call   *%rax
18012ba15:	0f 1f 00             	nopl   (%rax)
18012ba18:	85 c0                	test   %eax,%eax
18012ba1a:	74 18                	je     0x18012ba34
18012ba1c:	79 08                	jns    0x18012ba26
18012ba1e:	49 8b fe             	mov    %r14,%rdi
18012ba21:	49 2b ff             	sub    %r15,%rdi
18012ba24:	eb 07                	jmp    0x18012ba2d
18012ba26:	4b 8d 1c 3e          	lea    (%r14,%r15,1),%rbx
18012ba2a:	48 8b f5             	mov    %rbp,%rsi
18012ba2d:	48 3b df             	cmp    %rdi,%rbx
18012ba30:	76 b8                	jbe    0x18012b9ea
18012ba32:	eb 3c                	jmp    0x18012ba70
18012ba34:	49 8b c6             	mov    %r14,%rax
18012ba37:	eb 39                	jmp    0x18012ba72
18012ba39:	45 33 f6             	xor    %r14d,%r14d
18012ba3c:	48 85 f6             	test   %rsi,%rsi
18012ba3f:	74 2f                	je     0x18012ba70
18012ba41:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
18012ba46:	48 8b d3             	mov    %rbx,%rdx
18012ba49:	49 8b cd             	mov    %r13,%rcx
18012ba4c:	ff d0                	call   *%rax
18012ba4e:	0f 1f 00             	nopl   (%rax)
18012ba51:	85 c0                	test   %eax,%eax
18012ba53:	49 0f 45 de          	cmovne %r14,%rbx
18012ba57:	48 8b c3             	mov    %rbx,%rax
18012ba5a:	eb 16                	jmp    0x18012ba72
18012ba5c:	45 33 c9             	xor    %r9d,%r9d
18012ba5f:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
18012ba64:	45 33 c0             	xor    %r8d,%r8d
18012ba67:	33 d2                	xor    %edx,%edx
18012ba69:	33 c9                	xor    %ecx,%ecx
18012ba6b:	e8 bc a0 ee ff       	call   0x180015b2c
18012ba70:	33 c0                	xor    %eax,%eax
18012ba72:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18012ba77:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18012ba7c:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18012ba81:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
18012ba86:	48 83 c4 30          	add    $0x30,%rsp
18012ba8a:	41 5f                	pop    %r15
18012ba8c:	41 5e                	pop    %r14
18012ba8e:	41 5d                	pop    %r13
18012ba90:	c3                   	ret
18012ba91:	cc                   	int3
18012ba92:	cc                   	int3
18012ba93:	cc                   	int3
18012ba94:	48 83 ec 28          	sub    $0x28,%rsp
18012ba98:	e8 07 00 00 00       	call   0x18012baa4
18012ba9d:	48 83 c4 28          	add    $0x28,%rsp
18012baa1:	c3                   	ret
18012baa2:	cc                   	int3
18012baa3:	cc                   	int3
18012baa4:	48 83 ec 28          	sub    $0x28,%rsp
18012baa8:	48 85 c9             	test   %rcx,%rcx
18012baab:	75 04                	jne    0x18012bab1
18012baad:	33 c0                	xor    %eax,%eax
18012baaf:	eb 0f                	jmp    0x18012bac0
18012bab1:	33 d2                	xor    %edx,%edx
18012bab3:	44 8d 4a 01          	lea    0x1(%rdx),%r9d
18012bab7:	44 8d 42 0a          	lea    0xa(%rdx),%r8d
18012babb:	e8 f4 12 00 00       	call   0x18012cdb4
18012bac0:	48 83 c4 28          	add    $0x28,%rsp
18012bac4:	c3                   	ret
18012bac5:	cc                   	int3
18012bac6:	cc                   	int3
18012bac7:	cc                   	int3
18012bac8:	0f b6 c1             	movzbl %cl,%eax
18012bacb:	83 ca ff             	or     $0xffffffff,%edx
18012bace:	3b ca                	cmp    %edx,%ecx
18012bad0:	0f 44 c2             	cmove  %edx,%eax
18012bad3:	48 63 c8             	movslq %eax,%rcx
18012bad6:	48 8b 05 63 06 04 00 	mov    0x40663(%rip),%rax        # 0x18016c140
18012badd:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
18012bae1:	25 07 01 00 00       	and    $0x107,%eax
18012bae6:	c3                   	ret
18012bae7:	cc                   	int3
18012bae8:	0f b6 c1             	movzbl %cl,%eax
18012baeb:	83 ca ff             	or     $0xffffffff,%edx