140969b31:	45 33 c9             	xor    %r9d,%r9d
140969b34:	45 33 c0             	xor    %r8d,%r8d
140969b37:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140969b3c:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140969b41:	e8 2a 20 7c ff       	call   0x14012bb70
140969b46:	84 c0                	test   %al,%al
140969b48:	74 38                	je     0x140969b82
140969b4a:	8b 54 24 60          	mov    0x60(%rsp),%edx
140969b4e:	41 3b d4             	cmp    %r12d,%edx
140969b51:	74 2f                	je     0x140969b82
140969b53:	89 56 6c             	mov    %edx,0x6c(%rsi)
140969b56:	8b ca                	mov    %edx,%ecx
140969b58:	41 2b cc             	sub    %r12d,%ecx
140969b5b:	8b c1                	mov    %ecx,%eax
140969b5d:	f7 d8                	neg    %eax
140969b5f:	0f 48 c1             	cmovs  %ecx,%eax
140969b62:	83 f8 08             	cmp    $0x8,%eax
140969b65:	0f 8d 1b 02 00 00    	jge    0x140969d86
140969b6b:	81 e2 07 00 00 80    	and    $0x80000007,%edx
140969b71:	7d 07                	jge    0x140969b7a
140969b73:	ff ca                	dec    %edx
140969b75:	83 ca f8             	or     $0xfffffff8,%edx
140969b78:	ff c2                	inc    %edx
140969b7a:	85 d2                	test   %edx,%edx
140969b7c:	0f 85 04 02 00 00    	jne    0x140969d86
140969b82:	49 8b 0e             	mov    (%r14),%rcx
140969b85:	48 8b 01             	mov    (%rcx),%rax
140969b88:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140969b8c:	48 8b 40 40          	mov    0x40(%rax),%rax
140969b90:	ff 15 a2 30 1a 00    	call   *0x1a30a2(%rip)        # 0x140b0cc38
140969b96:	48 8b d0             	mov    %rax,%rdx
140969b99:	0f 57 c0             	xorps  %xmm0,%xmm0
140969b9c:	f3 0f 7f 44 24 48    	movdqu %xmm0,0x48(%rsp)
140969ba2:	48 8b 48 08          	mov    0x8(%rax),%rcx
140969ba6:	48 85 c9             	test   %rcx,%rcx
140969ba9:	74 04                	je     0x140969baf
140969bab:	f0 ff 41 08          	lock incl 0x8(%rcx)
140969baf:	48 8b 00             	mov    (%rax),%rax
140969bb2:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140969bb7:	48 8b 42 08          	mov    0x8(%rdx),%rax
140969bbb:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140969bc0:	c7 44 24 28 36 80 04 	movl   $0x80048036,0x28(%rsp)
140969bc7:	80
140969bc8:	c7 44 24 20 37 80 04 	movl   $0x80048037,0x20(%rsp)
140969bcf:	80
140969bd0:	45 33 c9             	xor    %r9d,%r9d
140969bd3:	45 33 c0             	xor    %r8d,%r8d
140969bd6:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140969bdb:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140969be0:	e8 8b 1f 7c ff       	call   0x14012bb70
140969be5:	84 c0                	test   %al,%al
140969be7:	74 11                	je     0x140969bfa
140969be9:	8b 44 24 58          	mov    0x58(%rsp),%eax
140969bed:	41 3b c5             	cmp    %r13d,%eax
140969bf0:	74 08                	je     0x140969bfa
140969bf2:	85 c0                	test   %eax,%eax
140969bf4:	0f 85 5f 01 00 00    	jne    0x140969d59
140969bfa:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
140969bfe:	48 83 f8 0f          	cmp    $0xf,%rax
140969c02:	76 2d                	jbe    0x140969c31
140969c04:	48 ff c0             	inc    %rax
140969c07:	48 8b 4d c0          	mov    -0x40(%rbp),%rcx
140969c0b:	48 8b d1             	mov    %rcx,%rdx
140969c0e:	48 3b c3             	cmp    %rbx,%rax
140969c11:	72 18                	jb     0x140969c2b
140969c13:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140969c17:	48 2b d1             	sub    %rcx,%rdx
140969c1a:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
140969c1e:	48 83 f8 1f          	cmp    $0x1f,%rax
140969c22:	76 07                	jbe    0x140969c2b
140969c24:	ff 15 6e 2d 1a 00    	call   *0x1a2d6e(%rip)        # 0x140b0c998
140969c2a:	cc                   	int3
140969c2b:	ff 15 8f 2c 1a 00    	call   *0x1a2c8f(%rip)        # 0x140b0c8c0
140969c31:	66 0f 6f 05 17 80 24 	movdqa 0x248017(%rip),%xmm0        # 0x140bb1c50
140969c38:	00
140969c39:	f3 0f 7f 45 d0       	movdqu %xmm0,-0x30(%rbp)
140969c3e:	40 88 7d c0          	mov    %dil,-0x40(%rbp)
140969c42:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
140969c46:	48 83 f8 0f          	cmp    $0xf,%rax
140969c4a:	76 36                	jbe    0x140969c82
140969c4c:	48 ff c0             	inc    %rax
140969c4f:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140969c53:	48 8b d1             	mov    %rcx,%rdx
140969c56:	48 3b c3             	cmp    %rbx,%rax
140969c59:	72 18                	jb     0x140969c73
140969c5b:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140969c5f:	48 2b d1             	sub    %rcx,%rdx
140969c62:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
140969c66:	48 83 f8 1f          	cmp    $0x1f,%rax
140969c6a:	76 07                	jbe    0x140969c73
140969c6c:	ff 15 26 2d 1a 00    	call   *0x1a2d26(%rip)        # 0x140b0c998
140969c72:	cc                   	int3
140969c73:	ff 15 47 2c 1a 00    	call   *0x1a2c47(%rip)        # 0x140b0c8c0
140969c79:	eb 07                	jmp    0x140969c82
140969c7b:	89 7e 68             	mov    %edi,0x68(%rsi)
140969c7e:	66 89 7e 78          	mov    %di,0x78(%rsi)
140969c82:	48 63 4e 6c          	movslq 0x6c(%rsi),%rcx
140969c86:	48 83 c1 07          	add    $0x7,%rcx
140969c8a:	b8 00 00 00 80       	mov    $0x80000000,%eax
140969c8f:	48 03 c1             	add    %rcx,%rax
140969c92:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140969c97:	48 3b c2             	cmp    %rdx,%rax
140969c9a:	0f 87 dd 00 00 00    	ja     0x140969d7d
140969ca0:	c1 f9 03             	sar    $0x3,%ecx
140969ca3:	89 4e 70             	mov    %ecx,0x70(%rsi)
140969ca6:	49 8b 5f 08          	mov    0x8(%r15),%rbx
140969caa:	41 83 cf ff          	or     $0xffffffff,%r15d
140969cae:	48 85 db             	test   %rbx,%rbx
140969cb1:	74 3a                	je     0x140969ced
140969cb3:	41 8b c7             	mov    %r15d,%eax
140969cb6:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140969cbb:	41 03 c7             	add    %r15d,%eax
140969cbe:	75 2d                	jne    0x140969ced
140969cc0:	48 8b 03             	mov    (%rbx),%rax
140969cc3:	48 8b cb             	mov    %rbx,%rcx
140969cc6:	48 8b 00             	mov    (%rax),%rax
140969cc9:	ff 15 69 2f 1a 00    	call   *0x1a2f69(%rip)        # 0x140b0cc38
140969ccf:	41 8b c7             	mov    %r15d,%eax
140969cd2:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140969cd7:	41 03 c7             	add    %r15d,%eax
140969cda:	75 11                	jne    0x140969ced
140969cdc:	48 8b 03             	mov    (%rbx),%rax
140969cdf:	48 8b cb             	mov    %rbx,%rcx
140969ce2:	48 8b 40 08          	mov    0x8(%rax),%rax
140969ce6:	ff 15 4c 2f 1a 00    	call   *0x1a2f4c(%rip)        # 0x140b0cc38
140969cec:	90                   	nop
140969ced:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140969cf1:	48 85 db             	test   %rbx,%rbx
140969cf4:	74 39                	je     0x140969d2f
140969cf6:	41 8b c7             	mov    %r15d,%eax
140969cf9:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140969cfe:	41 03 c7             	add    %r15d,%eax
140969d01:	75 2c                	jne    0x140969d2f
140969d03:	48 8b 03             	mov    (%rbx),%rax
140969d06:	48 8b cb             	mov    %rbx,%rcx
140969d09:	48 8b 00             	mov    (%rax),%rax
140969d0c:	ff 15 26 2f 1a 00    	call   *0x1a2f26(%rip)        # 0x140b0cc38
140969d12:	41 8b d7             	mov    %r15d,%edx
140969d15:	f0 0f c1 53 0c       	lock xadd %edx,0xc(%rbx)
140969d1a:	41 03 d7             	add    %r15d,%edx
140969d1d:	75 10                	jne    0x140969d2f
140969d1f:	48 8b 13             	mov    (%rbx),%rdx
140969d22:	48 8b cb             	mov    %rbx,%rcx
140969d25:	48 8b 42 08          	mov    0x8(%rdx),%rax
140969d29:	ff 15 09 2f 1a 00    	call   *0x1a2f09(%rip)        # 0x140b0cc38
140969d2f:	48 8b c6             	mov    %rsi,%rax
140969d32:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140969d36:	48 33 cc             	xor    %rsp,%rcx
140969d39:	e8 a2 58 18 00       	call   0x140aef5e0
140969d3e:	48 8b 9c 24 68 01 00 	mov    0x168(%rsp),%rbx
140969d45:	00
140969d46:	48 81 c4 10 01 00 00 	add    $0x110,%rsp
140969d4d:	41 5f                	pop    %r15
140969d4f:	41 5e                	pop    %r14
140969d51:	41 5d                	pop    %r13
140969d53:	41 5c                	pop    %r12
140969d55:	5f                   	pop    %rdi
140969d56:	5e                   	pop    %rsi
140969d57:	5d                   	pop    %rbp
140969d58:	c3                   	ret
140969d59:	41 b8 3a 80 04 80    	mov    $0x8004803a,%r8d
140969d5f:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140969d63:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140969d67:	e8 44 a1 fe ff       	call   0x140953eb0
140969d6c:	48 8d 15 dd cd 2c 00 	lea    0x2ccddd(%rip),%rdx        # 0x140c36b50
140969d73:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140969d77:	e8 02 67 18 00       	call   0x140af047e
140969d7c:	90                   	nop
140969d7d:	e8 a2 5f 97 ff       	call   0x1402dfd24
140969d82:	90                   	nop
140969d83:	eb 00                	jmp    0x140969d85
140969d85:	90                   	nop
140969d86:	41 b8 3a 80 04 80    	mov    $0x8004803a,%r8d
140969d8c:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140969d90:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140969d94:	e8 17 a1 fe ff       	call   0x140953eb0
140969d99:	48 8d 15 b0 cd 2c 00 	lea    0x2ccdb0(%rip),%rdx        # 0x140c36b50
140969da0:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140969da4:	e8 d5 66 18 00       	call   0x140af047e
140969da9:	cc                   	int3
140969daa:	90                   	nop
140969dab:	90                   	nop
140969dac:	90                   	nop
140969dad:	90                   	nop
140969dae:	90                   	nop
140969daf:	90                   	nop
140969db0:	40 55                	rex push %rbp
140969db2:	53                   	push   %rbx
140969db3:	56                   	push   %rsi
140969db4:	57                   	push   %rdi
140969db5:	41 54                	push   %r12
140969db7:	41 55                	push   %r13
140969db9:	41 56                	push   %r14
140969dbb:	41 57                	push   %r15
140969dbd:	48 8b ec             	mov    %rsp,%rbp
140969dc0:	48 83 ec 68          	sub    $0x68,%rsp
140969dc4:	48 8b f1             	mov    %rcx,%rsi
140969dc7:	c6 45 48 00          	movb   $0x0,0x48(%rbp)
140969dcb:	8b 51 68             	mov    0x68(%rcx),%edx
140969dce:	85 d2                	test   %edx,%edx
140969dd0:	74 2c                	je     0x140969dfe
140969dd2:	83 ea 01             	sub    $0x1,%edx
140969dd5:	74 20                	je     0x140969df7
140969dd7:	83 ea 01             	sub    $0x1,%edx
140969dda:	74 14                	je     0x140969df0
140969ddc:	83 fa 01             	cmp    $0x1,%edx
140969ddf:	74 08                	je     0x140969de9
140969de1:	33 db                	xor    %ebx,%ebx
140969de3:	48 89 5d b8          	mov    %rbx,-0x48(%rbp)
140969de7:	eb 26                	jmp    0x140969e0f
140969de9:	b9 03 00 00 00       	mov    $0x3,%ecx
140969dee:	eb 10                	jmp    0x140969e00
140969df0:	b9 02 00 00 00       	mov    $0x2,%ecx
140969df5:	eb 09                	jmp    0x140969e00
140969df7:	b9 01 00 00 00       	mov    $0x1,%ecx
140969dfc:	eb 02                	jmp    0x140969e00
140969dfe:	33 c9                	xor    %ecx,%ecx
140969e00:	8b 56 6c             	mov    0x6c(%rsi),%edx
140969e03:	e8 08 28 16 00       	call   0x140acc610
140969e08:	48 8b d8             	mov    %rax,%rbx
140969e0b:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
140969e0f:	81 7e 74 ff ff ff 7f 	cmpl   $0x7fffffff,0x74(%rsi)
140969e16:	0f 87 13 03 00 00    	ja     0x14096a12f
140969e1c:	4c 63 7e 70          	movslq 0x70(%rsi),%r15
140969e20:	48 63 46 74          	movslq 0x74(%rsi),%rax
140969e24:	4c 0f af f8          	imul   %rax,%r15
140969e28:	b8 00 00 00 80       	mov    $0x80000000,%eax
140969e2d:	49 03 c7             	add    %r15,%rax
140969e30:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
140969e35:	48 3b c1             	cmp    %rcx,%rax
140969e38:	0f 87 f1 02 00 00    	ja     0x14096a12f
140969e3e:	33 ff                	xor    %edi,%edi
140969e40:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
140969e44:	45 33 f6             	xor    %r14d,%r14d
140969e47:	4c 89 75 e0          	mov    %r14,-0x20(%rbp)
140969e4b:	48 21 7d e8          	and    %rdi,-0x18(%rbp)
140969e4f:	49 63 d7             	movslq %r15d,%rdx
140969e52:	45 85 ff             	test   %r15d,%r15d
140969e55:	74 11                	je     0x140969e68
140969e57:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140969e5b:	e8 d8 79 84 ff       	call   0x1401b1838
140969e60:	4c 8b 75 e0          	mov    -0x20(%rbp),%r14
140969e64:	48 8b 7d d8          	mov    -0x28(%rbp),%rdi
140969e68:	48 8b 4e 58          	mov    0x58(%rsi),%rcx
140969e6c:	48 8b 01             	mov    (%rcx),%rax
140969e6f:	48 8b 40 28          	mov    0x28(%rax),%rax
140969e73:	ff 15 bf 2d 1a 00    	call   *0x1a2dbf(%rip)        # 0x140b0cc38
140969e79:	44 8b e0             	mov    %eax,%r12d
140969e7c:	0f 57 c0             	xorps  %xmm0,%xmm0
140969e7f:	f3 0f 7f 45 c8       	movdqu %xmm0,-0x38(%rbp)
140969e84:	48 8b 4e 60          	mov    0x60(%rsi),%rcx
140969e88:	48 85 c9             	test   %rcx,%rcx
140969e8b:	74 10                	je     0x140969e9d
140969e8d:	f0 ff 41 08          	lock incl 0x8(%rcx)
140969e91:	48 8b 5d b8          	mov    -0x48(%rbp),%rbx
140969e95:	4c 8b 75 e0          	mov    -0x20(%rbp),%r14
140969e99:	48 8b 7d d8          	mov    -0x28(%rbp),%rdi
140969e9d:	48 8b 46 58          	mov    0x58(%rsi),%rax
140969ea1:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140969ea5:	48 8b 46 60          	mov    0x60(%rsi),%rax
140969ea9:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140969ead:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
140969eb1:	e8 3a 10 fd ff       	call   0x14093aef0
140969eb6:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140969eba:	4c 3b f7             	cmp    %rdi,%r14
140969ebd:	75 07                	jne    0x140969ec6
140969ebf:	ff 15 d3 2a 1a 00    	call   *0x1a2ad3(%rip)        # 0x140b0c998
140969ec5:	cc                   	int3
140969ec6:	44 8b 6e 74          	mov    0x74(%rsi),%r13d
140969eca:	8a 56 78             	mov    0x78(%rsi),%dl
140969ecd:	88 55 50             	mov    %dl,0x50(%rbp)
140969ed0:	48 85 db             	test   %rbx,%rbx
140969ed3:	0f 84 cf 01 00 00    	je     0x14096a0a8
140969ed9:	48 8b cf             	mov    %rdi,%rcx
140969edc:	48 89 4d 60          	mov    %rcx,0x60(%rbp)
140969ee0:	48 89 43 18          	mov    %rax,0x18(%rbx)
140969ee4:	44 89 63 20          	mov    %r12d,0x20(%rbx)
140969ee8:	44 8b 4b 04          	mov    0x4(%rbx),%r9d
140969eec:	44 89 4d 58          	mov    %r9d,0x58(%rbp)
140969ef0:	45 8d 61 07          	lea    0x7(%r9),%r12d
140969ef4:	41 c1 fc 03          	sar    $0x3,%r12d
140969ef8:	45 85 ed             	test   %r13d,%r13d
140969efb:	0f 84 d6 00 00 00    	je     0x140969fd7
140969f01:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140969f06:	44 03 e8             	add    %eax,%r13d
140969f09:	45 33 c0             	xor    %r8d,%r8d
140969f0c:	84 d2                	test   %dl,%dl
140969f0e:	74 1e                	je     0x140969f2e
140969f10:	44 39 43 0c          	cmp    %r8d,0xc(%rbx)
140969f14:	74 18                	je     0x140969f2e
140969f16:	8b 43 20             	mov    0x20(%rbx),%eax
140969f19:	85 c0                	test   %eax,%eax
140969f1b:	0f 84 a9 00 00 00    	je     0x140969fca
140969f21:	ff c8                	dec    %eax
140969f23:	89 43 20             	mov    %eax,0x20(%rbx)
140969f26:	48 ff 43 18          	incq   0x18(%rbx)
140969f2a:	44 21 43 0c          	and    %r8d,0xc(%rbx)
140969f2e:	8b 0b                	mov    (%rbx),%ecx
140969f30:	85 c9                	test   %ecx,%ecx
140969f32:	74 31                	je     0x140969f65
140969f34:	83 e9 01             	sub    $0x1,%ecx
140969f37:	74 0a                	je     0x140969f43
140969f39:	83 e9 01             	sub    $0x1,%ecx
140969f3c:	74 1d                	je     0x140969f5b
140969f3e:	83 f9 01             	cmp    $0x1,%ecx
140969f41:	75 46                	jne    0x140969f89
140969f43:	48 8b cb             	mov    %rbx,%rcx
140969f46:	e8 11 18 16 00       	call   0x140acb75c
140969f4b:	33 c9                	xor    %ecx,%ecx
140969f4d:	85 c0                	test   %eax,%eax
140969f4f:	0f 49 c8             	cmovns %eax,%ecx
140969f52:	85 c9                	test   %ecx,%ecx
140969f54:	48 8b cb             	mov    %rbx,%rcx
140969f57:	74 17                	je     0x140969f70
140969f59:	eb 03                	jmp    0x140969f5e
140969f5b:	48 8b cb             	mov    %rbx,%rcx
140969f5e:	e8 09 1a 16 00       	call   0x140acb96c
140969f63:	eb 18                	jmp    0x140969f7d
140969f65:	48 8b cb             	mov    %rbx,%rcx
140969f68:	e8 ef 17 16 00       	call   0x140acb75c
140969f6d:	48 8b cb             	mov    %rbx,%rcx
140969f70:	44 8b 43 30          	mov    0x30(%rbx),%r8d
140969f74:	48 8b 53 28          	mov    0x28(%rbx),%rdx
140969f78:	e8 93 18 16 00       	call   0x140acb810
140969f7d:	44 8b c0             	mov    %eax,%r8d
140969f80:	83 f8 ff             	cmp    $0xffffffff,%eax
140969f83:	74 4e                	je     0x140969fd3
140969f85:	44 8b 4d 58          	mov    0x58(%rbp),%r9d
140969f89:	41 8d 41 07          	lea    0x7(%r9),%eax
140969f8d:	99                   	cltd
140969f8e:	83 e2 07             	and    $0x7,%edx
140969f91:	03 c2                	add    %edx,%eax
140969f93:	c1 f8 03             	sar    $0x3,%eax
140969f96:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140969f9a:	44 3b f8             	cmp    %eax,%r15d
140969f9d:	72 38                	jb     0x140969fd7
140969f9f:	48 8b 53 28          	mov    0x28(%rbx),%rdx
140969fa3:	e8 48 15 16 00       	call   0x140acb4f0
140969fa8:	49 63 c4             	movslq %r12d,%rax
140969fab:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140969faf:	48 03 c8             	add    %rax,%rcx
140969fb2:	48 89 4d 60          	mov    %rcx,0x60(%rbp)
140969fb6:	45 2b fc             	sub    %r12d,%r15d
140969fb9:	45 85 ed             	test   %r13d,%r13d
140969fbc:	74 19                	je     0x140969fd7
140969fbe:	8a 55 50             	mov    0x50(%rbp),%dl
140969fc1:	44 8b 4d 58          	mov    0x58(%rbp),%r9d
140969fc5:	e9 37 ff ff ff       	jmp    0x140969f01
140969fca:	41 83 cf ff          	or     $0xffffffff,%r15d
140969fce:	41 8b cf             	mov    %r15d,%ecx