140e897a7:	49 8b 0f             	mov    (%r15),%rcx
140e897aa:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140e897ae:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
140e897b2:	74 28                	je     0x140e897dc
140e897b4:	33 c0                	xor    %eax,%eax
140e897b6:	48 89 02             	mov    %rax,(%rdx)
140e897b9:	48 89 42 08          	mov    %rax,0x8(%rdx)
140e897bd:	48 85 ff             	test   %rdi,%rdi
140e897c0:	74 0c                	je     0x140e897ce
140e897c2:	f0 ff 47 08          	lock incl 0x8(%rdi)
140e897c6:	4c 8b 65 0f          	mov    0xf(%rbp),%r12
140e897ca:	4c 8b 6d 07          	mov    0x7(%rbp),%r13
140e897ce:	4c 89 2a             	mov    %r13,(%rdx)
140e897d1:	48 89 7a 08          	mov    %rdi,0x8(%rdx)
140e897d5:	48 83 41 08 10       	addq   $0x10,0x8(%rcx)
140e897da:	eb 0d                	jmp    0x140e897e9
140e897dc:	4c 8d 45 07          	lea    0x7(%rbp),%r8
140e897e0:	e8 8b 36 f2 ff       	call   0x140dace70
140e897e5:	4c 8b 65 0f          	mov    0xf(%rbp),%r12
140e897e9:	4d 85 e4             	test   %r12,%r12
140e897ec:	74 41                	je     0x140e8982f
140e897ee:	bf ff ff ff ff       	mov    $0xffffffff,%edi
140e897f3:	8b c7                	mov    %edi,%eax
140e897f5:	f0 41 0f c1 44 24 08 	lock xadd %eax,0x8(%r12)
140e897fc:	83 f8 01             	cmp    $0x1,%eax
140e897ff:	75 2e                	jne    0x140e8982f
140e89801:	48 8b 5d 0f          	mov    0xf(%rbp),%rbx
140e89805:	48 8b 03             	mov    (%rbx),%rax
140e89808:	48 8b cb             	mov    %rbx,%rcx
140e8980b:	48 8b 00             	mov    (%rax),%rax
140e8980e:	ff 15 0c a2 0f 00    	call   *0xfa20c(%rip)        # 0x140f83a20
140e89814:	f0 0f c1 7b 0c       	lock xadd %edi,0xc(%rbx)
140e89819:	83 ff 01             	cmp    $0x1,%edi
140e8981c:	75 11                	jne    0x140e8982f
140e8981e:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
140e89822:	48 8b 11             	mov    (%rcx),%rdx
140e89825:	48 8b 42 08          	mov    0x8(%rdx),%rax
140e89829:	ff 15 f1 a1 0f 00    	call   *0xfa1f1(%rip)        # 0x140f83a20
140e8982f:	49 8b c7             	mov    %r15,%rax
140e89832:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
140e89836:	48 33 cc             	xor    %rsp,%rcx
140e89839:	e8 c2 1c f9 ff       	call   0x140e1b500
140e8983e:	48 8b 9c 24 e8 00 00 	mov    0xe8(%rsp),%rbx
140e89845:	00
140e89846:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
140e8984d:	41 5f                	pop    %r15
140e8984f:	41 5e                	pop    %r14
140e89851:	41 5d                	pop    %r13
140e89853:	41 5c                	pop    %r12
140e89855:	5f                   	pop    %rdi
140e89856:	5e                   	pop    %rsi
140e89857:	5d                   	pop    %rbp
140e89858:	c3                   	ret
140e89859:	e8 46 09 fa ff       	call   0x140e2a1a4
140e8985e:	cc                   	int3
140e8985f:	e8 40 09 fa ff       	call   0x140e2a1a4
140e89864:	cc                   	int3
140e89865:	e8 3a 09 fa ff       	call   0x140e2a1a4
140e8986a:	cc                   	int3
140e8986b:	e8 34 09 fa ff       	call   0x140e2a1a4
140e89870:	cc                   	int3
140e89871:	e8 2e 09 fa ff       	call   0x140e2a1a4
140e89876:	cc                   	int3
140e89877:	cc                   	int3
140e89878:	cc                   	int3
140e89879:	cc                   	int3
140e8987a:	cc                   	int3
140e8987b:	cc                   	int3
140e8987c:	cc                   	int3
140e8987d:	cc                   	int3
140e8987e:	cc                   	int3
140e8987f:	cc                   	int3
140e89880:	b8 00 01 00 00       	mov    $0x100,%eax
140e89885:	c3                   	ret
140e89886:	cc                   	int3
140e89887:	cc                   	int3
140e89888:	cc                   	int3
140e89889:	cc                   	int3
140e8988a:	cc                   	int3
140e8988b:	cc                   	int3
140e8988c:	cc                   	int3
140e8988d:	cc                   	int3
140e8988e:	cc                   	int3
140e8988f:	cc                   	int3
140e89890:	40 53                	rex push %rbx
140e89892:	48 83 ec 40          	sub    $0x40,%rsp
140e89896:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
140e8989b:	48 8b da             	mov    %rdx,%rbx
140e8989e:	c6 44 24 58 00       	movb   $0x0,0x58(%rsp)
140e898a3:	49 8b c0             	mov    %r8,%rax
140e898a6:	76 03                	jbe    0x140e898ab
140e898a8:	49 8b 00             	mov    (%r8),%rax
140e898ab:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140e898b0:	4c 8d 0d c7 88 36 00 	lea    0x3688c7(%rip),%r9        # 0x1411f217e
140e898b7:	49 8b 40 10          	mov    0x10(%r8),%rax
140e898bb:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140e898c0:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140e898c5:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140e898ca:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
140e898cf:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
140e898d4:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140e898d9:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140e898de:	48 8d 44 24 68       	lea    0x68(%rsp),%rax
140e898e3:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
140e898e9:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140e898ee:	e8 9d f0 ff ff       	call   0x140e88990
140e898f3:	80 7c 24 64 00       	cmpb   $0x0,0x64(%rsp)
140e898f8:	c6 43 04 00          	movb   $0x0,0x4(%rbx)
140e898fc:	74 0a                	je     0x140e89908
140e898fe:	8b 44 24 60          	mov    0x60(%rsp),%eax
140e89902:	89 03                	mov    %eax,(%rbx)
140e89904:	c6 43 04 01          	movb   $0x1,0x4(%rbx)
140e89908:	48 8b c3             	mov    %rbx,%rax
140e8990b:	48 83 c4 40          	add    $0x40,%rsp
140e8990f:	5b                   	pop    %rbx
140e89910:	c3                   	ret
140e89911:	cc                   	int3
140e89912:	cc                   	int3
140e89913:	cc                   	int3
140e89914:	cc                   	int3
140e89915:	cc                   	int3
140e89916:	cc                   	int3
140e89917:	cc                   	int3
140e89918:	cc                   	int3
140e89919:	cc                   	int3
140e8991a:	cc                   	int3
140e8991b:	cc                   	int3
140e8991c:	cc                   	int3
140e8991d:	cc                   	int3
140e8991e:	cc                   	int3
140e8991f:	cc                   	int3
140e89920:	48 83 ec 28          	sub    $0x28,%rsp
140e89924:	48 8b ca             	mov    %rdx,%rcx
140e89927:	e8 54 ee ff ff       	call   0x140e88780
140e8992c:	d0 e8                	shr    $1,%al
140e8992e:	24 01                	and    $0x1,%al
140e89930:	48 83 c4 28          	add    $0x28,%rsp
140e89934:	c3                   	ret
140e89935:	cc                   	int3
140e89936:	cc                   	int3
140e89937:	cc                   	int3
140e89938:	cc                   	int3
140e89939:	cc                   	int3
140e8993a:	cc                   	int3
140e8993b:	cc                   	int3
140e8993c:	cc                   	int3
140e8993d:	cc                   	int3
140e8993e:	cc                   	int3
140e8993f:	cc                   	int3
140e89940:	48 83 ec 28          	sub    $0x28,%rsp
140e89944:	48 8b 02             	mov    (%rdx),%rax
140e89947:	48 8b ca             	mov    %rdx,%rcx
140e8994a:	48 8b 40 08          	mov    0x8(%rax),%rax
140e8994e:	ff 15 cc a0 0f 00    	call   *0xfa0cc(%rip)        # 0x140f83a20
140e89954:	83 f8 01             	cmp    $0x1,%eax
140e89957:	0f 94 c0             	sete   %al
140e8995a:	48 83 c4 28          	add    $0x28,%rsp
140e8995e:	c3                   	ret
140e8995f:	cc                   	int3
140e89960:	40 53                	rex push %rbx
140e89962:	48 83 ec 20          	sub    $0x20,%rsp
140e89966:	48 8b d9             	mov    %rcx,%rbx
140e89969:	e8 c2 5e 00 00       	call   0x140e8f830
140e8996e:	48 8d 05 8b 88 36 00 	lea    0x36888b(%rip),%rax        # 0x1411f2200
140e89975:	48 89 03             	mov    %rax,(%rbx)
140e89978:	48 8b c3             	mov    %rbx,%rax
140e8997b:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%rbx)
140e89982:	48 83 c4 20          	add    $0x20,%rsp
140e89986:	5b                   	pop    %rbx
140e89987:	c3                   	ret
140e89988:	cc                   	int3
140e89989:	cc                   	int3
140e8998a:	cc                   	int3
140e8998b:	cc                   	int3
140e8998c:	cc                   	int3
140e8998d:	cc                   	int3
140e8998e:	cc                   	int3
140e8998f:	cc                   	int3
140e89990:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140e89995:	55                   	push   %rbp
140e89996:	56                   	push   %rsi
140e89997:	57                   	push   %rdi
140e89998:	41 54                	push   %r12
140e8999a:	41 55                	push   %r13
140e8999c:	41 56                	push   %r14
140e8999e:	41 57                	push   %r15
140e899a0:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
140e899a5:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140e899ac:	48 8b 05 4d f5 52 00 	mov    0x52f54d(%rip),%rax        # 0x1413b8f00
140e899b3:	48 33 c4             	xor    %rsp,%rax
140e899b6:	48 89 45 17          	mov    %rax,0x17(%rbp)
140e899ba:	4d 8b e8             	mov    %r8,%r13
140e899bd:	4c 8b f2             	mov    %rdx,%r14
140e899c0:	48 8b f9             	mov    %rcx,%rdi
140e899c3:	48 89 55 ff          	mov    %rdx,-0x1(%rbp)
140e899c7:	c7 45 d7 01 00 00 00 	movl   $0x1,-0x29(%rbp)
140e899ce:	0f 57 c0             	xorps  %xmm0,%xmm0
140e899d1:	0f 11 02             	movups %xmm0,(%rdx)
140e899d4:	b9 28 00 00 00       	mov    $0x28,%ecx
140e899d9:	e8 2a 17 f9 ff       	call   0x140e1b108
140e899de:	48 8b d8             	mov    %rax,%rbx
140e899e1:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
140e899e5:	48 85 c0             	test   %rax,%rax
140e899e8:	74 2f                	je     0x140e89a19
140e899ea:	0f 57 c0             	xorps  %xmm0,%xmm0
140e899ed:	0f 11 00             	movups %xmm0,(%rax)
140e899f0:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%rax)
140e899f7:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%rax)
140e899fe:	48 8d 05 03 62 36 00 	lea    0x366203(%rip),%rax        # 0x1411efc08
140e89a05:	48 89 03             	mov    %rax,(%rbx)
140e89a08:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140e89a0c:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140e89a10:	33 d2                	xor    %edx,%edx
140e89a12:	e8 b9 e5 fd ff       	call   0x140e67fd0
140e89a17:	eb 02                	jmp    0x140e89a1b
140e89a19:	33 db                	xor    %ebx,%ebx
140e89a1b:	0f 57 c0             	xorps  %xmm0,%xmm0
140e89a1e:	41 0f 11 06          	movups %xmm0,(%r14)
140e89a22:	49 c7 46 08 00 00 00 	movq   $0x0,0x8(%r14)
140e89a29:	00
140e89a2a:	48 8d 43 10          	lea    0x10(%rbx),%rax
140e89a2e:	49 89 06             	mov    %rax,(%r14)
140e89a31:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140e89a35:	c7 45 d7 03 00 00 00 	movl   $0x3,-0x29(%rbp)
140e89a3c:	b9 a0 00 00 00       	mov    $0xa0,%ecx
140e89a41:	e8 c2 16 f9 ff       	call   0x140e1b108
140e89a46:	48 8b d8             	mov    %rax,%rbx
140e89a49:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
140e89a4d:	48 85 c0             	test   %rax,%rax
140e89a50:	74 2c                	je     0x140e89a7e
140e89a52:	0f 57 c0             	xorps  %xmm0,%xmm0
140e89a55:	0f 11 00             	movups %xmm0,(%rax)
140e89a58:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%rax)
140e89a5f:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%rax)
140e89a66:	48 8d 05 63 64 36 00 	lea    0x366463(%rip),%rax        # 0x1411efed0
140e89a6d:	48 89 03             	mov    %rax,(%rbx)
140e89a70:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140e89a74:	8b 57 14             	mov    0x14(%rdi),%edx
140e89a77:	e8 94 9a fd ff       	call   0x140e63510
140e89a7c:	eb 02                	jmp    0x140e89a80
140e89a7e:	33 db                	xor    %ebx,%ebx
140e89a80:	0f 57 c0             	xorps  %xmm0,%xmm0
140e89a83:	0f 11 45 07          	movups %xmm0,0x7(%rbp)
140e89a87:	c7 45 d7 07 00 00 00 	movl   $0x7,-0x29(%rbp)
140e89a8e:	4c 8d 7b 10          	lea    0x10(%rbx),%r15
140e89a92:	4c 89 7d 07          	mov    %r15,0x7(%rbp)
140e89a96:	48 8b f3             	mov    %rbx,%rsi
140e89a99:	48 89 5d 0f          	mov    %rbx,0xf(%rbp)
140e89a9d:	49 8b 4d 30          	mov    0x30(%r13),%rcx
140e89aa1:	0f b7 49 04          	movzwl 0x4(%rcx),%ecx
140e89aa5:	ff 15 6d 9e 0f 00    	call   *0xf9e6d(%rip)        # 0x140f83918
140e89aab:	66 83 f8 08          	cmp    $0x8,%ax
140e89aaf:	73 4e                	jae    0x140e89aff
140e89ab1:	f0 ff 47 18          	lock incl 0x18(%rdi)
140e89ab5:	48 85 db             	test   %rbx,%rbx
140e89ab8:	0f 84 68 04 00 00    	je     0x140e89f26
140e89abe:	bf ff ff ff ff       	mov    $0xffffffff,%edi
140e89ac3:	8b c7                	mov    %edi,%eax
140e89ac5:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140e89aca:	83 f8 01             	cmp    $0x1,%eax
140e89acd:	0f 85 53 04 00 00    	jne    0x140e89f26
140e89ad3:	48 8b 03             	mov    (%rbx),%rax
140e89ad6:	48 8b cb             	mov    %rbx,%rcx
140e89ad9:	48 8b 00             	mov    (%rax),%rax
140e89adc:	ff 15 3e 9f 0f 00    	call   *0xf9f3e(%rip)        # 0x140f83a20
140e89ae2:	f0 0f c1 7b 0c       	lock xadd %edi,0xc(%rbx)
140e89ae7:	83 ff 01             	cmp    $0x1,%edi
140e89aea:	0f 85 36 04 00 00    	jne    0x140e89f26
140e89af0:	48 8b 03             	mov    (%rbx),%rax
140e89af3:	48 8b cb             	mov    %rbx,%rcx
140e89af6:	48 8b 40 08          	mov    0x8(%rax),%rax
140e89afa:	e9 20 04 00 00       	jmp    0x140e89f1f
140e89aff:	48 8d 55 df          	lea    -0x21(%rbp),%rdx
140e89b03:	49 8b cd             	mov    %r13,%rcx
140e89b06:	e8 45 73 ae ff       	call   0x140970e50
140e89b0b:	90                   	nop
140e89b0c:	4c 8b c0             	mov    %rax,%r8
140e89b0f:	ba 03 ff 00 00       	mov    $0xff03,%edx
140e89b14:	49 8b cf             	mov    %r15,%rcx
140e89b17:	e8 a4 3d fe ff       	call   0x140e6d8c0
140e89b1c:	90                   	nop
140e89b1d:	48 8b 55 f7          	mov    -0x9(%rbp),%rdx
140e89b21:	48 83 fa 07          	cmp    $0x7,%rdx
140e89b25:	76 36                	jbe    0x140e89b5d
140e89b27:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140e89b2e:	00
140e89b2f:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140e89b33:	48 8b c1             	mov    %rcx,%rax
140e89b36:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e89b3d:	72 19                	jb     0x140e89b58
140e89b3f:	48 83 c2 27          	add    $0x27,%rdx
140e89b43:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e89b47:	48 2b c1             	sub    %rcx,%rax
140e89b4a:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e89b4e:	48 83 f8 1f          	cmp    $0x1f,%rax
140e89b52:	0f 87 fe 03 00 00    	ja     0x140e89f56
140e89b58:	e8 e7 15 f9 ff       	call   0x140e1b144
140e89b5d:	48 8d 55 df          	lea    -0x21(%rbp),%rdx
140e89b61:	49 8b cd             	mov    %r13,%rcx
140e89b64:	e8 e7 6f ae ff       	call   0x140970b50
140e89b69:	90                   	nop
140e89b6a:	4c 8b c0             	mov    %rax,%r8
140e89b6d:	ba 04 ff 00 00       	mov    $0xff04,%edx
140e89b72:	49 8b cf             	mov    %r15,%rcx
140e89b75:	e8 46 3d fe ff       	call   0x140e6d8c0
140e89b7a:	90                   	nop
140e89b7b:	48 8b 55 f7          	mov    -0x9(%rbp),%rdx
140e89b7f:	48 83 fa 07          	cmp    $0x7,%rdx
140e89b83:	76 36                	jbe    0x140e89bbb
140e89b85:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140e89b8c:	00
140e89b8d:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140e89b91:	48 8b c1             	mov    %rcx,%rax
140e89b94:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e89b9b:	72 19                	jb     0x140e89bb6
140e89b9d:	48 83 c2 27          	add    $0x27,%rdx
140e89ba1:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e89ba5:	48 2b c1             	sub    %rcx,%rax
140e89ba8:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e89bac:	48 83 f8 1f          	cmp    $0x1f,%rax
140e89bb0:	0f 87 a6 03 00 00    	ja     0x140e89f5c
140e89bb6:	e8 89 15 f9 ff       	call   0x140e1b144
140e89bbb:	49 8b 4d 28          	mov    0x28(%r13),%rcx
140e89bbf:	48 8b 01             	mov    (%rcx),%rax
140e89bc2:	48 8d 55 df          	lea    -0x21(%rbp),%rdx
140e89bc6:	48 8b 40 08          	mov    0x8(%rax),%rax
140e89bca:	ff 15 50 9e 0f 00    	call   *0xf9e50(%rip)        # 0x140f83a20
140e89bd0:	c7 45 d7 0f 00 00 00 	movl   $0xf,-0x29(%rbp)
140e89bd7:	4c 8d 45 df          	lea    -0x21(%rbp),%r8
140e89bdb:	ba 09 ff 00 00       	mov    $0xff09,%edx
140e89be0:	49 8b cf             	mov    %r15,%rcx
140e89be3:	e8 d8 3c fe ff       	call   0x140e6d8c0
140e89be8:	90                   	nop
140e89be9:	48 8b 55 f7          	mov    -0x9(%rbp),%rdx
140e89bed:	48 83 fa 07          	cmp    $0x7,%rdx
140e89bf1:	76 36                	jbe    0x140e89c29
140e89bf3:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140e89bfa:	00
140e89bfb:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140e89bff:	48 8b c1             	mov    %rcx,%rax
140e89c02:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e89c09:	72 19                	jb     0x140e89c24
140e89c0b:	48 83 c2 27          	add    $0x27,%rdx
140e89c0f:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e89c13:	48 2b c1             	sub    %rcx,%rax
140e89c16:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e89c1a:	48 83 f8 1f          	cmp    $0x1f,%rax
140e89c1e:	0f 87 3e 03 00 00    	ja     0x140e89f62
140e89c24:	e8 1b 15 f9 ff       	call   0x140e1b144
140e89c29:	49 8b 4d 28          	mov    0x28(%r13),%rcx