140223b06:	e8 39 76 bf 00       	call   0x140e1b144
140223b0b:	49 c1 e7 06          	shl    $0x6,%r15
140223b0f:	4d 03 fc             	add    %r12,%r15
140223b12:	4d 89 26             	mov    %r12,(%r14)
140223b15:	48 c1 e5 06          	shl    $0x6,%rbp
140223b19:	49 03 ec             	add    %r12,%rbp
140223b1c:	4d 89 7e 08          	mov    %r15,0x8(%r14)
140223b20:	49 89 6e 10          	mov    %rbp,0x10(%r14)
140223b24:	48 83 c4 20          	add    $0x20,%rsp
140223b28:	41 5f                	pop    %r15
140223b2a:	41 5e                	pop    %r14
140223b2c:	41 5c                	pop    %r12
140223b2e:	5d                   	pop    %rbp
140223b2f:	5b                   	pop    %rbx
140223b30:	c3                   	ret
140223b31:	e8 6e 66 c0 00       	call   0x140e2a1a4
140223b36:	cc                   	int3
140223b37:	cc                   	int3
140223b38:	cc                   	int3
140223b39:	cc                   	int3
140223b3a:	cc                   	int3
140223b3b:	cc                   	int3
140223b3c:	cc                   	int3
140223b3d:	cc                   	int3
140223b3e:	cc                   	int3
140223b3f:	cc                   	int3
140223b40:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140223b45:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140223b4a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140223b4f:	57                   	push   %rdi
140223b50:	48 83 ec 20          	sub    $0x20,%rsp
140223b54:	48 8b d9             	mov    %rcx,%rbx
140223b57:	49 8b f9             	mov    %r9,%rdi
140223b5a:	48 8b 09             	mov    (%rcx),%rcx
140223b5d:	49 8b f0             	mov    %r8,%rsi
140223b60:	48 8b ea             	mov    %rdx,%rbp
140223b63:	48 85 c9             	test   %rcx,%rcx
140223b66:	74 40                	je     0x140223ba8
140223b68:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140223b6c:	4c 8b c3             	mov    %rbx,%r8
140223b6f:	e8 5c 03 ff ff       	call   0x140213ed0
140223b74:	48 8b 0b             	mov    (%rbx),%rcx
140223b77:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140223b7b:	48 2b d1             	sub    %rcx,%rdx
140223b7e:	48 83 e2 c0          	and    $0xffffffffffffffc0,%rdx
140223b82:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140223b89:	72 18                	jb     0x140223ba3
140223b8b:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140223b8f:	48 83 c2 27          	add    $0x27,%rdx
140223b93:	49 2b c8             	sub    %r8,%rcx
140223b96:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140223b9a:	48 83 f8 1f          	cmp    $0x1f,%rax
140223b9e:	77 36                	ja     0x140223bd6
140223ba0:	49 8b c8             	mov    %r8,%rcx
140223ba3:	e8 9c 75 bf 00       	call   0x140e1b144
140223ba8:	48 89 2b             	mov    %rbp,(%rbx)
140223bab:	48 c1 e6 06          	shl    $0x6,%rsi
140223baf:	48 03 f5             	add    %rbp,%rsi
140223bb2:	48 c1 e7 06          	shl    $0x6,%rdi
140223bb6:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140223bba:	48 03 fd             	add    %rbp,%rdi
140223bbd:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140223bc2:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140223bc7:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
140223bcb:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140223bd0:	48 83 c4 20          	add    $0x20,%rsp
140223bd4:	5f                   	pop    %rdi
140223bd5:	c3                   	ret
140223bd6:	e8 c9 65 c0 00       	call   0x140e2a1a4
140223bdb:	cc                   	int3
140223bdc:	cc                   	int3
140223bdd:	cc                   	int3
140223bde:	cc                   	int3
140223bdf:	cc                   	int3
140223be0:	48 83 c9 01          	or     $0x1,%rcx
140223be4:	48 0f bd c1          	bsr    %rcx,%rax
140223be8:	c3                   	ret
140223be9:	cc                   	int3
140223bea:	cc                   	int3
140223beb:	cc                   	int3
140223bec:	cc                   	int3
140223bed:	cc                   	int3
140223bee:	cc                   	int3
140223bef:	cc                   	int3
140223bf0:	40 56                	rex push %rsi
140223bf2:	57                   	push   %rdi
140223bf3:	48 83 ec 28          	sub    $0x28,%rsp
140223bf7:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140223bfe:	ff ff 0f
140223c01:	48 8b f1             	mov    %rcx,%rsi
140223c04:	48 0f bd c8          	bsr    %rax,%rcx
140223c08:	bf 01 00 00 00       	mov    $0x1,%edi
140223c0d:	8b c7                	mov    %edi,%eax
140223c0f:	48 d3 e0             	shl    %cl,%rax
140223c12:	48 3b d0             	cmp    %rax,%rdx
140223c15:	0f 87 51 01 00 00    	ja     0x140223d6c
140223c1b:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140223c1f:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140223c24:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140223c28:	48 0b c7             	or     %rdi,%rax
140223c2b:	48 0f bd c8          	bsr    %rax,%rcx
140223c2f:	4c 8b c3             	mov    %rbx,%r8
140223c32:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140223c37:	ff c1                	inc    %ecx
140223c39:	48 d3 e7             	shl    %cl,%rdi
140223c3c:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140223c40:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
140223c44:	e8 27 fd ff ff       	call   0x140223970
140223c49:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140223c4d:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
140223c51:	48 89 46 30          	mov    %rax,0x30(%rsi)
140223c55:	48 8b 46 08          	mov    0x8(%rsi),%rax
140223c59:	48 8b 00             	mov    (%rax),%rax
140223c5c:	48 8b c8             	mov    %rax,%rcx
140223c5f:	48 3b c3             	cmp    %rbx,%rax
140223c62:	0f 84 cd 00 00 00    	je     0x140223d35
140223c68:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
140223c6d:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
140223c74:	9c f2 cb
140223c77:	48 bd b3 01 00 00 00 	movabs $0x100000001b3,%rbp
140223c7e:	01 00 00
140223c81:	44 0f b6 48 10       	movzbl 0x10(%rax),%r9d
140223c86:	4c 8b 5e 30          	mov    0x30(%rsi),%r11
140223c8a:	41 8b d1             	mov    %r9d,%edx
140223c8d:	48 8b 09             	mov    (%rcx),%rcx
140223c90:	48 33 d7             	xor    %rdi,%rdx
140223c93:	48 0f af d5          	imul   %rbp,%rdx
140223c97:	4c 23 da             	and    %rdx,%r11
140223c9a:	49 c1 e3 04          	shl    $0x4,%r11
140223c9e:	4c 03 5e 18          	add    0x18(%rsi),%r11
140223ca2:	4d 8b 03             	mov    (%r11),%r8
140223ca5:	4c 3b c3             	cmp    %rbx,%r8
140223ca8:	75 09                	jne    0x140223cb3
140223caa:	49 89 03             	mov    %rax,(%r11)
140223cad:	49 89 43 08          	mov    %rax,0x8(%r11)
140223cb1:	eb 71                	jmp    0x140223d24
140223cb3:	49 8b 53 08          	mov    0x8(%r11),%rdx
140223cb7:	44 3a 4a 10          	cmp    0x10(%rdx),%r9b
140223cbb:	75 2f                	jne    0x140223cec
140223cbd:	4c 8b 12             	mov    (%rdx),%r10
140223cc0:	4c 3b d0             	cmp    %rax,%r10
140223cc3:	74 21                	je     0x140223ce6
140223cc5:	4c 8b 48 08          	mov    0x8(%rax),%r9
140223cc9:	49 89 09             	mov    %rcx,(%r9)
140223ccc:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140223cd0:	4d 89 10             	mov    %r10,(%r8)
140223cd3:	49 8b 52 08          	mov    0x8(%r10),%rdx
140223cd7:	48 89 02             	mov    %rax,(%rdx)
140223cda:	4d 89 42 08          	mov    %r8,0x8(%r10)
140223cde:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140223ce2:	48 89 50 08          	mov    %rdx,0x8(%rax)
140223ce6:	49 89 43 08          	mov    %rax,0x8(%r11)
140223cea:	eb 38                	jmp    0x140223d24
140223cec:	4c 3b c2             	cmp    %rdx,%r8
140223cef:	74 0f                	je     0x140223d00
140223cf1:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140223cf5:	44 3a 4a 10          	cmp    0x10(%rdx),%r9b
140223cf9:	74 4b                	je     0x140223d46
140223cfb:	4c 3b c2             	cmp    %rdx,%r8
140223cfe:	75 f1                	jne    0x140223cf1
140223d00:	4c 8b 50 08          	mov    0x8(%rax),%r10
140223d04:	49 89 0a             	mov    %rcx,(%r10)
140223d07:	4c 8b 49 08          	mov    0x8(%rcx),%r9
140223d0b:	49 89 11             	mov    %rdx,(%r9)
140223d0e:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140223d12:	49 89 00             	mov    %rax,(%r8)
140223d15:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
140223d19:	4c 89 51 08          	mov    %r10,0x8(%rcx)
140223d1d:	4c 89 40 08          	mov    %r8,0x8(%rax)
140223d21:	49 89 03             	mov    %rax,(%r11)
140223d24:	48 8b c1             	mov    %rcx,%rax
140223d27:	48 3b cb             	cmp    %rbx,%rcx
140223d2a:	0f 85 51 ff ff ff    	jne    0x140223c81
140223d30:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140223d35:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140223d3a:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
140223d3f:	48 83 c4 28          	add    $0x28,%rsp
140223d43:	5f                   	pop    %rdi
140223d44:	5e                   	pop    %rsi
140223d45:	c3                   	ret
140223d46:	4c 8b 12             	mov    (%rdx),%r10
140223d49:	4c 8b 48 08          	mov    0x8(%rax),%r9
140223d4d:	49 89 09             	mov    %rcx,(%r9)
140223d50:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140223d54:	4d 89 10             	mov    %r10,(%r8)
140223d57:	49 8b 52 08          	mov    0x8(%r10),%rdx
140223d5b:	48 89 02             	mov    %rax,(%rdx)
140223d5e:	4d 89 42 08          	mov    %r8,0x8(%r10)
140223d62:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140223d66:	48 89 50 08          	mov    %rdx,0x8(%rax)
140223d6a:	eb b8                	jmp    0x140223d24
140223d6c:	48 8d 0d 7d a7 d8 00 	lea    0xd8a77d(%rip),%rcx        # 0x140fae4f0
140223d73:	e8 3c 76 bd 00       	call   0x140dfb3b4
140223d78:	cc                   	int3
140223d79:	cc                   	int3
140223d7a:	cc                   	int3
140223d7b:	cc                   	int3
140223d7c:	cc                   	int3
140223d7d:	cc                   	int3
140223d7e:	cc                   	int3
140223d7f:	cc                   	int3
140223d80:	48 83 ec 28          	sub    $0x28,%rsp
140223d84:	48 8d 0d 4d a6 d8 00 	lea    0xd8a64d(%rip),%rcx        # 0x140fae3d8
140223d8b:	e8 48 76 bd 00       	call   0x140dfb3d8
140223d90:	cc                   	int3
140223d91:	cc                   	int3
140223d92:	cc                   	int3
140223d93:	cc                   	int3
140223d94:	cc                   	int3
140223d95:	cc                   	int3
140223d96:	cc                   	int3
140223d97:	cc                   	int3
140223d98:	cc                   	int3
140223d99:	cc                   	int3
140223d9a:	cc                   	int3
140223d9b:	cc                   	int3
140223d9c:	cc                   	int3
140223d9d:	cc                   	int3
140223d9e:	cc                   	int3
140223d9f:	cc                   	int3
140223da0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140223da5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140223daa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140223daf:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140223db4:	41 56                	push   %r14
140223db6:	41 57                	push   %r15
140223db8:	44 8b 49 10          	mov    0x10(%rcx),%r9d
140223dbc:	48 8b f1             	mov    %rcx,%rsi
140223dbf:	44 8b 99 a8 00 00 00 	mov    0xa8(%rcx),%r11d
140223dc6:	49 8b e8             	mov    %r8,%rbp
140223dc9:	44 8b 52 10          	mov    0x10(%rdx),%r10d
140223dcd:	45 03 cb             	add    %r11d,%r9d
140223dd0:	8b 9a a8 00 00 00    	mov    0xa8(%rdx),%ebx
140223dd6:	4c 8b f2             	mov    %rdx,%r14
140223dd9:	41 8b 48 10          	mov    0x10(%r8),%ecx
140223ddd:	44 03 d3             	add    %ebx,%r10d
140223de0:	41 8b b8 a8 00 00 00 	mov    0xa8(%r8),%edi
140223de7:	45 3b ca             	cmp    %r10d,%r9d
140223dea:	45 0f 4f d1          	cmovg  %r9d,%r10d
140223dee:	03 cf                	add    %edi,%ecx
140223df0:	41 8d 42 01          	lea    0x1(%r10),%eax
140223df4:	3b c1                	cmp    %ecx,%eax
140223df6:	0f 8c cc 00 00 00    	jl     0x140223ec8
140223dfc:	44 3b d1             	cmp    %ecx,%r10d
140223dff:	0f 8f bc 00 00 00    	jg     0x140223ec1
140223e05:	45 33 c0             	xor    %r8d,%r8d
140223e08:	8b c3                	mov    %ebx,%eax
140223e0a:	44 3b db             	cmp    %ebx,%r11d
140223e0d:	44 8b ff             	mov    %edi,%r15d
140223e10:	41 0f 4c c3          	cmovl  %r11d,%eax
140223e14:	3b c7                	cmp    %edi,%eax
140223e16:	44 0f 4c f8          	cmovl  %eax,%r15d
140223e1a:	8d 41 ff             	lea    -0x1(%rcx),%eax
140223e1d:	41 3b c7             	cmp    %r15d,%eax
140223e20:	0f 8c 94 00 00 00    	jl     0x140223eba
140223e26:	41 3b c3             	cmp    %r11d,%eax
140223e29:	7c 1c                	jl     0x140223e47
140223e2b:	8b 56 10             	mov    0x10(%rsi),%edx
140223e2e:	41 03 d3             	add    %r11d,%edx
140223e31:	3b c2                	cmp    %edx,%eax
140223e33:	7d 12                	jge    0x140223e47
140223e35:	0f ae e8             	lfence
140223e38:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140223e3c:	8b d0                	mov    %eax,%edx
140223e3e:	41 2b d3             	sub    %r11d,%edx
140223e41:	44 8b 14 91          	mov    (%rcx,%rdx,4),%r10d
140223e45:	eb 03                	jmp    0x140223e4a
140223e47:	45 33 d2             	xor    %r10d,%r10d
140223e4a:	3b c3                	cmp    %ebx,%eax
140223e4c:	7c 1b                	jl     0x140223e69
140223e4e:	41 8b 56 10          	mov    0x10(%r14),%edx
140223e52:	03 d3                	add    %ebx,%edx
140223e54:	3b c2                	cmp    %edx,%eax
140223e56:	7d 11                	jge    0x140223e69
140223e58:	0f ae e8             	lfence
140223e5b:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140223e5f:	8b d0                	mov    %eax,%edx
140223e61:	2b d3                	sub    %ebx,%edx
140223e63:	44 8b 0c 91          	mov    (%rcx,%rdx,4),%r9d
140223e67:	eb 03                	jmp    0x140223e6c
140223e69:	45 33 c9             	xor    %r9d,%r9d
140223e6c:	41 8b ca             	mov    %r10d,%ecx
140223e6f:	4c 03 c9             	add    %rcx,%r9
140223e72:	3b c7                	cmp    %edi,%eax
140223e74:	7c 1a                	jl     0x140223e90
140223e76:	8b 55 10             	mov    0x10(%rbp),%edx
140223e79:	03 d7                	add    %edi,%edx
140223e7b:	3b c2                	cmp    %edx,%eax
140223e7d:	7d 11                	jge    0x140223e90
140223e7f:	0f ae e8             	lfence
140223e82:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140223e86:	8b d0                	mov    %eax,%edx
140223e88:	2b d7                	sub    %edi,%edx
140223e8a:	44 8b 14 91          	mov    (%rcx,%rdx,4),%r10d
140223e8e:	eb 03                	jmp    0x140223e93
140223e90:	45 33 d2             	xor    %r10d,%r10d
140223e93:	41 8b d2             	mov    %r10d,%edx
140223e96:	4a 8d 0c 02          	lea    (%rdx,%r8,1),%rcx
140223e9a:	4c 3b c9             	cmp    %rcx,%r9
140223e9d:	77 22                	ja     0x140223ec1
140223e9f:	49 2b d1             	sub    %r9,%rdx
140223ea2:	4c 03 c2             	add    %rdx,%r8
140223ea5:	49 83 f8 01          	cmp    $0x1,%r8
140223ea9:	77 1d                	ja     0x140223ec8
140223eab:	49 c1 e0 20          	shl    $0x20,%r8
140223eaf:	ff c8                	dec    %eax
140223eb1:	41 3b c7             	cmp    %r15d,%eax
140223eb4:	0f 8d 6c ff ff ff    	jge    0x140223e26
140223eba:	49 f7 d8             	neg    %r8
140223ebd:	1b c0                	sbb    %eax,%eax
140223ebf:	eb 0c                	jmp    0x140223ecd
140223ec1:	b8 01 00 00 00       	mov    $0x1,%eax
140223ec6:	eb 05                	jmp    0x140223ecd
140223ec8:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140223ecd:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
140223ed2:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
140223ed7:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140223edc:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140223ee1:	41 5f                	pop    %r15
140223ee3:	41 5e                	pop    %r14
140223ee5:	c3                   	ret
140223ee6:	cc                   	int3
140223ee7:	cc                   	int3
140223ee8:	cc                   	int3
140223ee9:	cc                   	int3
140223eea:	cc                   	int3
140223eeb:	cc                   	int3
140223eec:	cc                   	int3
140223eed:	cc                   	int3
140223eee:	cc                   	int3
140223eef:	cc                   	int3
140223ef0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140223ef5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140223efa:	57                   	push   %rdi
140223efb:	48 83 ec 60          	sub    $0x60,%rsp
140223eff:	48 8b 05 fa 4f 19 01 	mov    0x1194ffa(%rip),%rax        # 0x1413b8f00
140223f06:	48 33 c4             	xor    %rsp,%rax
140223f09:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140223f0e:	85 d2                	test   %edx,%edx
140223f10:	7e 0b                	jle    0x140223f1d
140223f12:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140223f17:	2b c2                	sub    %edx,%eax
140223f19:	39 01                	cmp    %eax,(%rcx)
140223f1b:	7f 22                	jg     0x140223f3f
140223f1d:	01 11                	add    %edx,(%rcx)
140223f1f:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140223f24:	48 33 cc             	xor    %rsp,%rcx
140223f27:	e8 d4 75 bf 00       	call   0x140e1b500
140223f2c:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
140223f31:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi