14018f809:	48 8b d1             	mov    %rcx,%rdx
14018f80c:	4d 8b c7             	mov    %r15,%r8
14018f80f:	48 8b c8             	mov    %rax,%rcx
14018f812:	e8 a9 8b ff ff       	call   0x1401883c0
14018f817:	eb 2a                	jmp    0x14018f843
14018f819:	4d 8b c5             	mov    %r13,%r8
14018f81c:	33 d2                	xor    %edx,%edx
14018f81e:	48 8b c8             	mov    %rax,%rcx
14018f821:	e8 4a 92 ff ff       	call   0x140188a70
14018f826:	48 83 7c 24 28 00    	cmpq   $0x0,0x28(%rsp)
14018f82c:	74 c4                	je     0x14018f7f2
14018f82e:	4d 3b ef             	cmp    %r15,%r13
14018f831:	73 10                	jae    0x14018f843
14018f833:	e8 d4 06 00 00       	call   0x14018ff0c
14018f838:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14018f83e:	e8 21 bd ff ff       	call   0x14018b564
14018f843:	4c 01 7c 24 20       	add    %r15,0x20(%rsp)
14018f848:	41 8b c7             	mov    %r15d,%eax
14018f84b:	29 43 10             	sub    %eax,0x10(%rbx)
14018f84e:	49 2b f7             	sub    %r15,%rsi
14018f851:	4c 01 3b             	add    %r15,(%rbx)
14018f854:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
14018f85b:	4d 2b ef             	sub    %r15,%r13
14018f85e:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
14018f863:	e9 8c 00 00 00       	jmp    0x14018f8f4
14018f868:	8b c1                	mov    %ecx,%eax
14018f86a:	48 3b f0             	cmp    %rax,%rsi
14018f86d:	72 58                	jb     0x14018f8c7
14018f86f:	48 3b f2             	cmp    %rdx,%rsi
14018f872:	44 8b fe             	mov    %esi,%r15d
14018f875:	44 0f 47 fa          	cmova  %edx,%r15d
14018f879:	85 c9                	test   %ecx,%ecx
14018f87b:	74 0a                	je     0x14018f887
14018f87d:	33 d2                	xor    %edx,%edx
14018f87f:	41 8b c7             	mov    %r15d,%eax
14018f882:	f7 f1                	div    %ecx
14018f884:	44 2b fa             	sub    %edx,%r15d
14018f887:	41 8b c7             	mov    %r15d,%eax
14018f88a:	49 3b c5             	cmp    %r13,%rax
14018f88d:	77 7e                	ja     0x14018f90d
14018f88f:	48 8b cb             	mov    %rbx,%rcx
14018f892:	e8 25 60 01 00       	call   0x1401a58bc
14018f897:	45 8b c7             	mov    %r15d,%r8d
14018f89a:	8b c8                	mov    %eax,%ecx
14018f89c:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
14018f8a1:	49 8b d7             	mov    %r15,%rdx
14018f8a4:	e8 6b a0 01 00       	call   0x1401a9914
14018f8a9:	85 c0                	test   %eax,%eax
14018f8ab:	0f 84 94 00 00 00    	je     0x14018f945
14018f8b1:	78 7d                	js     0x14018f930
14018f8b3:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
14018f8ba:	48 98                	cltq
14018f8bc:	48 2b f0             	sub    %rax,%rsi
14018f8bf:	4c 03 f8             	add    %rax,%r15
14018f8c2:	4c 2b e8             	sub    %rax,%r13
14018f8c5:	eb 28                	jmp    0x14018f8ef
14018f8c7:	48 8b cb             	mov    %rbx,%rcx
14018f8ca:	e8 ed 87 01 00       	call   0x1401a80bc
14018f8cf:	83 f8 ff             	cmp    $0xffffffff,%eax
14018f8d2:	74 61                	je     0x14018f935
14018f8d4:	4d 85 ed             	test   %r13,%r13
14018f8d7:	74 34                	je     0x14018f90d
14018f8d9:	41 88 07             	mov    %al,(%r15)
14018f8dc:	48 ff ce             	dec    %rsi
14018f8df:	8b 4b 20             	mov    0x20(%rbx),%ecx
14018f8e2:	49 ff c7             	inc    %r15
14018f8e5:	49 ff cd             	dec    %r13
14018f8e8:	89 8c 24 90 00 00 00 	mov    %ecx,0x90(%rsp)
14018f8ef:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14018f8f4:	48 85 f6             	test   %rsi,%rsi
14018f8f7:	0f 85 a6 fe ff ff    	jne    0x14018f7a3
14018f8fd:	4c 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9
14018f904:	00
14018f905:	49 8b c1             	mov    %r9,%rax
14018f908:	e9 02 fe ff ff       	jmp    0x14018f70f
14018f90d:	48 83 fd ff          	cmp    $0xffffffffffffffff,%rbp
14018f911:	74 0d                	je     0x14018f920
14018f913:	4c 8b c5             	mov    %rbp,%r8
14018f916:	33 d2                	xor    %edx,%edx
14018f918:	49 8b cc             	mov    %r12,%rcx
14018f91b:	e8 50 91 ff ff       	call   0x140188a70
14018f920:	e8 e7 05 00 00       	call   0x14018ff0c
14018f925:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14018f92b:	e9 d8 fd ff ff       	jmp    0x14018f708
14018f930:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
14018f935:	48 2b fe             	sub    %rsi,%rdi
14018f938:	33 d2                	xor    %edx,%edx
14018f93a:	48 8b c7             	mov    %rdi,%rax
14018f93d:	49 f7 f6             	div    %r14
14018f940:	e9 ca fd ff ff       	jmp    0x14018f70f
14018f945:	f0 83 4b 14 08       	lock orl $0x8,0x14(%rbx)
14018f94a:	eb e9                	jmp    0x14018f935
14018f94c:	48 83 ec 38          	sub    $0x38,%rsp
14018f950:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14018f955:	4d 8b c8             	mov    %r8,%r9
14018f958:	4c 8b c2             	mov    %rdx,%r8
14018f95b:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
14018f95f:	e8 08 00 00 00       	call   0x14018f96c
14018f964:	48 83 c4 38          	add    $0x38,%rsp
14018f968:	c3                   	ret
14018f969:	cc                   	int3
14018f96a:	cc                   	int3
14018f96b:	cc                   	int3
14018f96c:	48 8b c4             	mov    %rsp,%rax
14018f96f:	48 89 58 08          	mov    %rbx,0x8(%rax)
14018f973:	48 89 70 10          	mov    %rsi,0x10(%rax)
14018f977:	48 89 78 18          	mov    %rdi,0x18(%rax)
14018f97b:	4c 89 70 20          	mov    %r14,0x20(%rax)
14018f97f:	41 57                	push   %r15
14018f981:	48 83 ec 30          	sub    $0x30,%rsp
14018f985:	49 8b f1             	mov    %r9,%rsi
14018f988:	4d 8b f8             	mov    %r8,%r15
14018f98b:	48 8b fa             	mov    %rdx,%rdi
14018f98e:	4c 8b f1             	mov    %rcx,%r14
14018f991:	4d 85 c0             	test   %r8,%r8
14018f994:	74 60                	je     0x14018f9f6
14018f996:	4d 85 c9             	test   %r9,%r9
14018f999:	74 5b                	je     0x14018f9f6
14018f99b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14018f9a0:	48 85 db             	test   %rbx,%rbx
14018f9a3:	75 22                	jne    0x14018f9c7
14018f9a5:	48 83 fa ff          	cmp    $0xffffffffffffffff,%rdx
14018f9a9:	74 0a                	je     0x14018f9b5
14018f9ab:	4c 8b c2             	mov    %rdx,%r8
14018f9ae:	33 d2                	xor    %edx,%edx
14018f9b0:	e8 bb 90 ff ff       	call   0x140188a70
14018f9b5:	e8 52 05 00 00       	call   0x14018ff0c
14018f9ba:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f9c0:	e8 9f bb ff ff       	call   0x14018b564
14018f9c5:	eb 2f                	jmp    0x14018f9f6
14018f9c7:	48 8b cb             	mov    %rbx,%rcx
14018f9ca:	e8 d5 c8 ff ff       	call   0x14018c2a4
14018f9cf:	90                   	nop
14018f9d0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14018f9d5:	4c 8b ce             	mov    %rsi,%r9
14018f9d8:	4d 8b c7             	mov    %r15,%r8
14018f9db:	48 8b d7             	mov    %rdi,%rdx
14018f9de:	49 8b ce             	mov    %r14,%rcx
14018f9e1:	e8 e6 fc ff ff       	call   0x14018f6cc
14018f9e6:	48 8b f8             	mov    %rax,%rdi
14018f9e9:	48 8b cb             	mov    %rbx,%rcx
14018f9ec:	e8 bf c8 ff ff       	call   0x14018c2b0
14018f9f1:	48 8b c7             	mov    %rdi,%rax
14018f9f4:	eb 02                	jmp    0x14018f9f8
14018f9f6:	33 c0                	xor    %eax,%eax
14018f9f8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14018f9fd:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14018fa02:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
14018fa07:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
14018fa0c:	48 83 c4 30          	add    $0x30,%rsp
14018fa10:	41 5f                	pop    %r15
14018fa12:	c3                   	ret
14018fa13:	cc                   	int3
14018fa14:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14018fa19:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14018fa1e:	57                   	push   %rdi
14018fa1f:	48 83 ec 20          	sub    $0x20,%rsp
14018fa23:	41 8b d8             	mov    %r8d,%ebx
14018fa26:	48 8b fa             	mov    %rdx,%rdi
14018fa29:	33 c0                	xor    %eax,%eax
14018fa2b:	48 85 c9             	test   %rcx,%rcx
14018fa2e:	0f 95 c0             	setne  %al
14018fa31:	85 c0                	test   %eax,%eax
14018fa33:	75 15                	jne    0x14018fa4a
14018fa35:	e8 d2 04 00 00       	call   0x14018ff0c
14018fa3a:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018fa40:	e8 1f bb ff ff       	call   0x14018b564
14018fa45:	83 c8 ff             	or     $0xffffffff,%eax
14018fa48:	eb 29                	jmp    0x14018fa73
14018fa4a:	83 fb 02             	cmp    $0x2,%ebx
14018fa4d:	77 e6                	ja     0x14018fa35
14018fa4f:	e8 50 c8 ff ff       	call   0x14018c2a4
14018fa54:	90                   	nop
14018fa55:	44 8b c3             	mov    %ebx,%r8d
14018fa58:	48 8b d7             	mov    %rdi,%rdx
14018fa5b:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14018fa60:	e8 2b 01 00 00       	call   0x14018fb90
14018fa65:	8b d8                	mov    %eax,%ebx
14018fa67:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14018fa6c:	e8 3f c8 ff ff       	call   0x14018c2b0
14018fa71:	8b c3                	mov    %ebx,%eax
14018fa73:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14018fa78:	48 83 c4 20          	add    $0x20,%rsp
14018fa7c:	5f                   	pop    %rdi
14018fa7d:	c3                   	ret
14018fa7e:	cc                   	int3
14018fa7f:	cc                   	int3
14018fa80:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14018fa85:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14018fa8a:	57                   	push   %rdi
14018fa8b:	48 83 ec 20          	sub    $0x20,%rsp
14018fa8f:	48 8b fa             	mov    %rdx,%rdi
14018fa92:	41 83 f8 02          	cmp    $0x2,%r8d
14018fa96:	0f 84 e7 00 00 00    	je     0x14018fb83
14018fa9c:	8b 41 14             	mov    0x14(%rcx),%eax
14018fa9f:	a9 c0 04 00 00       	test   $0x4c0,%eax
14018faa4:	0f 84 d9 00 00 00    	je     0x14018fb83
14018faaa:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14018faaf:	8b 48 14             	mov    0x14(%rax),%ecx
14018fab2:	f6 c1 06             	test   $0x6,%cl
14018fab5:	0f 85 c8 00 00 00    	jne    0x14018fb83
14018fabb:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14018fac0:	33 db                	xor    %ebx,%ebx
14018fac2:	39 58 10             	cmp    %ebx,0x10(%rax)
14018fac5:	0f 8c b8 00 00 00    	jl     0x14018fb83
14018facb:	48 63 48 18          	movslq 0x18(%rax),%rcx
14018facf:	48 8b d1             	mov    %rcx,%rdx
14018fad2:	4c 8d 0d 37 dc 18 00 	lea    0x18dc37(%rip),%r9        # 0x14031d710
14018fad9:	83 e2 3f             	and    $0x3f,%edx
14018fadc:	48 8b c1             	mov    %rcx,%rax
14018fadf:	48 c1 f8 06          	sar    $0x6,%rax
14018fae3:	48 c1 e2 06          	shl    $0x6,%rdx
14018fae7:	4d 8b 0c c1          	mov    (%r9,%rax,8),%r9
14018faeb:	41 f6 44 11 38 80    	testb  $0x80,0x38(%r9,%rdx,1)
14018faf1:	0f 85 8c 00 00 00    	jne    0x14018fb83
14018faf7:	41 38 5c 11 39       	cmp    %bl,0x39(%r9,%rdx,1)
14018fafc:	0f 85 81 00 00 00    	jne    0x14018fb83
14018fb02:	45 85 c0             	test   %r8d,%r8d
14018fb05:	75 4c                	jne    0x14018fb53
14018fb07:	33 d2                	xor    %edx,%edx
14018fb09:	44 8d 43 01          	lea    0x1(%rbx),%r8d
14018fb0d:	e8 fe a3 01 00       	call   0x1401a9f10
14018fb12:	4c 8b c0             	mov    %rax,%r8
14018fb15:	48 85 c0             	test   %rax,%rax
14018fb18:	78 69                	js     0x14018fb83
14018fb1a:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14018fb1f:	44 8b cb             	mov    %ebx,%r9d
14018fb22:	48 8b d7             	mov    %rdi,%rdx
14018fb25:	48 63 48 10          	movslq 0x10(%rax),%rcx
14018fb29:	4c 2b c1             	sub    %rcx,%r8
14018fb2c:	8b cb                	mov    %ebx,%ecx
14018fb2e:	49 2b d0             	sub    %r8,%rdx
14018fb31:	48 85 ff             	test   %rdi,%rdi
14018fb34:	41 0f 98 c1          	sets   %r9b
14018fb38:	4d 85 c0             	test   %r8,%r8
14018fb3b:	0f 98 c1             	sets   %cl
14018fb3e:	44 3b c9             	cmp    %ecx,%r9d
14018fb41:	74 0b                	je     0x14018fb4e
14018fb43:	48 85 d2             	test   %rdx,%rdx
14018fb46:	0f 98 c3             	sets   %bl
14018fb49:	44 3b cb             	cmp    %ebx,%r9d
14018fb4c:	75 35                	jne    0x14018fb83
14018fb4e:	48 8b fa             	mov    %rdx,%rdi
14018fb51:	eb 05                	jmp    0x14018fb58
14018fb53:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14018fb58:	48 8b 10             	mov    (%rax),%rdx
14018fb5b:	48 8b 48 08          	mov    0x8(%rax),%rcx
14018fb5f:	48 2b ca             	sub    %rdx,%rcx
14018fb62:	48 3b cf             	cmp    %rdi,%rcx
14018fb65:	7f 1c                	jg     0x14018fb83
14018fb67:	48 63 48 10          	movslq 0x10(%rax),%rcx
14018fb6b:	48 3b f9             	cmp    %rcx,%rdi
14018fb6e:	7f 13                	jg     0x14018fb83
14018fb70:	48 8d 0c 3a          	lea    (%rdx,%rdi,1),%rcx
14018fb74:	48 89 08             	mov    %rcx,(%rax)
14018fb77:	b0 01                	mov    $0x1,%al
14018fb79:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14018fb7e:	29 79 10             	sub    %edi,0x10(%rcx)
14018fb81:	eb 02                	jmp    0x14018fb85
14018fb83:	32 c0                	xor    %al,%al
14018fb85:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14018fb8a:	48 83 c4 20          	add    $0x20,%rsp
14018fb8e:	5f                   	pop    %rdi
14018fb8f:	c3                   	ret
14018fb90:	48 8b c4             	mov    %rsp,%rax
14018fb93:	48 89 58 10          	mov    %rbx,0x10(%rax)
14018fb97:	48 89 70 18          	mov    %rsi,0x18(%rax)
14018fb9b:	48 89 78 20          	mov    %rdi,0x20(%rax)
14018fb9f:	48 89 48 08          	mov    %rcx,0x8(%rax)
14018fba3:	55                   	push   %rbp
14018fba4:	48 8b ec             	mov    %rsp,%rbp
14018fba7:	48 83 ec 20          	sub    $0x20,%rsp
14018fbab:	8b 41 14             	mov    0x14(%rcx),%eax
14018fbae:	41 8b f8             	mov    %r8d,%edi
14018fbb1:	48 8b f2             	mov    %rdx,%rsi
14018fbb4:	c1 e8 0d             	shr    $0xd,%eax
14018fbb7:	a8 01                	test   $0x1,%al
14018fbb9:	75 13                	jne    0x14018fbce
14018fbbb:	e8 4c 03 00 00       	call   0x14018ff0c
14018fbc0:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018fbc6:	83 c8 ff             	or     $0xffffffff,%eax
14018fbc9:	e9 a4 00 00 00       	jmp    0x14018fc72
14018fbce:	48 8b 45 10          	mov    0x10(%rbp),%rax
14018fbd2:	f0 83 60 14 f7       	lock andl $0xfffffff7,0x14(%rax)
14018fbd7:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14018fbdb:	e8 a0 fe ff ff       	call   0x14018fa80
14018fbe0:	33 db                	xor    %ebx,%ebx
14018fbe2:	84 c0                	test   %al,%al
14018fbe4:	74 07                	je     0x14018fbed
14018fbe6:	33 c0                	xor    %eax,%eax
14018fbe8:	e9 85 00 00 00       	jmp    0x14018fc72
14018fbed:	83 ff 01             	cmp    $0x1,%edi
14018fbf0:	75 0e                	jne    0x14018fc00
14018fbf2:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14018fbf6:	e8 05 8c 00 00       	call   0x140198800
14018fbfb:	48 03 f0             	add    %rax,%rsi
14018fbfe:	8b fb                	mov    %ebx,%edi
14018fc00:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14018fc04:	e8 83 bb ff ff       	call   0x14018b78c
14018fc09:	48 8b 45 10          	mov    0x10(%rbp),%rax
14018fc0d:	48 8b 48 08          	mov    0x8(%rax),%rcx
14018fc11:	48 89 08             	mov    %rcx,(%rax)
14018fc14:	89 58 10             	mov    %ebx,0x10(%rax)
14018fc17:	48 8b 45 10          	mov    0x10(%rbp),%rax
14018fc1b:	8b 48 14             	mov    0x14(%rax),%ecx
14018fc1e:	48 8b 45 10          	mov    0x10(%rbp),%rax
14018fc22:	c1 e9 02             	shr    $0x2,%ecx
14018fc25:	f6 c1 01             	test   $0x1,%cl
14018fc28:	74 07                	je     0x14018fc31
14018fc2a:	f0 83 60 14 fc       	lock andl $0xfffffffc,0x14(%rax)
14018fc2f:	eb 25                	jmp    0x14018fc56
14018fc31:	8b 48 14             	mov    0x14(%rax),%ecx
14018fc34:	83 e1 41             	and    $0x41,%ecx
14018fc37:	80 f9 41             	cmp    $0x41,%cl
14018fc3a:	75 1a                	jne    0x14018fc56
14018fc3c:	48 8b 45 10          	mov    0x10(%rbp),%rax
14018fc40:	8b 48 14             	mov    0x14(%rax),%ecx
14018fc43:	c1 e9 08             	shr    $0x8,%ecx
14018fc46:	f6 c1 01             	test   $0x1,%cl
14018fc49:	75 0b                	jne    0x14018fc56
14018fc4b:	48 8b 45 10          	mov    0x10(%rbp),%rax
14018fc4f:	c7 40 20 00 02 00 00 	movl   $0x200,0x20(%rax)
14018fc56:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
14018fc5a:	8b 49 18             	mov    0x18(%rcx),%ecx
14018fc5d:	44 8b c7             	mov    %edi,%r8d
14018fc60:	48 8b d6             	mov    %rsi,%rdx
14018fc63:	e8 a8 a2 01 00       	call   0x1401a9f10
14018fc68:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14018fc6c:	0f 95 c3             	setne  %bl
14018fc6f:	8d 43 ff             	lea    -0x1(%rbx),%eax
14018fc72:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14018fc77:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14018fc7c:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14018fc81:	48 83 c4 20          	add    $0x20,%rsp
14018fc85:	5d                   	pop    %rbp
14018fc86:	c3                   	ret
14018fc87:	cc                   	int3
14018fc88:	e9 87 fd ff ff       	jmp    0x14018fa14
14018fc8d:	cc                   	int3
14018fc8e:	cc                   	int3
14018fc8f:	cc                   	int3
14018fc90:	48 63 d2             	movslq %edx,%rdx
14018fc93:	e9 7c fd ff ff       	jmp    0x14018fa14
14018fc98:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018fc9d:	57                   	push   %rdi
14018fc9e:	48 83 ec 20          	sub    $0x20,%rsp
14018fca2:	48 63 f9             	movslq %ecx,%rdi
14018fca5:	48 85 d2             	test   %rdx,%rdx
14018fca8:	74 1f                	je     0x14018fcc9
14018fcaa:	48 8b 02             	mov    (%rdx),%rax