1400179d0:	4c 8b 51 38          	mov    0x38(%rcx),%r10
1400179d4:	4c 8b c1             	mov    %rcx,%r8
1400179d7:	4d 8b 0a             	mov    (%r10),%r9
1400179da:	4d 85 c9             	test   %r9,%r9
1400179dd:	74 5a                	je     0x140017a39
1400179df:	48 8b 51 50          	mov    0x50(%rcx),%rdx
1400179e3:	48 63 0a             	movslq (%rdx),%rcx
1400179e6:	49 8d 14 49          	lea    (%r9,%rcx,2),%rdx
1400179ea:	4c 3b ca             	cmp    %rdx,%r9
1400179ed:	73 08                	jae    0x1400179f7
1400179ef:	0f ae e8             	lfence
1400179f2:	41 0f b7 01          	movzwl (%r9),%eax
1400179f6:	c3                   	ret
1400179f7:	49 8b 40 40          	mov    0x40(%r8),%rax
1400179fb:	48 83 38 00          	cmpq   $0x0,(%rax)
1400179ff:	74 38                	je     0x140017a39
140017a01:	41 f6 40 70 04       	testb  $0x4,0x70(%r8)
140017a06:	75 31                	jne    0x140017a39
140017a08:	49 8b 50 68          	mov    0x68(%r8),%rdx
140017a0c:	48 3b 10             	cmp    (%rax),%rdx
140017a0f:	48 0f 42 10          	cmovb  (%rax),%rdx
140017a13:	49 3b d1             	cmp    %r9,%rdx
140017a16:	76 21                	jbe    0x140017a39
140017a18:	49 89 50 68          	mov    %rdx,0x68(%r8)
140017a1c:	49 8b 0a             	mov    (%r10),%rcx
140017a1f:	49 89 0a             	mov    %rcx,(%r10)
140017a22:	48 2b d1             	sub    %rcx,%rdx
140017a25:	49 8b 40 50          	mov    0x50(%r8),%rax
140017a29:	48 d1 fa             	sar    $1,%rdx
140017a2c:	89 10                	mov    %edx,(%rax)
140017a2e:	49 8b 40 38          	mov    0x38(%r8),%rax
140017a32:	48 8b 00             	mov    (%rax),%rax
140017a35:	0f b7 00             	movzwl (%rax),%eax
140017a38:	c3                   	ret
140017a39:	b8 ff ff 00 00       	mov    $0xffff,%eax
140017a3e:	c3                   	ret
140017a3f:	90                   	nop
140017a40:	48 8b 41 38          	mov    0x38(%rcx),%rax
140017a44:	45 33 d2             	xor    %r10d,%r10d
140017a47:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
140017a4d:	4c 8b 00             	mov    (%rax),%r8
140017a50:	4d 85 c0             	test   %r8,%r8
140017a53:	74 43                	je     0x140017a98
140017a55:	48 8b 41 18          	mov    0x18(%rcx),%rax
140017a59:	4c 3b 00             	cmp    (%rax),%r8
140017a5c:	76 3a                	jbe    0x140017a98
140017a5e:	66 44 3b ca          	cmp    %dx,%r9w
140017a62:	74 0d                	je     0x140017a71
140017a64:	66 41 3b 50 fe       	cmp    -0x2(%r8),%dx
140017a69:	74 06                	je     0x140017a71
140017a6b:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
140017a6f:	75 27                	jne    0x140017a98
140017a71:	48 8b 41 50          	mov    0x50(%rcx),%rax
140017a75:	ff 00                	incl   (%rax)
140017a77:	48 8b 41 38          	mov    0x38(%rcx),%rax
140017a7b:	48 83 00 fe          	addq   $0xfffffffffffffffe,(%rax)
140017a7f:	66 44 3b ca          	cmp    %dx,%r9w
140017a83:	74 0a                	je     0x140017a8f
140017a85:	48 8b 41 38          	mov    0x38(%rcx),%rax
140017a89:	48 8b 08             	mov    (%rax),%rcx
140017a8c:	66 89 11             	mov    %dx,(%rcx)
140017a8f:	66 41 0f 44 d2       	cmove  %r10w,%dx
140017a94:	0f b7 c2             	movzwl %dx,%eax
140017a97:	c3                   	ret
140017a98:	41 0f b7 c1          	movzwl %r9w,%eax
140017a9c:	c3                   	ret
140017a9d:	90                   	nop
140017a9e:	90                   	nop
140017a9f:	90                   	nop
140017aa0:	48 8b c4             	mov    %rsp,%rax
140017aa3:	48 89 58 08          	mov    %rbx,0x8(%rax)
140017aa7:	48 89 68 10          	mov    %rbp,0x10(%rax)
140017aab:	48 89 70 18          	mov    %rsi,0x18(%rax)
140017aaf:	48 89 78 20          	mov    %rdi,0x20(%rax)
140017ab3:	41 54                	push   %r12
140017ab5:	41 56                	push   %r14
140017ab7:	41 57                	push   %r15
140017ab9:	48 83 ec 20          	sub    $0x20,%rsp
140017abd:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
140017ac1:	44 0f b7 e2          	movzwl %dx,%r12d
140017ac5:	48 8b d9             	mov    %rcx,%rbx
140017ac8:	41 ba ff ff 00 00    	mov    $0xffff,%r10d
140017ace:	0f 85 c6 01 00 00    	jne    0x140017c9a
140017ad4:	33 f6                	xor    %esi,%esi
140017ad6:	66 44 3b d2          	cmp    %dx,%r10w
140017ada:	75 08                	jne    0x140017ae4
140017adc:	0f b7 c6             	movzwl %si,%eax
140017adf:	e9 ba 01 00 00       	jmp    0x140017c9e
140017ae4:	48 8b 41 40          	mov    0x40(%rcx),%rax
140017ae8:	48 8b 51 58          	mov    0x58(%rcx),%rdx
140017aec:	4c 8b 00             	mov    (%rax),%r8
140017aef:	4c 63 0a             	movslq (%rdx),%r9
140017af2:	4b 8d 0c 48          	lea    (%r8,%r9,2),%rcx
140017af6:	4d 85 c0             	test   %r8,%r8
140017af9:	74 2e                	je     0x140017b29
140017afb:	4c 3b c1             	cmp    %rcx,%r8
140017afe:	73 29                	jae    0x140017b29
140017b00:	41 8d 41 ff          	lea    -0x1(%r9),%eax
140017b04:	89 02                	mov    %eax,(%rdx)
140017b06:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140017b0a:	48 8b 11             	mov    (%rcx),%rdx
140017b0d:	48 8d 42 02          	lea    0x2(%rdx),%rax
140017b11:	48 89 01             	mov    %rax,(%rcx)
140017b14:	49 8d 40 02          	lea    0x2(%r8),%rax
140017b18:	66 44 89 22          	mov    %r12w,(%rdx)
140017b1c:	48 89 43 68          	mov    %rax,0x68(%rbx)
140017b20:	41 0f b7 c4          	movzwl %r12w,%eax
140017b24:	e9 75 01 00 00       	jmp    0x140017c9e
140017b29:	48 8b 43 18          	mov    0x18(%rbx),%rax
140017b2d:	48 8b fe             	mov    %rsi,%rdi
140017b30:	48 8b 28             	mov    (%rax),%rbp
140017b33:	4d 85 c0             	test   %r8,%r8
140017b36:	74 09                	je     0x140017b41
140017b38:	48 8b f9             	mov    %rcx,%rdi
140017b3b:	48 2b fd             	sub    %rbp,%rdi
140017b3e:	48 d1 ff             	sar    $1,%rdi
140017b41:	b8 20 00 00 00       	mov    $0x20,%eax
140017b46:	48 3b f8             	cmp    %rax,%rdi
140017b49:	72 1d                	jb     0x140017b68
140017b4b:	48 81 ff ff ff ff 3f 	cmp    $0x3fffffff,%rdi
140017b52:	73 06                	jae    0x140017b5a
140017b54:	48 8d 04 3f          	lea    (%rdi,%rdi,1),%rax
140017b58:	eb 0e                	jmp    0x140017b68
140017b5a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140017b5f:	48 3b f8             	cmp    %rax,%rdi
140017b62:	0f 83 32 01 00 00    	jae    0x140017c9a
140017b68:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
140017b6f:	ff ff 7f
140017b72:	48 3b c1             	cmp    %rcx,%rax
140017b75:	0f 87 42 01 00 00    	ja     0x140017cbd
140017b7b:	4c 8d 3c 00          	lea    (%rax,%rax,1),%r15
140017b7f:	4d 85 ff             	test   %r15,%r15
140017b82:	75 5d                	jne    0x140017be1
140017b84:	4c 8b f6             	mov    %rsi,%r14
140017b87:	0f ae e8             	lfence
140017b8a:	48 03 ff             	add    %rdi,%rdi
140017b8d:	48 8b d5             	mov    %rbp,%rdx
140017b90:	4c 8b c7             	mov    %rdi,%r8
140017b93:	49 8b ce             	mov    %r14,%rcx
140017b96:	e8 55 de 1e 00       	call   0x1402059f0
140017b9b:	49 8d 0c 3e          	lea    (%r14,%rdi,1),%rcx
140017b9f:	4c 2b f9             	sub    %rcx,%r15
140017ba2:	48 8d 41 02          	lea    0x2(%rcx),%rax
140017ba6:	48 89 43 68          	mov    %rax,0x68(%rbx)
140017baa:	4d 03 fe             	add    %r14,%r15
140017bad:	48 8b 43 20          	mov    0x20(%rbx),%rax
140017bb1:	49 d1 ff             	sar    $1,%r15
140017bb4:	4c 89 30             	mov    %r14,(%rax)
140017bb7:	48 8b 43 40          	mov    0x40(%rbx),%rax
140017bbb:	48 89 08             	mov    %rcx,(%rax)
140017bbe:	48 8b 43 58          	mov    0x58(%rbx),%rax
140017bc2:	44 89 38             	mov    %r15d,(%rax)
140017bc5:	f6 43 70 04          	testb  $0x4,0x70(%rbx)
140017bc9:	74 48                	je     0x140017c13
140017bcb:	48 8b 43 18          	mov    0x18(%rbx),%rax
140017bcf:	4c 89 30             	mov    %r14,(%rax)
140017bd2:	48 8b 43 38          	mov    0x38(%rbx),%rax
140017bd6:	4c 89 30             	mov    %r14,(%rax)
140017bd9:	48 8b 43 50          	mov    0x50(%rbx),%rax
140017bdd:	89 30                	mov    %esi,(%rax)
140017bdf:	eb 62                	jmp    0x140017c43
140017be1:	0f ae e8             	lfence
140017be4:	49 8b cf             	mov    %r15,%rcx
140017be7:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
140017bee:	72 0a                	jb     0x140017bfa
140017bf0:	e8 5f dc fe ff       	call   0x140005854
140017bf5:	4c 8b f0             	mov    %rax,%r14
140017bf8:	eb 8d                	jmp    0x140017b87
140017bfa:	ff 15 50 af 1f 00    	call   *0x1faf50(%rip)        # 0x140212b50
140017c00:	4c 8b f0             	mov    %rax,%r14
140017c03:	48 85 c0             	test   %rax,%rax
140017c06:	0f 85 7b ff ff ff    	jne    0x140017b87
140017c0c:	ff 15 1e af 1f 00    	call   *0x1faf1e(%rip)        # 0x140212b30
140017c12:	cc                   	int3
140017c13:	48 8b 43 38          	mov    0x38(%rbx),%rax
140017c17:	4c 8b 43 68          	mov    0x68(%rbx),%r8
140017c1b:	48 8b 08             	mov    (%rax),%rcx
140017c1e:	48 8b 43 18          	mov    0x18(%rbx),%rax
140017c22:	48 2b cd             	sub    %rbp,%rcx
140017c25:	48 d1 f9             	sar    $1,%rcx
140017c28:	4c 89 30             	mov    %r14,(%rax)
140017c2b:	48 8b 43 38          	mov    0x38(%rbx),%rax
140017c2f:	49 8d 14 4e          	lea    (%r14,%rcx,2),%rdx
140017c33:	4c 2b c2             	sub    %rdx,%r8
140017c36:	49 d1 f8             	sar    $1,%r8
140017c39:	48 89 10             	mov    %rdx,(%rax)
140017c3c:	48 8b 43 50          	mov    0x50(%rbx),%rax
140017c40:	44 89 00             	mov    %r8d,(%rax)
140017c43:	f6 43 70 01          	testb  $0x1,0x70(%rbx)
140017c47:	74 29                	je     0x140017c72
140017c49:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
140017c50:	72 14                	jb     0x140017c66
140017c52:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140017c56:	48 2b e9             	sub    %rcx,%rbp
140017c59:	48 8d 45 f8          	lea    -0x8(%rbp),%rax
140017c5d:	48 83 f8 1f          	cmp    $0x1f,%rax
140017c61:	77 30                	ja     0x140017c93
140017c63:	48 8b e9             	mov    %rcx,%rbp
140017c66:	0f ae e8             	lfence
140017c69:	48 8b cd             	mov    %rbp,%rcx
140017c6c:	ff 15 ce ae 1f 00    	call   *0x1faece(%rip)        # 0x140212b40
140017c72:	48 8b 43 58          	mov    0x58(%rbx),%rax
140017c76:	83 4b 70 01          	orl    $0x1,0x70(%rbx)
140017c7a:	ff 08                	decl   (%rax)
140017c7c:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140017c80:	48 8b 11             	mov    (%rcx),%rdx
140017c83:	48 8d 42 02          	lea    0x2(%rdx),%rax
140017c87:	48 89 01             	mov    %rax,(%rcx)
140017c8a:	66 44 89 22          	mov    %r12w,(%rdx)
140017c8e:	e9 8d fe ff ff       	jmp    0x140017b20
140017c93:	ff 15 e7 ae 1f 00    	call   *0x1faee7(%rip)        # 0x140212b80
140017c99:	cc                   	int3
140017c9a:	41 0f b7 c2          	movzwl %r10w,%eax
140017c9e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140017ca3:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140017ca8:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140017cad:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140017cb2:	48 83 c4 20          	add    $0x20,%rsp
140017cb6:	41 5f                	pop    %r15
140017cb8:	41 5e                	pop    %r14
140017cba:	41 5c                	pop    %r12
140017cbc:	c3                   	ret
140017cbd:	e8 aa dc fe ff       	call   0x14000596c
140017cc2:	cc                   	int3
140017cc3:	90                   	nop
140017cc4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140017cc9:	57                   	push   %rdi
140017cca:	48 83 ec 20          	sub    $0x20,%rsp
140017cce:	48 8b 81 68 ff ff ff 	mov    -0x98(%rcx),%rax
140017cd5:	48 8d 59 80          	lea    -0x80(%rcx),%rbx
140017cd9:	48 8b f9             	mov    %rcx,%rdi
140017cdc:	48 63 50 04          	movslq 0x4(%rax),%rdx
140017ce0:	48 8d 05 e1 ef 21 00 	lea    0x21efe1(%rip),%rax        # 0x140236cc8
140017ce7:	48 89 84 0a 68 ff ff 	mov    %rax,-0x98(%rdx,%rcx,1)
140017cee:	ff
140017cef:	48 8b 81 68 ff ff ff 	mov    -0x98(%rcx),%rax
140017cf6:	48 63 50 04          	movslq 0x4(%rax),%rdx
140017cfa:	48 8d 05 1f ed 22 00 	lea    0x22ed1f(%rip),%rax        # 0x140246a20
140017d01:	44 8d 82 68 ff ff ff 	lea    -0x98(%rdx),%r8d
140017d08:	44 89 84 0a 64 ff ff 	mov    %r8d,-0x9c(%rdx,%rcx,1)
140017d0f:	ff
140017d10:	48 8b cb             	mov    %rbx,%rcx
140017d13:	48 89 03             	mov    %rax,(%rbx)
140017d16:	e8 69 01 00 00       	call   0x140017e84
140017d1b:	48 8b cb             	mov    %rbx,%rcx
140017d1e:	ff 15 ec aa 1f 00    	call   *0x1faaec(%rip)        # 0x140212810
140017d24:	48 8d 4f 88          	lea    -0x78(%rdi),%rcx
140017d28:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140017d2d:	48 83 c4 20          	add    $0x20,%rsp
140017d31:	5f                   	pop    %rdi
140017d32:	48 ff 25 df aa 1f 00 	rex.W jmp *0x1faadf(%rip)        # 0x140212818
140017d39:	cc                   	int3
140017d3a:	90                   	nop
140017d3b:	90                   	nop
140017d3c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140017d41:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140017d46:	57                   	push   %rdi
140017d47:	48 83 ec 20          	sub    $0x20,%rsp
140017d4b:	48 8b f9             	mov    %rcx,%rdi
140017d4e:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140017d53:	85 d2                	test   %edx,%edx
140017d55:	74 2a                	je     0x140017d81
140017d57:	48 8d 05 02 fb 22 00 	lea    0x22fb02(%rip),%rax        # 0x140247860
140017d5e:	48 89 01             	mov    %rax,(%rcx)
140017d61:	48 8d 05 f0 fa 22 00 	lea    0x22faf0(%rip),%rax        # 0x140247858
140017d68:	48 89 41 10          	mov    %rax,0x10(%rcx)
140017d6c:	48 81 c1 98 00 00 00 	add    $0x98,%rcx
140017d73:	ff 15 37 ab 1f 00    	call   *0x1fab37(%rip)        # 0x1402128b0
140017d79:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140017d80:	00
140017d81:	48 8d 5f 18          	lea    0x18(%rdi),%rbx
140017d85:	45 33 c0             	xor    %r8d,%r8d
140017d88:	48 8b d3             	mov    %rbx,%rdx
140017d8b:	48 8b cf             	mov    %rdi,%rcx
140017d8e:	ff 15 24 ab 1f 00    	call   *0x1fab24(%rip)        # 0x1402128b8
140017d94:	48 8b 07             	mov    (%rdi),%rax
140017d97:	48 63 48 04          	movslq 0x4(%rax),%rcx
140017d9b:	48 8d 05 26 ef 21 00 	lea    0x21ef26(%rip),%rax        # 0x140236cc8
140017da2:	48 89 04 39          	mov    %rax,(%rcx,%rdi,1)
140017da6:	48 8b 07             	mov    (%rdi),%rax
140017da9:	48 63 48 04          	movslq 0x4(%rax),%rcx
140017dad:	8d 91 68 ff ff ff    	lea    -0x98(%rcx),%edx
140017db3:	89 54 39 fc          	mov    %edx,-0x4(%rcx,%rdi,1)
140017db7:	48 8b cb             	mov    %rbx,%rcx
140017dba:	ff 15 d8 aa 1f 00    	call   *0x1faad8(%rip)        # 0x140212898
140017dc0:	48 8d 05 59 ec 22 00 	lea    0x22ec59(%rip),%rax        # 0x140246a20
140017dc7:	48 89 03             	mov    %rax,(%rbx)
140017dca:	48 83 63 68 00       	andq   $0x0,0x68(%rbx)
140017dcf:	83 63 70 00          	andl   $0x0,0x70(%rbx)
140017dd3:	48 8b c7             	mov    %rdi,%rax
140017dd6:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140017ddb:	48 83 c4 20          	add    $0x20,%rsp
140017ddf:	5f                   	pop    %rdi
140017de0:	c3                   	ret
140017de1:	90                   	nop
140017de2:	90                   	nop
140017de3:	90                   	nop
140017de4:	90                   	nop
140017de5:	90                   	nop
140017de6:	90                   	nop
140017de7:	90                   	nop
140017de8:	90                   	nop
140017de9:	90                   	nop
140017dea:	90                   	nop
140017deb:	90                   	nop
140017dec:	90                   	nop
140017ded:	90                   	nop
140017dee:	90                   	nop
140017def:	90                   	nop
140017df0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140017df5:	57                   	push   %rdi
140017df6:	48 83 ec 20          	sub    $0x20,%rsp
140017dfa:	48 8d 05 1f ec 22 00 	lea    0x22ec1f(%rip),%rax        # 0x140246a20
140017e01:	8b da                	mov    %edx,%ebx
140017e03:	48 89 01             	mov    %rax,(%rcx)
140017e06:	48 8b f9             	mov    %rcx,%rdi
140017e09:	e8 76 00 00 00       	call   0x140017e84
140017e0e:	48 8b cf             	mov    %rdi,%rcx
140017e11:	ff 15 f9 a9 1f 00    	call   *0x1fa9f9(%rip)        # 0x140212810
140017e17:	f6 c3 01             	test   $0x1,%bl
140017e1a:	74 09                	je     0x140017e25
140017e1c:	48 8b cf             	mov    %rdi,%rcx
140017e1f:	ff 15 1b ad 1f 00    	call   *0x1fad1b(%rip)        # 0x140212b40
140017e25:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140017e2a:	48 8b c7             	mov    %rdi,%rax
140017e2d:	48 83 c4 20          	add    $0x20,%rsp
140017e31:	5f                   	pop    %rdi
140017e32:	c3                   	ret
140017e33:	90                   	nop
140017e34:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140017e39:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140017e3e:	57                   	push   %rdi
140017e3f:	48 83 ec 20          	sub    $0x20,%rsp
140017e43:	8b fa                	mov    %edx,%edi
140017e45:	48 8d b1 68 ff ff ff 	lea    -0x98(%rcx),%rsi
140017e4c:	48 8b d9             	mov    %rcx,%rbx
140017e4f:	e8 70 fe ff ff       	call   0x140017cc4
140017e54:	48 8b cb             	mov    %rbx,%rcx
140017e57:	ff 15 ab a9 1f 00    	call   *0x1fa9ab(%rip)        # 0x140212808
140017e5d:	40 f6 c7 01          	test   $0x1,%dil
140017e61:	74 0e                	je     0x140017e71
140017e63:	48 85 f6             	test   %rsi,%rsi
140017e66:	74 09                	je     0x140017e71
140017e68:	48 8b ce             	mov    %rsi,%rcx
140017e6b:	ff 15 cf ac 1f 00    	call   *0x1faccf(%rip)        # 0x140212b40
140017e71:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140017e76:	48 8b c6             	mov    %rsi,%rax
140017e79:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140017e7e:	48 83 c4 20          	add    $0x20,%rsp
140017e82:	5f                   	pop    %rdi