140a38988:	74 12                	je     0x140a3899c
140a3898a:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140a38991:	f0 48 0f c1 03       	lock xadd %rax,(%rbx)
140a38996:	48 83 f8 01          	cmp    $0x1,%rax
140a3899a:	75 10                	jne    0x140a389ac
140a3899c:	48 8b cb             	mov    %rbx,%rcx
140a3899f:	e8 3c e4 fc ff       	call   0x140a06de0
140a389a4:	48 8b cb             	mov    %rbx,%rcx
140a389a7:	e8 e4 86 3f 00       	call   0x140e31090
140a389ac:	4c 8b 7d c7          	mov    -0x39(%rbp),%r15
140a389b0:	48 8b 75 cf          	mov    -0x31(%rbp),%rsi
140a389b4:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140a389b8:	e8 d3 aa f8 ff       	call   0x1409c3490
140a389bd:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140a389c1:	48 85 c9             	test   %rcx,%rcx
140a389c4:	74 06                	je     0x140a389cc
140a389c6:	e8 05 f7 fc ff       	call   0x140a080d0
140a389cb:	90                   	nop
140a389cc:	ba 48 00 00 00       	mov    $0x48,%edx
140a389d1:	48 8b cf             	mov    %rdi,%rcx
140a389d4:	e8 6b 27 3e 00       	call   0x140e1b144
140a389d9:	48 8b 7d d7          	mov    -0x29(%rbp),%rdi
140a389dd:	48 85 ff             	test   %rdi,%rdi
140a389e0:	74 61                	je     0x140a38a43
140a389e2:	48 8b df             	mov    %rdi,%rbx
140a389e5:	4c 8b 75 df          	mov    -0x21(%rbp),%r14
140a389e9:	49 3b fe             	cmp    %r14,%rdi
140a389ec:	74 19                	je     0x140a38a07
140a389ee:	66 90                	xchg   %ax,%ax
140a389f0:	48 8b 0b             	mov    (%rbx),%rcx
140a389f3:	48 85 c9             	test   %rcx,%rcx
140a389f6:	74 06                	je     0x140a389fe
140a389f8:	e8 d3 f6 fc ff       	call   0x140a080d0
140a389fd:	90                   	nop
140a389fe:	48 83 c3 08          	add    $0x8,%rbx
140a38a02:	49 3b de             	cmp    %r14,%rbx
140a38a05:	75 e9                	jne    0x140a389f0
140a38a07:	48 8b 45 e7          	mov    -0x19(%rbp),%rax
140a38a0b:	48 2b c7             	sub    %rdi,%rax
140a38a0e:	48 c1 f8 03          	sar    $0x3,%rax
140a38a12:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
140a38a19:	00
140a38a1a:	48 8b c7             	mov    %rdi,%rax
140a38a1d:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a38a24:	72 15                	jb     0x140a38a3b
140a38a26:	48 83 c2 27          	add    $0x27,%rdx
140a38a2a:	48 8b 7f f8          	mov    -0x8(%rdi),%rdi
140a38a2e:	48 2b c7             	sub    %rdi,%rax
140a38a31:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a38a35:	48 83 f8 1f          	cmp    $0x1f,%rax
140a38a39:	77 40                	ja     0x140a38a7b
140a38a3b:	48 8b cf             	mov    %rdi,%rcx
140a38a3e:	e8 01 27 3e 00       	call   0x140e1b144
140a38a43:	48 85 f6             	test   %rsi,%rsi
140a38a46:	74 09                	je     0x140a38a51
140a38a48:	48 8b ce             	mov    %rsi,%rcx
140a38a4b:	e8 80 f6 fc ff       	call   0x140a080d0
140a38a50:	90                   	nop
140a38a51:	4d 85 ff             	test   %r15,%r15
140a38a54:	74 09                	je     0x140a38a5f
140a38a56:	49 8b cf             	mov    %r15,%rcx
140a38a59:	e8 d2 f6 fc ff       	call   0x140a08130
140a38a5e:	90                   	nop
140a38a5f:	4c 8d 9c 24 b0 00 00 	lea    0xb0(%rsp),%r11
140a38a66:	00
140a38a67:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140a38a6b:	49 8b 73 40          	mov    0x40(%r11),%rsi
140a38a6f:	49 8b e3             	mov    %r11,%rsp
140a38a72:	41 5f                	pop    %r15
140a38a74:	41 5e                	pop    %r14
140a38a76:	41 5c                	pop    %r12
140a38a78:	5f                   	pop    %rdi
140a38a79:	5d                   	pop    %rbp
140a38a7a:	c3                   	ret
140a38a7b:	e8 24 17 3f 00       	call   0x140e2a1a4
140a38a80:	90                   	nop
140a38a81:	cc                   	int3
140a38a82:	cc                   	int3
140a38a83:	cc                   	int3
140a38a84:	cc                   	int3
140a38a85:	cc                   	int3
140a38a86:	cc                   	int3
140a38a87:	cc                   	int3
140a38a88:	cc                   	int3
140a38a89:	cc                   	int3
140a38a8a:	cc                   	int3
140a38a8b:	cc                   	int3
140a38a8c:	cc                   	int3
140a38a8d:	cc                   	int3
140a38a8e:	cc                   	int3
140a38a8f:	cc                   	int3
140a38a90:	48 85 d2             	test   %rdx,%rdx
140a38a93:	0f 84 f5 02 00 00    	je     0x140a38d8e
140a38a99:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a38a9e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140a38aa3:	55                   	push   %rbp
140a38aa4:	57                   	push   %rdi
140a38aa5:	41 54                	push   %r12
140a38aa7:	41 56                	push   %r14
140a38aa9:	41 57                	push   %r15
140a38aab:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
140a38ab0:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
140a38ab7:	49 8b f0             	mov    %r8,%rsi
140a38aba:	48 8b da             	mov    %rdx,%rbx
140a38abd:	45 33 e4             	xor    %r12d,%r12d
140a38ac0:	48 8b 42 10          	mov    0x10(%rdx),%rax
140a38ac4:	48 85 c0             	test   %rax,%rax
140a38ac7:	0f 88 a6 02 00 00    	js     0x140a38d73
140a38acd:	48 c1 e8 3e          	shr    $0x3e,%rax
140a38ad1:	a8 01                	test   $0x1,%al
140a38ad3:	0f 85 9a 02 00 00    	jne    0x140a38d73
140a38ad9:	48 8d 7a 18          	lea    0x18(%rdx),%rdi
140a38add:	4c 39 62 08          	cmp    %r12,0x8(%rdx)
140a38ae1:	75 0d                	jne    0x140a38af0
140a38ae3:	48 8b 47 08          	mov    0x8(%rdi),%rax
140a38ae7:	48 39 07             	cmp    %rax,(%rdi)
140a38aea:	0f 84 83 02 00 00    	je     0x140a38d73
140a38af0:	48 c7 45 c7 01 00 00 	movq   $0x1,-0x39(%rbp)
140a38af7:	00
140a38af8:	0f 57 c0             	xorps  %xmm0,%xmm0
140a38afb:	66 0f 7f 45 d7       	movdqa %xmm0,-0x29(%rbp)
140a38b00:	0f 57 c9             	xorps  %xmm1,%xmm1
140a38b03:	66 0f 7f 4d e7       	movdqa %xmm1,-0x19(%rbp)
140a38b08:	4c 89 65 f7          	mov    %r12,-0x9(%rbp)
140a38b0c:	49 be 00 00 00 00 00 	movabs $0x1000000000000000,%r14
140a38b13:	00 00 10
140a38b16:	4c 89 75 ff          	mov    %r14,-0x1(%rbp)
140a38b1a:	e8 a1 f8 fc ff       	call   0x140a083c0
140a38b1f:	90                   	nop
140a38b20:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
140a38b24:	48 85 c0             	test   %rax,%rax
140a38b27:	74 05                	je     0x140a38b2e
140a38b29:	f0 48 ff 40 08       	lock incq 0x8(%rax)
140a38b2e:	48 8b 43 08          	mov    0x8(%rbx),%rax
140a38b32:	48 89 45 df          	mov    %rax,-0x21(%rbp)
140a38b36:	4c 89 63 08          	mov    %r12,0x8(%rbx)
140a38b3a:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
140a38b3e:	48 3b c7             	cmp    %rdi,%rax
140a38b41:	74 22                	je     0x140a38b65
140a38b43:	48 8b 07             	mov    (%rdi),%rax
140a38b46:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
140a38b4a:	4c 89 27             	mov    %r12,(%rdi)
140a38b4d:	48 8b 47 08          	mov    0x8(%rdi),%rax
140a38b51:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
140a38b55:	4c 89 67 08          	mov    %r12,0x8(%rdi)
140a38b59:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a38b5d:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
140a38b61:	4c 89 67 10          	mov    %r12,0x10(%rdi)
140a38b65:	48 8b 43 10          	mov    0x10(%rbx),%rax
140a38b69:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
140a38b6d:	48 8b 46 08          	mov    0x8(%rsi),%rax
140a38b71:	48 85 c0             	test   %rax,%rax
140a38b74:	74 04                	je     0x140a38b7a
140a38b76:	4c 89 66 08          	mov    %r12,0x8(%rsi)
140a38b7a:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
140a38b7e:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140a38b82:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
140a38b86:	e8 c5 f9 ff ff       	call   0x140a38550
140a38b8b:	48 b8 00 00 00 00 00 	movabs $0x4000000000000000,%rax
140a38b92:	00 00 40
140a38b95:	48 09 43 10          	or     %rax,0x10(%rbx)
140a38b99:	4c 8b 7d d7          	mov    -0x29(%rbp),%r15
140a38b9d:	48 8b 75 df          	mov    -0x21(%rbp),%rsi
140a38ba1:	4d 85 ff             	test   %r15,%r15
140a38ba4:	0f 84 45 01 00 00    	je     0x140a38cef
140a38baa:	48 85 f6             	test   %rsi,%rsi
140a38bad:	0f 84 3c 01 00 00    	je     0x140a38cef
140a38bb3:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a38bb9:	b2 42                	mov    $0x42,%dl
140a38bbb:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
140a38bbf:	e8 1c e4 fc ff       	call   0x140a06fe0
140a38bc4:	48 8b 7d ff          	mov    -0x1(%rbp),%rdi
140a38bc8:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140a38bcf:	ff ff 0f
140a38bd2:	48 85 f8             	test   %rdi,%rax
140a38bd5:	74 14                	je     0x140a38beb
140a38bd7:	48 85 ff             	test   %rdi,%rdi
140a38bda:	78 0f                	js     0x140a38beb
140a38bdc:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140a38be3:	00 00 80
140a38be6:	48 0b f8             	or     %rax,%rdi
140a38be9:	eb 16                	jmp    0x140a38c01
140a38beb:	48 b8 00 00 00 00 00 	movabs $0x3000000000000000,%rax
140a38bf2:	00 00 30
140a38bf5:	48 23 f8             	and    %rax,%rdi
140a38bf8:	48 f7 df             	neg    %rdi
140a38bfb:	48 1b ff             	sbb    %rdi,%rdi
140a38bfe:	49 23 fe             	and    %r14,%rdi
140a38c01:	49 8b cf             	mov    %r15,%rcx
140a38c04:	e8 57 f5 fc ff       	call   0x140a08160
140a38c09:	49 8b dc             	mov    %r12,%rbx
140a38c0c:	84 c0                	test   %al,%al
140a38c0e:	49 0f 45 df          	cmovne %r15,%rbx
140a38c12:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140a38c16:	48 8d 4d 1f          	lea    0x1f(%rbp),%rcx
140a38c1a:	e8 91 98 f8 ff       	call   0x1409c24b0
140a38c1f:	0f 57 c0             	xorps  %xmm0,%xmm0
140a38c22:	f3 0f 7f 45 07       	movdqu %xmm0,0x7(%rbp)
140a38c27:	4c 89 65 17          	mov    %r12,0x17(%rbp)
140a38c2b:	4d 8b f4             	mov    %r12,%r14
140a38c2e:	48 85 db             	test   %rbx,%rbx
140a38c31:	4c 0f 44 f3          	cmove  %rbx,%r14
140a38c35:	48 89 5d 7f          	mov    %rbx,0x7f(%rbp)
140a38c39:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a38c3e:	4c 8d 4d 07          	lea    0x7(%rbp),%r9
140a38c42:	4c 8b c7             	mov    %rdi,%r8
140a38c45:	48 8d 55 7f          	lea    0x7f(%rbp),%rdx
140a38c49:	48 8d 4d 6f          	lea    0x6f(%rbp),%rcx
140a38c4d:	e8 8e 13 fd ff       	call   0x140a09fe0
140a38c52:	4d 85 f6             	test   %r14,%r14
140a38c55:	74 09                	je     0x140a38c60
140a38c57:	49 8b ce             	mov    %r14,%rcx
140a38c5a:	e8 71 f4 fc ff       	call   0x140a080d0
140a38c5f:	90                   	nop
140a38c60:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
140a38c64:	e8 87 65 f8 ff       	call   0x1409bf1f0
140a38c69:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
140a38c6d:	4c 89 65 6f          	mov    %r12,0x6f(%rbp)
140a38c71:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
140a38c75:	45 33 c0             	xor    %r8d,%r8d
140a38c78:	48 8d 55 7f          	lea    0x7f(%rbp),%rdx
140a38c7c:	48 8b ce             	mov    %rsi,%rcx
140a38c7f:	e8 1c f3 fc ff       	call   0x140a07fa0
140a38c84:	48 8b 7d 6f          	mov    0x6f(%rbp),%rdi
140a38c88:	48 85 ff             	test   %rdi,%rdi
140a38c8b:	74 62                	je     0x140a38cef
140a38c8d:	48 8b 5f 38          	mov    0x38(%rdi),%rbx
140a38c91:	48 85 db             	test   %rbx,%rbx
140a38c94:	74 34                	je     0x140a38cca
140a38c96:	48 8b 03             	mov    (%rbx),%rax
140a38c99:	90                   	nop
140a38c9a:	48 83 f8 01          	cmp    $0x1,%rax
140a38c9e:	74 12                	je     0x140a38cb2
140a38ca0:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140a38ca7:	f0 48 0f c1 03       	lock xadd %rax,(%rbx)
140a38cac:	48 83 f8 01          	cmp    $0x1,%rax
140a38cb0:	75 10                	jne    0x140a38cc2
140a38cb2:	48 8b cb             	mov    %rbx,%rcx
140a38cb5:	e8 26 e1 fc ff       	call   0x140a06de0
140a38cba:	48 8b cb             	mov    %rbx,%rcx
140a38cbd:	e8 ce 83 3f 00       	call   0x140e31090
140a38cc2:	4c 8b 7d d7          	mov    -0x29(%rbp),%r15
140a38cc6:	48 8b 75 df          	mov    -0x21(%rbp),%rsi
140a38cca:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140a38cce:	e8 bd a7 f8 ff       	call   0x1409c3490
140a38cd3:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140a38cd7:	48 85 c9             	test   %rcx,%rcx
140a38cda:	74 06                	je     0x140a38ce2
140a38cdc:	e8 ef f3 fc ff       	call   0x140a080d0
140a38ce1:	90                   	nop
140a38ce2:	ba 48 00 00 00       	mov    $0x48,%edx
140a38ce7:	48 8b cf             	mov    %rdi,%rcx
140a38cea:	e8 55 24 3e 00       	call   0x140e1b144
140a38cef:	48 8b 7d e7          	mov    -0x19(%rbp),%rdi
140a38cf3:	48 85 ff             	test   %rdi,%rdi
140a38cf6:	74 5f                	je     0x140a38d57
140a38cf8:	48 8b df             	mov    %rdi,%rbx
140a38cfb:	4c 8b 75 ef          	mov    -0x11(%rbp),%r14
140a38cff:	49 3b fe             	cmp    %r14,%rdi
140a38d02:	74 17                	je     0x140a38d1b
140a38d04:	48 8b 0b             	mov    (%rbx),%rcx
140a38d07:	48 85 c9             	test   %rcx,%rcx
140a38d0a:	74 06                	je     0x140a38d12
140a38d0c:	e8 bf f3 fc ff       	call   0x140a080d0
140a38d11:	90                   	nop
140a38d12:	48 83 c3 08          	add    $0x8,%rbx
140a38d16:	49 3b de             	cmp    %r14,%rbx
140a38d19:	75 e9                	jne    0x140a38d04
140a38d1b:	48 8b 45 f7          	mov    -0x9(%rbp),%rax
140a38d1f:	48 2b c7             	sub    %rdi,%rax
140a38d22:	48 c1 f8 03          	sar    $0x3,%rax
140a38d26:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
140a38d2d:	00
140a38d2e:	48 8b c7             	mov    %rdi,%rax
140a38d31:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a38d38:	72 15                	jb     0x140a38d4f
140a38d3a:	48 83 c2 27          	add    $0x27,%rdx
140a38d3e:	48 8b 7f f8          	mov    -0x8(%rdi),%rdi
140a38d42:	48 2b c7             	sub    %rdi,%rax
140a38d45:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a38d49:	48 83 f8 1f          	cmp    $0x1f,%rax
140a38d4d:	77 40                	ja     0x140a38d8f
140a38d4f:	48 8b cf             	mov    %rdi,%rcx
140a38d52:	e8 ed 23 3e 00       	call   0x140e1b144
140a38d57:	48 85 f6             	test   %rsi,%rsi
140a38d5a:	74 09                	je     0x140a38d65
140a38d5c:	48 8b ce             	mov    %rsi,%rcx
140a38d5f:	e8 6c f3 fc ff       	call   0x140a080d0
140a38d64:	90                   	nop
140a38d65:	4d 85 ff             	test   %r15,%r15
140a38d68:	74 09                	je     0x140a38d73
140a38d6a:	49 8b cf             	mov    %r15,%rcx
140a38d6d:	e8 be f3 fc ff       	call   0x140a08130
140a38d72:	90                   	nop
140a38d73:	4c 8d 9c 24 b0 00 00 	lea    0xb0(%rsp),%r11
140a38d7a:	00
140a38d7b:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140a38d7f:	49 8b 73 40          	mov    0x40(%r11),%rsi
140a38d83:	49 8b e3             	mov    %r11,%rsp
140a38d86:	41 5f                	pop    %r15
140a38d88:	41 5e                	pop    %r14
140a38d8a:	41 5c                	pop    %r12
140a38d8c:	5f                   	pop    %rdi
140a38d8d:	5d                   	pop    %rbp
140a38d8e:	c3                   	ret
140a38d8f:	e8 10 14 3f 00       	call   0x140e2a1a4
140a38d94:	90                   	nop
140a38d95:	cc                   	int3
140a38d96:	cc                   	int3
140a38d97:	cc                   	int3
140a38d98:	cc                   	int3
140a38d99:	cc                   	int3
140a38d9a:	cc                   	int3
140a38d9b:	cc                   	int3
140a38d9c:	cc                   	int3
140a38d9d:	cc                   	int3
140a38d9e:	cc                   	int3
140a38d9f:	cc                   	int3
140a38da0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140a38da5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a38daa:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a38daf:	53                   	push   %rbx
140a38db0:	56                   	push   %rsi
140a38db1:	57                   	push   %rdi
140a38db2:	41 54                	push   %r12
140a38db4:	41 55                	push   %r13
140a38db6:	41 56                	push   %r14
140a38db8:	41 57                	push   %r15
140a38dba:	48 83 ec 40          	sub    $0x40,%rsp
140a38dbe:	4d 8b d0             	mov    %r8,%r10
140a38dc1:	4c 8b ea             	mov    %rdx,%r13
140a38dc4:	48 8b f9             	mov    %rcx,%rdi
140a38dc7:	48 8b 01             	mov    (%rcx),%rax
140a38dca:	4c 8b f2             	mov    %rdx,%r14
140a38dcd:	4c 2b f0             	sub    %rax,%r14
140a38dd0:	4c 8b 79 08          	mov    0x8(%rcx),%r15
140a38dd4:	4c 2b f8             	sub    %rax,%r15
140a38dd7:	49 c1 ff 05          	sar    $0x5,%r15
140a38ddb:	49 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%r8
140a38de2:	ff ff 07
140a38de5:	4d 3b f8             	cmp    %r8,%r15
140a38de8:	0f 84 b2 01 00 00    	je     0x140a38fa0
140a38dee:	49 ff c7             	inc    %r15
140a38df1:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a38df5:	48 2b c8             	sub    %rax,%rcx
140a38df8:	48 c1 f9 05          	sar    $0x5,%rcx
140a38dfc:	48 8b d1             	mov    %rcx,%rdx
140a38dff:	48 d1 ea             	shr    $1,%rdx
140a38e02:	49 8b c0             	mov    %r8,%rax
140a38e05:	48 2b c2             	sub    %rdx,%rax