140021805:	66 42 39 3c 42       	cmp    %di,(%rdx,%r8,2)
14002180a:	75 f6                	jne    0x140021802
14002180c:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140021811:	e8 6a 02 00 00       	call   0x140021a80
140021816:	48 8d 15 eb cc 05 00 	lea    0x5cceb(%rip),%rdx        # 0x14007e508
14002181d:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140021821:	49 ff c0             	inc    %r8
140021824:	66 42 39 3c 42       	cmp    %di,(%rdx,%r8,2)
140021829:	75 f6                	jne    0x140021821
14002182b:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140021830:	e8 d3 fb ff ff       	call   0x140021408
140021835:	90                   	nop
140021836:	48 8d 1d 23 51 0a 00 	lea    0xa5123(%rip),%rbx        # 0x1400c6960
14002183d:	48 8b cb             	mov    %rbx,%rcx
140021840:	e8 9f 05 00 00       	call   0x140021de4
140021845:	48 8d 0d c4 4e 0a 00 	lea    0xa4ec4(%rip),%rcx        # 0x1400c6710
14002184c:	e8 cb 0c 00 00       	call   0x14002251c
140021851:	48 89 1d a8 67 09 00 	mov    %rbx,0x967a8(%rip)        # 0x1400b8000
140021858:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14002185d:	48 8b cb             	mov    %rbx,%rcx
140021860:	e8 c3 11 00 00       	call   0x140022a28
140021865:	48 8d 53 e8          	lea    -0x18(%rbx),%rdx
140021869:	83 c8 ff             	or     $0xffffffff,%eax
14002186c:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140021871:	83 e8 01             	sub    $0x1,%eax
140021874:	7f 10                	jg     0x140021886
140021876:	48 8b 0a             	mov    (%rdx),%rcx
140021879:	48 8b 01             	mov    (%rcx),%rax
14002187c:	48 8b 40 08          	mov    0x8(%rax),%rax
140021880:	ff 15 02 de 04 00    	call   *0x4de02(%rip)        # 0x14006f688
140021886:	33 c0                	xor    %eax,%eax
140021888:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
14002188d:	48 83 c4 40          	add    $0x40,%rsp
140021891:	5f                   	pop    %rdi
140021892:	c3                   	ret
140021893:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140021898:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
14002189c:	83 c8 ff             	or     $0xffffffff,%eax
14002189f:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400218a4:	83 e8 01             	sub    $0x1,%eax
1400218a7:	7f 10                	jg     0x1400218b9
1400218a9:	48 8b 0a             	mov    (%rdx),%rcx
1400218ac:	48 8b 01             	mov    (%rcx),%rax
1400218af:	48 8b 40 08          	mov    0x8(%rax),%rax
1400218b3:	ff 15 cf dd 04 00    	call   *0x4ddcf(%rip)        # 0x14006f688
1400218b9:	8b 44 24 30          	mov    0x30(%rsp),%eax
1400218bd:	eb c9                	jmp    0x140021888
1400218bf:	b9 05 40 00 80       	mov    $0x80004005,%ecx
1400218c4:	e8 07 cd ff ff       	call   0x14001e5d0
1400218c9:	cc                   	int3
1400218ca:	90                   	nop
1400218cb:	90                   	nop
1400218cc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400218d1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400218d6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400218db:	57                   	push   %rdi
1400218dc:	41 56                	push   %r14
1400218de:	41 57                	push   %r15
1400218e0:	48 83 ec 20          	sub    $0x20,%rsp
1400218e4:	41 8b c0             	mov    %r8d,%eax
1400218e7:	48 8b fa             	mov    %rdx,%rdi
1400218ea:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1400218f0:	c1 e8 04             	shr    $0x4,%eax
1400218f3:	66 41 03 c7          	add    %r15w,%ax
1400218f7:	41 8b d8             	mov    %r8d,%ebx
1400218fa:	48 8b f1             	mov    %rcx,%rsi
1400218fd:	0f b7 d0             	movzwl %ax,%edx
140021900:	48 8b cf             	mov    %rdi,%rcx
140021903:	45 8d 47 05          	lea    0x5(%r15),%r8d
140021907:	ff 15 a3 d7 04 00    	call   *0x4d7a3(%rip)        # 0x14006f0b0
14002190d:	45 33 f6             	xor    %r14d,%r14d
140021910:	48 85 c0             	test   %rax,%rax
140021913:	75 05                	jne    0x14002191a
140021915:	41 8b de             	mov    %r14d,%ebx
140021918:	eb 11                	jmp    0x14002192b
14002191a:	44 8b c3             	mov    %ebx,%r8d
14002191d:	48 8b d0             	mov    %rax,%rdx
140021920:	48 8b cf             	mov    %rdi,%rcx
140021923:	e8 2c 04 00 00       	call   0x140021d54
140021928:	48 8b d8             	mov    %rax,%rbx
14002192b:	48 85 db             	test   %rbx,%rbx
14002192e:	75 1b                	jne    0x14002194b
140021930:	33 c0                	xor    %eax,%eax
140021932:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140021937:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002193c:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140021941:	48 83 c4 20          	add    $0x20,%rsp
140021945:	41 5f                	pop    %r15
140021947:	41 5e                	pop    %r14
140021949:	5f                   	pop    %rdi
14002194a:	c3                   	ret
14002194b:	48 8b 06             	mov    (%rsi),%rax
14002194e:	41 8b d7             	mov    %r15d,%edx
140021951:	0f b7 3b             	movzwl (%rbx),%edi
140021954:	8b 48 f4             	mov    -0xc(%rax),%ecx
140021957:	2b 50 f8             	sub    -0x8(%rax),%edx
14002195a:	2b cf                	sub    %edi,%ecx
14002195c:	0b d1                	or     %ecx,%edx
14002195e:	7d 0a                	jge    0x14002196a
140021960:	8b d7                	mov    %edi,%edx
140021962:	48 8b ce             	mov    %rsi,%rcx
140021965:	e8 66 00 00 00       	call   0x1400219d0
14002196a:	44 0f b7 0b          	movzwl (%rbx),%r9d
14002196e:	4c 8d 43 02          	lea    0x2(%rbx),%r8
140021972:	48 8b 0e             	mov    (%rsi),%rcx
140021975:	48 8b d7             	mov    %rdi,%rdx
140021978:	e8 0f 8a 04 00       	call   0x14006a38c
14002197d:	85 c0                	test   %eax,%eax
14002197f:	74 14                	je     0x140021995
140021981:	83 f8 0c             	cmp    $0xc,%eax
140021984:	74 27                	je     0x1400219ad
140021986:	83 f8 16             	cmp    $0x16,%eax
140021989:	74 2d                	je     0x1400219b8
14002198b:	83 f8 22             	cmp    $0x22,%eax
14002198e:	74 28                	je     0x1400219b8
140021990:	83 f8 50             	cmp    $0x50,%eax
140021993:	75 2e                	jne    0x1400219c3
140021995:	48 8b 0e             	mov    (%rsi),%rcx
140021998:	3b 79 f4             	cmp    -0xc(%rcx),%edi
14002199b:	7f 1b                	jg     0x1400219b8
14002199d:	89 79 f0             	mov    %edi,-0x10(%rcx)
1400219a0:	41 8b c7             	mov    %r15d,%eax
1400219a3:	48 8b 0e             	mov    (%rsi),%rcx
1400219a6:	66 44 89 34 79       	mov    %r14w,(%rcx,%rdi,2)
1400219ab:	eb 85                	jmp    0x140021932
1400219ad:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
1400219b2:	e8 19 cc ff ff       	call   0x14001e5d0
1400219b7:	cc                   	int3
1400219b8:	b9 57 00 07 80       	mov    $0x80070057,%ecx
1400219bd:	e8 0e cc ff ff       	call   0x14001e5d0
1400219c2:	cc                   	int3
1400219c3:	b9 05 40 00 80       	mov    $0x80004005,%ecx
1400219c8:	e8 03 cc ff ff       	call   0x14001e5d0
1400219cd:	cc                   	int3
1400219ce:	90                   	nop
1400219cf:	90                   	nop
1400219d0:	48 83 ec 28          	sub    $0x28,%rsp
1400219d4:	4c 8b c9             	mov    %rcx,%r9
1400219d7:	44 8b c2             	mov    %edx,%r8d
1400219da:	48 8b 09             	mov    (%rcx),%rcx
1400219dd:	39 51 f0             	cmp    %edx,-0x10(%rcx)
1400219e0:	44 0f 4f 41 f0       	cmovg  -0x10(%rcx),%r8d
1400219e5:	83 79 f8 01          	cmpl   $0x1,-0x8(%rcx)
1400219e9:	7e 0f                	jle    0x1400219fa
1400219eb:	41 8b d0             	mov    %r8d,%edx
1400219ee:	49 8b c9             	mov    %r9,%rcx
1400219f1:	48 83 c4 28          	add    $0x28,%rsp
1400219f5:	e9 da fc ff ff       	jmp    0x1400216d4
1400219fa:	8b 49 f4             	mov    -0xc(%rcx),%ecx
1400219fd:	41 3b c8             	cmp    %r8d,%ecx
140021a00:	7d 2a                	jge    0x140021a2c
140021a02:	81 f9 00 00 00 40    	cmp    $0x40000000,%ecx
140021a08:	7e 07                	jle    0x140021a11
140021a0a:	b8 00 00 10 00       	mov    $0x100000,%eax
140021a0f:	eb 07                	jmp    0x140021a18
140021a11:	8b c1                	mov    %ecx,%eax
140021a13:	99                   	cltd
140021a14:	2b c2                	sub    %edx,%eax
140021a16:	d1 f8                	sar    $1,%eax
140021a18:	03 c1                	add    %ecx,%eax
140021a1a:	49 8b c9             	mov    %r9,%rcx
140021a1d:	41 3b c0             	cmp    %r8d,%eax
140021a20:	44 0f 4d c0          	cmovge %eax,%r8d
140021a24:	41 8b d0             	mov    %r8d,%edx
140021a27:	e8 08 00 00 00       	call   0x140021a34
140021a2c:	48 83 c4 28          	add    $0x28,%rsp
140021a30:	c3                   	ret
140021a31:	90                   	nop
140021a32:	90                   	nop
140021a33:	90                   	nop
140021a34:	40 53                	rex push %rbx
140021a36:	48 83 ec 30          	sub    $0x30,%rsp
140021a3a:	44 8b c2             	mov    %edx,%r8d
140021a3d:	48 8b d9             	mov    %rcx,%rbx
140021a40:	48 8b 11             	mov    (%rcx),%rdx
140021a43:	48 83 ea 18          	sub    $0x18,%rdx
140021a47:	44 39 42 0c          	cmp    %r8d,0xc(%rdx)
140021a4b:	7d 2d                	jge    0x140021a7a
140021a4d:	45 85 c0             	test   %r8d,%r8d
140021a50:	7e 28                	jle    0x140021a7a
140021a52:	48 8b 0a             	mov    (%rdx),%rcx
140021a55:	41 b9 02 00 00 00    	mov    $0x2,%r9d
140021a5b:	48 8b 01             	mov    (%rcx),%rax
140021a5e:	48 8b 40 10          	mov    0x10(%rax),%rax
140021a62:	ff 15 20 dc 04 00    	call   *0x4dc20(%rip)        # 0x14006f688
140021a68:	48 85 c0             	test   %rax,%rax
140021a6b:	74 0d                	je     0x140021a7a
140021a6d:	48 83 c0 18          	add    $0x18,%rax
140021a71:	48 89 03             	mov    %rax,(%rbx)
140021a74:	48 83 c4 30          	add    $0x30,%rsp
140021a78:	5b                   	pop    %rbx
140021a79:	c3                   	ret
140021a7a:	e8 c5 02 00 00       	call   0x140021d44
140021a7f:	cc                   	int3
140021a80:	48 8b c4             	mov    %rsp,%rax
140021a83:	48 89 58 08          	mov    %rbx,0x8(%rax)
140021a87:	48 89 68 10          	mov    %rbp,0x10(%rax)
140021a8b:	48 89 70 18          	mov    %rsi,0x18(%rax)
140021a8f:	48 89 78 20          	mov    %rdi,0x20(%rax)
140021a93:	41 54                	push   %r12
140021a95:	41 56                	push   %r14
140021a97:	41 57                	push   %r15
140021a99:	48 83 ec 20          	sub    $0x20,%rsp
140021a9d:	45 33 e4             	xor    %r12d,%r12d
140021aa0:	49 63 f8             	movslq %r8d,%rdi
140021aa3:	4c 8b f2             	mov    %rdx,%r14
140021aa6:	48 8b f1             	mov    %rcx,%rsi
140021aa9:	45 85 c0             	test   %r8d,%r8d
140021aac:	75 24                	jne    0x140021ad2
140021aae:	e8 89 fb ff ff       	call   0x14002163c
140021ab3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140021ab8:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140021abd:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140021ac2:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140021ac7:	48 83 c4 20          	add    $0x20,%rsp
140021acb:	41 5f                	pop    %r15
140021acd:	41 5e                	pop    %r14
140021acf:	41 5c                	pop    %r12
140021ad1:	c3                   	ret
140021ad2:	4d 85 f6             	test   %r14,%r14
140021ad5:	0f 84 cd 00 00 00    	je     0x140021ba8
140021adb:	48 8b 01             	mov    (%rcx),%rax
140021ade:	49 8b ee             	mov    %r14,%rbp
140021ae1:	48 2b e8             	sub    %rax,%rbp
140021ae4:	48 d1 fd             	sar    $1,%rbp
140021ae7:	44 8b 78 f0          	mov    -0x10(%rax),%r15d
140021aeb:	45 85 c0             	test   %r8d,%r8d
140021aee:	0f 88 b4 00 00 00    	js     0x140021ba8
140021af4:	b9 01 00 00 00       	mov    $0x1,%ecx
140021af9:	2b 48 f8             	sub    -0x8(%rax),%ecx
140021afc:	8b 40 f4             	mov    -0xc(%rax),%eax
140021aff:	2b c7                	sub    %edi,%eax
140021b01:	0b c8                	or     %eax,%ecx
140021b03:	7d 0a                	jge    0x140021b0f
140021b05:	8b d7                	mov    %edi,%edx
140021b07:	48 8b ce             	mov    %rsi,%rcx
140021b0a:	e8 c1 fe ff ff       	call   0x1400219d0
140021b0f:	48 8b 0e             	mov    (%rsi),%rcx
140021b12:	48 8b df             	mov    %rdi,%rbx
140021b15:	48 03 db             	add    %rbx,%rbx
140021b18:	49 3b ef             	cmp    %r15,%rbp
140021b1b:	77 37                	ja     0x140021b54
140021b1d:	48 8d 14 69          	lea    (%rcx,%rbp,2),%rdx
140021b21:	48 85 db             	test   %rbx,%rbx
140021b24:	74 6a                	je     0x140021b90
140021b26:	48 85 c9             	test   %rcx,%rcx
140021b29:	75 0e                	jne    0x140021b39
140021b2b:	ff 15 07 d9 04 00    	call   *0x4d907(%rip)        # 0x14006f438
140021b31:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140021b37:	eb 51                	jmp    0x140021b8a
140021b39:	48 85 d2             	test   %rdx,%rdx
140021b3c:	74 ed                	je     0x140021b2b
140021b3e:	48 63 41 f4          	movslq -0xc(%rcx),%rax
140021b42:	48 03 c0             	add    %rax,%rax
140021b45:	48 3b c3             	cmp    %rbx,%rax
140021b48:	72 34                	jb     0x140021b7e
140021b4a:	4c 8b c3             	mov    %rbx,%r8
140021b4d:	e8 ca 87 04 00       	call   0x14006a31c
140021b52:	eb 3c                	jmp    0x140021b90
140021b54:	4c 63 41 f4          	movslq -0xc(%rcx),%r8
140021b58:	4d 03 c0             	add    %r8,%r8
140021b5b:	48 85 db             	test   %rbx,%rbx
140021b5e:	74 30                	je     0x140021b90
140021b60:	48 85 c9             	test   %rcx,%rcx
140021b63:	74 c6                	je     0x140021b2b
140021b65:	4c 3b c3             	cmp    %rbx,%r8
140021b68:	72 0d                	jb     0x140021b77
140021b6a:	4c 8b c3             	mov    %rbx,%r8
140021b6d:	49 8b d6             	mov    %r14,%rdx
140021b70:	e8 9b 87 04 00       	call   0x14006a310
140021b75:	eb 19                	jmp    0x140021b90
140021b77:	33 d2                	xor    %edx,%edx
140021b79:	e8 98 87 04 00       	call   0x14006a316
140021b7e:	ff 15 b4 d8 04 00    	call   *0x4d8b4(%rip)        # 0x14006f438
140021b84:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140021b8a:	ff 15 48 d9 04 00    	call   *0x4d948(%rip)        # 0x14006f4d8
140021b90:	48 8b 06             	mov    (%rsi),%rax
140021b93:	3b 78 f4             	cmp    -0xc(%rax),%edi
140021b96:	7f 10                	jg     0x140021ba8
140021b98:	89 78 f0             	mov    %edi,-0x10(%rax)
140021b9b:	48 8b 06             	mov    (%rsi),%rax
140021b9e:	66 44 89 24 03       	mov    %r12w,(%rbx,%rax,1)
140021ba3:	e9 0b ff ff ff       	jmp    0x140021ab3
140021ba8:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140021bad:	e8 1e ca ff ff       	call   0x14001e5d0
140021bb2:	cc                   	int3
140021bb3:	90                   	nop
140021bb4:	48 83 ec 28          	sub    $0x28,%rsp
140021bb8:	33 c9                	xor    %ecx,%ecx
140021bba:	e8 31 01 00 00       	call   0x140021cf0
140021bbf:	48 83 c4 28          	add    $0x28,%rsp
140021bc3:	e9 5c 0d 00 00       	jmp    0x140022924
140021bc8:	cc                   	int3
140021bc9:	90                   	nop
140021bca:	90                   	nop
140021bcb:	90                   	nop
140021bcc:	48 8b c4             	mov    %rsp,%rax
140021bcf:	48 89 58 08          	mov    %rbx,0x8(%rax)
140021bd3:	48 89 70 10          	mov    %rsi,0x10(%rax)
140021bd7:	57                   	push   %rdi
140021bd8:	48 83 ec 40          	sub    $0x40,%rsp
140021bdc:	41 8a d8             	mov    %r8b,%bl
140021bdf:	40 8a fa             	mov    %dl,%dil
140021be2:	40 8a f1             	mov    %cl,%sil
140021be5:	c6 40 20 00          	movb   $0x0,0x20(%rax)
140021be9:	48 8d 50 20          	lea    0x20(%rax),%rdx
140021bed:	48 8d 0d 14 c9 05 00 	lea    0x5c914(%rip),%rcx        # 0x14007e508
140021bf4:	e8 17 4f 03 00       	call   0x140056b10
140021bf9:	85 c0                	test   %eax,%eax
140021bfb:	78 0e                	js     0x140021c0b
140021bfd:	80 7c 24 68 00       	cmpb   $0x0,0x68(%rsp)
140021c02:	74 07                	je     0x140021c0b
140021c04:	33 c0                	xor    %eax,%eax
140021c06:	e9 c8 00 00 00       	jmp    0x140021cd3
140021c0b:	48 8b 0d 8e 56 0a 00 	mov    0xa568e(%rip),%rcx        # 0x1400c72a0
140021c12:	48 85 c9             	test   %rcx,%rcx
140021c15:	0f 85 a2 00 00 00    	jne    0x140021cbd
140021c1b:	b9 d0 16 00 00       	mov    $0x16d0,%ecx
140021c20:	e8 b7 3c 03 00       	call   0x1400558dc
140021c25:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140021c2a:	48 85 c0             	test   %rax,%rax
140021c2d:	74 09                	je     0x140021c38
140021c2f:	48 8b c8             	mov    %rax,%rcx
140021c32:	e8 e5 45 03 00       	call   0x14005621c
140021c37:	90                   	nop
140021c38:	48 89 05 61 56 0a 00 	mov    %rax,0xa5661(%rip)        # 0x1400c72a0
140021c3f:	48 85 c0             	test   %rax,%rax
140021c42:	75 0a                	jne    0x140021c4e
140021c44:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
140021c49:	e9 85 00 00 00       	jmp    0x140021cd3
140021c4e:	48 8d 15 b3 c8 05 00 	lea    0x5c8b3(%rip),%rdx        # 0x14007e508
140021c55:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140021c5a:	e8 e1 f5 ff ff       	call   0x140021240
140021c5f:	90                   	nop
140021c60:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
140021c65:	48 8d 05 a4 6c 05 00 	lea    0x56ca4(%rip),%rax        # 0x140078910
140021c6c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140021c71:	41 b9 4a 00 00 00    	mov    $0x4a,%r9d
140021c77:	4c 8d 05 72 64 09 00 	lea    0x96472(%rip),%r8        # 0x1400b80f0
140021c7e:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140021c83:	48 8b 0d 16 56 0a 00 	mov    0xa5616(%rip),%rcx        # 0x1400c72a0
140021c8a:	e8 4d 48 03 00       	call   0x1400564dc
140021c8f:	90                   	nop
140021c90:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140021c95:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140021c99:	83 c8 ff             	or     $0xffffffff,%eax
140021c9c:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140021ca1:	83 e8 01             	sub    $0x1,%eax
140021ca4:	7f 10                	jg     0x140021cb6
140021ca6:	48 8b 0a             	mov    (%rdx),%rcx