140967998:	0f 85 9b 01 00 00    	jne    0x140967b39
14096799e:	45 33 ed             	xor    %r13d,%r13d
1409679a1:	66 44 3b ca          	cmp    %dx,%r9w
1409679a5:	75 09                	jne    0x1409679b0
1409679a7:	41 0f b7 c5          	movzwl %r13w,%eax
1409679ab:	e9 8d 01 00 00       	jmp    0x140967b3d
1409679b0:	48 8b 41 40          	mov    0x40(%rcx),%rax
1409679b4:	48 8b 49 58          	mov    0x58(%rcx),%rcx
1409679b8:	4c 8b 00             	mov    (%rax),%r8
1409679bb:	48 63 11             	movslq (%rcx),%rdx
1409679be:	4d 8d 34 50          	lea    (%r8,%rdx,2),%r14
1409679c2:	4d 85 c0             	test   %r8,%r8
1409679c5:	74 7a                	je     0x140967a41
1409679c7:	4d 3b c6             	cmp    %r14,%r8
1409679ca:	73 28                	jae    0x1409679f4
1409679cc:	8d 42 ff             	lea    -0x1(%rdx),%eax
1409679cf:	89 01                	mov    %eax,(%rcx)
1409679d1:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1409679d5:	48 8b 11             	mov    (%rcx),%rdx
1409679d8:	48 8d 42 02          	lea    0x2(%rdx),%rax
1409679dc:	48 89 01             	mov    %rax,(%rcx)
1409679df:	49 8d 40 02          	lea    0x2(%r8),%rax
1409679e3:	66 44 89 22          	mov    %r12w,(%rdx)
1409679e7:	48 89 46 68          	mov    %rax,0x68(%rsi)
1409679eb:	41 0f b7 c4          	movzwl %r12w,%eax
1409679ef:	e9 49 01 00 00       	jmp    0x140967b3d
1409679f4:	48 8b 46 18          	mov    0x18(%rsi),%rax
1409679f8:	4c 8d 7e 18          	lea    0x18(%rsi),%r15
1409679fc:	48 8b 28             	mov    (%rax),%rbp
1409679ff:	4c 2b f5             	sub    %rbp,%r14
140967a02:	49 d1 fe             	sar    $1,%r14
140967a05:	49 83 fe 20          	cmp    $0x20,%r14
140967a09:	72 44                	jb     0x140967a4f
140967a0b:	49 81 fe ff ff ff 3f 	cmp    $0x3fffffff,%r14
140967a12:	73 19                	jae    0x140967a2d
140967a14:	4b 8d 3c 36          	lea    (%r14,%r14,1),%rdi
140967a18:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140967a1f:	ff ff 7f
140967a22:	48 3b f8             	cmp    %rax,%rdi
140967a25:	0f 87 2a 01 00 00    	ja     0x140967b55
140967a2b:	eb 27                	jmp    0x140967a54
140967a2d:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
140967a32:	4c 3b f7             	cmp    %rdi,%r14
140967a35:	0f 83 fe 00 00 00    	jae    0x140967b39
140967a3b:	4c 8d 7e 18          	lea    0x18(%rsi),%r15
140967a3f:	eb 13                	jmp    0x140967a54
140967a41:	48 8b 46 18          	mov    0x18(%rsi),%rax
140967a45:	4c 8d 7e 18          	lea    0x18(%rsi),%r15
140967a49:	4d 8b f5             	mov    %r13,%r14
140967a4c:	48 8b 28             	mov    (%rax),%rbp
140967a4f:	bf 20 00 00 00       	mov    $0x20,%edi
140967a54:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
140967a59:	0f ae e8             	lfence
140967a5c:	48 03 ff             	add    %rdi,%rdi
140967a5f:	48 8b cf             	mov    %rdi,%rcx
140967a62:	e8 c9 f2 82 ff       	call   0x140196d30
140967a67:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140967a6c:	0f ae e8             	lfence
140967a6f:	4b 8d 1c 36          	lea    (%r14,%r14,1),%rbx
140967a73:	48 8b d5             	mov    %rbp,%rdx
140967a76:	4c 8b c3             	mov    %rbx,%r8
140967a79:	48 8b c8             	mov    %rax,%rcx
140967a7c:	e8 8f 75 57 00       	call   0x140edf010
140967a81:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140967a86:	4a 8d 14 03          	lea    (%rbx,%r8,1),%rdx
140967a8a:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140967a8f:	48 2b fa             	sub    %rdx,%rdi
140967a92:	48 8d 4a 02          	lea    0x2(%rdx),%rcx
140967a96:	48 89 4e 68          	mov    %rcx,0x68(%rsi)
140967a9a:	49 03 f8             	add    %r8,%rdi
140967a9d:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
140967aa1:	48 d1 ff             	sar    $1,%rdi
140967aa4:	4c 89 01             	mov    %r8,(%rcx)
140967aa7:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
140967aab:	48 89 11             	mov    %rdx,(%rcx)
140967aae:	48 8b 46 58          	mov    0x58(%rsi),%rax
140967ab2:	89 38                	mov    %edi,(%rax)
140967ab4:	f6 46 70 04          	testb  $0x4,0x70(%rsi)
140967ab8:	74 16                	je     0x140967ad0
140967aba:	49 8b 07             	mov    (%r15),%rax
140967abd:	4c 89 00             	mov    %r8,(%rax)
140967ac0:	48 8b 46 38          	mov    0x38(%rsi),%rax
140967ac4:	4c 89 00             	mov    %r8,(%rax)
140967ac7:	48 8b 46 50          	mov    0x50(%rsi),%rax
140967acb:	44 89 28             	mov    %r13d,(%rax)
140967ace:	eb 2f                	jmp    0x140967aff
140967ad0:	48 8b 46 38          	mov    0x38(%rsi),%rax
140967ad4:	4c 8b 56 68          	mov    0x68(%rsi),%r10
140967ad8:	48 8b 08             	mov    (%rax),%rcx
140967adb:	49 8b 07             	mov    (%r15),%rax
140967ade:	48 2b cd             	sub    %rbp,%rcx
140967ae1:	48 d1 f9             	sar    $1,%rcx
140967ae4:	4c 89 00             	mov    %r8,(%rax)
140967ae7:	48 8b 46 38          	mov    0x38(%rsi),%rax
140967aeb:	4d 8d 0c 48          	lea    (%r8,%rcx,2),%r9
140967aef:	4d 2b d1             	sub    %r9,%r10
140967af2:	49 d1 fa             	sar    $1,%r10
140967af5:	4c 89 08             	mov    %r9,(%rax)
140967af8:	48 8b 46 50          	mov    0x50(%rsi),%rax
140967afc:	44 89 10             	mov    %r10d,(%rax)
140967aff:	f6 46 70 01          	testb  $0x1,0x70(%rsi)
140967b03:	74 12                	je     0x140967b17
140967b05:	0f ae e8             	lfence
140967b08:	48 8d 4e 74          	lea    0x74(%rsi),%rcx
140967b0c:	4d 8b c6             	mov    %r14,%r8
140967b0f:	48 8b d5             	mov    %rbp,%rdx
140967b12:	e8 89 5e 83 ff       	call   0x14019d9a0
140967b17:	48 8b 46 58          	mov    0x58(%rsi),%rax
140967b1b:	83 4e 70 01          	orl    $0x1,0x70(%rsi)
140967b1f:	ff 08                	decl   (%rax)
140967b21:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
140967b25:	48 8b 11             	mov    (%rcx),%rdx
140967b28:	48 8d 42 02          	lea    0x2(%rdx),%rax
140967b2c:	48 89 01             	mov    %rax,(%rcx)
140967b2f:	41 0f b7 c4          	movzwl %r12w,%eax
140967b33:	66 44 89 22          	mov    %r12w,(%rdx)
140967b37:	eb 04                	jmp    0x140967b3d
140967b39:	41 0f b7 c1          	movzwl %r9w,%eax
140967b3d:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140967b42:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140967b47:	48 83 c4 20          	add    $0x20,%rsp
140967b4b:	41 5f                	pop    %r15
140967b4d:	41 5e                	pop    %r14
140967b4f:	41 5d                	pop    %r13
140967b51:	41 5c                	pop    %r12
140967b53:	5f                   	pop    %rdi
140967b54:	c3                   	ret
140967b55:	e8 36 56 83 ff       	call   0x14019d190
140967b5a:	cc                   	int3
140967b5b:	cc                   	int3
140967b5c:	cc                   	int3
140967b5d:	cc                   	int3
140967b5e:	cc                   	int3
140967b5f:	cc                   	int3
140967b60:	48 8b 41 38          	mov    0x38(%rcx),%rax
140967b64:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
140967b6a:	4c 8b 00             	mov    (%rax),%r8
140967b6d:	4d 85 c0             	test   %r8,%r8
140967b70:	74 48                	je     0x140967bba
140967b72:	48 8b 41 18          	mov    0x18(%rcx),%rax
140967b76:	4c 3b 00             	cmp    (%rax),%r8
140967b79:	76 3f                	jbe    0x140967bba
140967b7b:	66 44 3b ca          	cmp    %dx,%r9w
140967b7f:	74 0d                	je     0x140967b8e
140967b81:	66 41 3b 50 fe       	cmp    -0x2(%r8),%dx
140967b86:	74 06                	je     0x140967b8e
140967b88:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
140967b8c:	75 2c                	jne    0x140967bba
140967b8e:	48 8b 41 50          	mov    0x50(%rcx),%rax
140967b92:	ff 00                	incl   (%rax)
140967b94:	48 8b 41 38          	mov    0x38(%rcx),%rax
140967b98:	48 83 00 fe          	addq   $0xfffffffffffffffe,(%rax)
140967b9c:	66 44 3b ca          	cmp    %dx,%r9w
140967ba0:	74 0a                	je     0x140967bac
140967ba2:	48 8b 41 38          	mov    0x38(%rcx),%rax
140967ba6:	48 8b 08             	mov    (%rax),%rcx
140967ba9:	66 89 11             	mov    %dx,(%rcx)
140967bac:	33 c0                	xor    %eax,%eax
140967bae:	66 41 3b d1          	cmp    %r9w,%dx
140967bb2:	66 0f 44 d0          	cmove  %ax,%dx
140967bb6:	0f b7 c2             	movzwl %dx,%eax
140967bb9:	c3                   	ret
140967bba:	41 0f b7 c1          	movzwl %r9w,%eax
140967bbe:	c3                   	ret
140967bbf:	cc                   	int3
140967bc0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140967bc5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140967bca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140967bcf:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140967bd4:	8b 7c 24 28          	mov    0x28(%rsp),%edi
140967bd8:	41 8b f1             	mov    %r9d,%esi
140967bdb:	49 8b e8             	mov    %r8,%rbp
140967bde:	4c 8b da             	mov    %rdx,%r11
140967be1:	48 8b d9             	mov    %rcx,%rbx
140967be4:	40 f6 c7 01          	test   $0x1,%dil
140967be8:	74 0a                	je     0x140967bf4
140967bea:	f6 41 70 04          	testb  $0x4,0x70(%rcx)
140967bee:	74 04                	je     0x140967bf4
140967bf0:	b1 01                	mov    $0x1,%cl
140967bf2:	eb 02                	jmp    0x140967bf6
140967bf4:	32 c9                	xor    %cl,%cl
140967bf6:	40 f6 c7 02          	test   $0x2,%dil
140967bfa:	74 0a                	je     0x140967c06
140967bfc:	f6 43 70 02          	testb  $0x2,0x70(%rbx)
140967c00:	74 04                	je     0x140967c06
140967c02:	b0 01                	mov    $0x1,%al
140967c04:	eb 02                	jmp    0x140967c08
140967c06:	32 c0                	xor    %al,%al
140967c08:	84 c9                	test   %cl,%cl
140967c0a:	0f 85 3a 01 00 00    	jne    0x140967d4a
140967c10:	84 c0                	test   %al,%al
140967c12:	0f 85 32 01 00 00    	jne    0x140967d4a
140967c18:	f6 43 70 02          	testb  $0x2,0x70(%rbx)
140967c1c:	48 8b 43 38          	mov    0x38(%rbx),%rax
140967c20:	4c 8b 00             	mov    (%rax),%r8
140967c23:	74 04                	je     0x140967c29
140967c25:	33 d2                	xor    %edx,%edx
140967c27:	eb 16                	jmp    0x140967c3f
140967c29:	48 8b 43 40          	mov    0x40(%rbx),%rax
140967c2d:	48 8b 10             	mov    (%rax),%rdx
140967c30:	48 85 d2             	test   %rdx,%rdx
140967c33:	74 0a                	je     0x140967c3f
140967c35:	48 39 53 68          	cmp    %rdx,0x68(%rbx)
140967c39:	73 04                	jae    0x140967c3f
140967c3b:	48 89 53 68          	mov    %rdx,0x68(%rbx)
140967c3f:	48 8b 43 18          	mov    0x18(%rbx),%rax
140967c43:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
140967c47:	4c 8b 08             	mov    (%rax),%r9
140967c4a:	49 2b c9             	sub    %r9,%rcx
140967c4d:	48 d1 f9             	sar    $1,%rcx
140967c50:	85 f6                	test   %esi,%esi
140967c52:	74 62                	je     0x140967cb6
140967c54:	83 ee 01             	sub    $0x1,%esi
140967c57:	74 0e                	je     0x140967c67
140967c59:	83 fe 01             	cmp    $0x1,%esi
140967c5c:	0f 85 e8 00 00 00    	jne    0x140967d4a
140967c62:	48 8b c1             	mov    %rcx,%rax
140967c65:	eb 51                	jmp    0x140967cb8
140967c67:	8b c7                	mov    %edi,%eax
140967c69:	83 e0 03             	and    $0x3,%eax
140967c6c:	3c 03                	cmp    $0x3,%al
140967c6e:	0f 84 d6 00 00 00    	je     0x140967d4a
140967c74:	40 f6 c7 01          	test   $0x1,%dil
140967c78:	74 19                	je     0x140967c93
140967c7a:	4d 85 c0             	test   %r8,%r8
140967c7d:	75 09                	jne    0x140967c88
140967c7f:	4d 85 c9             	test   %r9,%r9
140967c82:	0f 85 c2 00 00 00    	jne    0x140967d4a
140967c88:	49 8b c0             	mov    %r8,%rax
140967c8b:	49 2b c1             	sub    %r9,%rax
140967c8e:	48 d1 f8             	sar    $1,%rax
140967c91:	eb 25                	jmp    0x140967cb8
140967c93:	40 f6 c7 02          	test   $0x2,%dil
140967c97:	0f 84 ad 00 00 00    	je     0x140967d4a
140967c9d:	48 85 d2             	test   %rdx,%rdx
140967ca0:	75 09                	jne    0x140967cab
140967ca2:	4d 85 c9             	test   %r9,%r9
140967ca5:	0f 85 9f 00 00 00    	jne    0x140967d4a
140967cab:	48 8b c2             	mov    %rdx,%rax
140967cae:	49 2b c1             	sub    %r9,%rax
140967cb1:	48 d1 f8             	sar    $1,%rax
140967cb4:	eb 02                	jmp    0x140967cb8
140967cb6:	33 c0                	xor    %eax,%eax
140967cb8:	4c 8d 14 28          	lea    (%rax,%rbp,1),%r10
140967cbc:	4c 3b d1             	cmp    %rcx,%r10
140967cbf:	0f 87 85 00 00 00    	ja     0x140967d4a
140967cc5:	4d 85 d2             	test   %r10,%r10
140967cc8:	74 16                	je     0x140967ce0
140967cca:	40 f6 c7 01          	test   $0x1,%dil
140967cce:	74 05                	je     0x140967cd5
140967cd0:	4d 85 c0             	test   %r8,%r8
140967cd3:	74 75                	je     0x140967d4a
140967cd5:	40 f6 c7 02          	test   $0x2,%dil
140967cd9:	74 05                	je     0x140967ce0
140967cdb:	48 85 d2             	test   %rdx,%rdx
140967cde:	74 6a                	je     0x140967d4a
140967ce0:	4b 8d 34 51          	lea    (%r9,%r10,2),%rsi
140967ce4:	40 f6 c7 01          	test   $0x1,%dil
140967ce8:	74 23                	je     0x140967d0d
140967cea:	4d 85 c0             	test   %r8,%r8
140967ced:	74 1e                	je     0x140967d0d
140967cef:	48 8b 43 18          	mov    0x18(%rbx),%rax
140967cf3:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
140967cf7:	48 2b ce             	sub    %rsi,%rcx
140967cfa:	48 d1 f9             	sar    $1,%rcx
140967cfd:	4c 89 08             	mov    %r9,(%rax)
140967d00:	48 8b 43 38          	mov    0x38(%rbx),%rax
140967d04:	48 89 30             	mov    %rsi,(%rax)
140967d07:	48 8b 43 50          	mov    0x50(%rbx),%rax
140967d0b:	89 08                	mov    %ecx,(%rax)
140967d0d:	40 f6 c7 02          	test   $0x2,%dil
140967d11:	74 32                	je     0x140967d45
140967d13:	48 85 d2             	test   %rdx,%rdx
140967d16:	74 2d                	je     0x140967d45
140967d18:	48 8b 43 58          	mov    0x58(%rbx),%rax
140967d1c:	48 63 10             	movslq (%rax),%rdx
140967d1f:	48 8b 43 40          	mov    0x40(%rbx),%rax
140967d23:	48 8b 08             	mov    (%rax),%rcx
140967d26:	48 8b 43 20          	mov    0x20(%rbx),%rax
140967d2a:	4c 8d 04 51          	lea    (%rcx,%rdx,2),%r8
140967d2e:	4c 89 08             	mov    %r9,(%rax)
140967d31:	4c 2b c6             	sub    %rsi,%r8
140967d34:	48 8b 43 40          	mov    0x40(%rbx),%rax
140967d38:	49 d1 f8             	sar    $1,%r8
140967d3b:	48 89 30             	mov    %rsi,(%rax)
140967d3e:	48 8b 43 58          	mov    0x58(%rbx),%rax
140967d42:	44 89 00             	mov    %r8d,(%rax)
140967d45:	4d 89 13             	mov    %r10,(%r11)
140967d48:	eb 07                	jmp    0x140967d51
140967d4a:	49 c7 03 ff ff ff ff 	movq   $0xffffffffffffffff,(%r11)
140967d51:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140967d56:	33 c0                	xor    %eax,%eax
140967d58:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
140967d5d:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140967d62:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140967d67:	49 c7 43 08 00 00 00 	movq   $0x0,0x8(%r11)
140967d6e:	00
140967d6f:	49 89 43 10          	mov    %rax,0x10(%r11)
140967d73:	49 8b c3             	mov    %r11,%rax
140967d76:	c3                   	ret
140967d77:	cc                   	int3
140967d78:	cc                   	int3
140967d79:	cc                   	int3
140967d7a:	cc                   	int3
140967d7b:	cc                   	int3
140967d7c:	cc                   	int3
140967d7d:	cc                   	int3
140967d7e:	cc                   	int3
140967d7f:	cc                   	int3
140967d80:	40 53                	rex push %rbx
140967d82:	41 8b d9             	mov    %r9d,%ebx
140967d85:	4c 8b d2             	mov    %rdx,%r10
140967d88:	4c 8b d9             	mov    %rcx,%r11
140967d8b:	41 f6 c1 01          	test   $0x1,%r9b
140967d8f:	74 0a                	je     0x140967d9b
140967d91:	f6 41 70 04          	testb  $0x4,0x70(%rcx)
140967d95:	74 04                	je     0x140967d9b
140967d97:	b1 01                	mov    $0x1,%cl
140967d99:	eb 02                	jmp    0x140967d9d
140967d9b:	32 c9                	xor    %cl,%cl
140967d9d:	f6 c3 02             	test   $0x2,%bl
140967da0:	74 0b                	je     0x140967dad
140967da2:	41 f6 43 70 02       	testb  $0x2,0x70(%r11)
140967da7:	74 04                	je     0x140967dad
140967da9:	b0 01                	mov    $0x1,%al
140967dab:	eb 02                	jmp    0x140967daf
140967dad:	32 c0                	xor    %al,%al
140967daf:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140967db4:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140967db9:	84 c9                	test   %cl,%cl
140967dbb:	0f 85 d7 00 00 00    	jne    0x140967e98
140967dc1:	84 c0                	test   %al,%al
140967dc3:	0f 85 cf 00 00 00    	jne    0x140967e98
140967dc9:	4d 8b 48 08          	mov    0x8(%r8),%r9
140967dcd:	4d 03 08             	add    (%r8),%r9
140967dd0:	41 f6 43 70 02       	testb  $0x2,0x70(%r11)
140967dd5:	49 8b 43 38          	mov    0x38(%r11),%rax
140967dd9:	4c 8b 00             	mov    (%rax),%r8
140967ddc:	74 04                	je     0x140967de2
140967dde:	33 c9                	xor    %ecx,%ecx
140967de0:	eb 16                	jmp    0x140967df8
140967de2:	49 8b 43 40          	mov    0x40(%r11),%rax
140967de6:	48 8b 08             	mov    (%rax),%rcx
140967de9:	48 85 c9             	test   %rcx,%rcx
140967dec:	74 0a                	je     0x140967df8
140967dee:	49 39 4b 68          	cmp    %rcx,0x68(%r11)
140967df2:	73 04                	jae    0x140967df8
140967df4:	49 89 4b 68          	mov    %rcx,0x68(%r11)
140967df8:	4d 8b 73 18          	mov    0x18(%r11),%r14
140967dfc:	49 8b 53 68          	mov    0x68(%r11),%rdx