140021bb9:	ff ff 3f
140021bbc:	49 3b c0             	cmp    %r8,%rax
140021bbf:	0f 84 d1 00 00 00    	je     0x140021c96
140021bc5:	4c 8d 78 01          	lea    0x1(%rax),%r15
140021bc9:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140021bcd:	48 2b 0e             	sub    (%rsi),%rcx
140021bd0:	48 c1 f9 02          	sar    $0x2,%rcx
140021bd4:	48 8b d1             	mov    %rcx,%rdx
140021bd7:	48 d1 ea             	shr    $1,%rdx
140021bda:	49 8b c0             	mov    %r8,%rax
140021bdd:	48 2b c2             	sub    %rdx,%rax
140021be0:	48 3b c8             	cmp    %rax,%rcx
140021be3:	76 05                	jbe    0x140021bea
140021be5:	49 8b f8             	mov    %r8,%rdi
140021be8:	eb 0b                	jmp    0x140021bf5
140021bea:	48 8d 3c 0a          	lea    (%rdx,%rcx,1),%rdi
140021bee:	49 3b ff             	cmp    %r15,%rdi
140021bf1:	49 0f 42 ff          	cmovb  %r15,%rdi
140021bf5:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
140021bfa:	49 3b f8             	cmp    %r8,%rdi
140021bfd:	0f 87 99 00 00 00    	ja     0x140021c9c
140021c03:	48 8d 0c bd 00 00 00 	lea    0x0(,%rdi,4),%rcx
140021c0a:	00
140021c0b:	33 db                	xor    %ebx,%ebx
140021c0d:	48 85 c9             	test   %rcx,%rcx
140021c10:	74 11                	je     0x140021c23
140021c12:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140021c19:	72 2c                	jb     0x140021c47
140021c1b:	e8 ec 75 fe ff       	call   0x14000920c
140021c20:	48 8b d8             	mov    %rax,%rbx
140021c23:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
140021c28:	4e 8d 34 b3          	lea    (%rbx,%r14,4),%r14
140021c2c:	41 8b 45 00          	mov    0x0(%r13),%eax
140021c30:	41 89 06             	mov    %eax,(%r14)
140021c33:	4c 8b 46 08          	mov    0x8(%rsi),%r8
140021c37:	48 8b 16             	mov    (%rsi),%rdx
140021c3a:	48 8b cb             	mov    %rbx,%rcx
140021c3d:	4d 3b e0             	cmp    %r8,%r12
140021c40:	75 12                	jne    0x140021c54
140021c42:	4c 2b c2             	sub    %rdx,%r8
140021c45:	eb 26                	jmp    0x140021c6d
140021c47:	ff 15 c3 28 01 00    	call   *0x128c3(%rip)        # 0x140034510
140021c4d:	48 85 c0             	test   %rax,%rax
140021c50:	74 50                	je     0x140021ca2
140021c52:	eb cc                	jmp    0x140021c20
140021c54:	4d 8b c4             	mov    %r12,%r8
140021c57:	4c 2b 06             	sub    (%rsi),%r8
140021c5a:	e8 4d fe 00 00       	call   0x140031aac
140021c5f:	49 8d 4e 04          	lea    0x4(%r14),%rcx
140021c63:	4c 8b 46 08          	mov    0x8(%rsi),%r8
140021c67:	4d 2b c4             	sub    %r12,%r8
140021c6a:	49 8b d4             	mov    %r12,%rdx
140021c6d:	e8 3a fe 00 00       	call   0x140031aac
140021c72:	4c 8b cf             	mov    %rdi,%r9
140021c75:	4d 8b c7             	mov    %r15,%r8
140021c78:	48 8b d3             	mov    %rbx,%rdx
140021c7b:	48 8b ce             	mov    %rsi,%rcx
140021c7e:	e8 29 2d ff ff       	call   0x1400149ac
140021c83:	49 8b c6             	mov    %r14,%rax
140021c86:	48 83 c4 20          	add    $0x20,%rsp
140021c8a:	41 5f                	pop    %r15
140021c8c:	41 5e                	pop    %r14
140021c8e:	41 5d                	pop    %r13
140021c90:	41 5c                	pop    %r12
140021c92:	5f                   	pop    %rdi
140021c93:	5e                   	pop    %rsi
140021c94:	5b                   	pop    %rbx
140021c95:	c3                   	ret
140021c96:	e8 01 a6 fe ff       	call   0x14000c29c
140021c9b:	cc                   	int3
140021c9c:	e8 af 7b fe ff       	call   0x140009850
140021ca1:	cc                   	int3
140021ca2:	e8 4c fe 00 00       	call   0x140031af3
140021ca7:	cc                   	int3
140021ca8:	48 8b c4             	mov    %rsp,%rax
140021cab:	48 89 58 08          	mov    %rbx,0x8(%rax)
140021caf:	48 89 70 10          	mov    %rsi,0x10(%rax)
140021cb3:	48 89 78 18          	mov    %rdi,0x18(%rax)
140021cb7:	41 56                	push   %r14
140021cb9:	48 83 ec 30          	sub    $0x30,%rsp
140021cbd:	49 8b 38             	mov    (%r8),%rdi
140021cc0:	48 8b da             	mov    %rdx,%rbx
140021cc3:	48 2b 39             	sub    (%rcx),%rdi
140021cc6:	48 8d 50 e8          	lea    -0x18(%rax),%rdx
140021cca:	41 0f 10 00          	movups (%r8),%xmm0
140021cce:	48 c1 ff 02          	sar    $0x2,%rdi
140021cd2:	49 8b f1             	mov    %r9,%rsi
140021cd5:	48 c1 e7 05          	shl    $0x5,%rdi
140021cd9:	4c 8b f1             	mov    %rcx,%r14
140021cdc:	49 03 78 08          	add    0x8(%r8),%rdi
140021ce0:	4c 8b 44 24 60       	mov    0x60(%rsp),%r8
140021ce5:	4d 2b c1             	sub    %r9,%r8
140021ce8:	f3 0f 7f 40 e8       	movdqu %xmm0,-0x18(%rax)
140021ced:	e8 8a 27 ff ff       	call   0x14001447c
140021cf2:	4d 8b 06             	mov    (%r14),%r8
140021cf5:	48 8b d0             	mov    %rax,%rdx
140021cf8:	48 85 c0             	test   %rax,%rax
140021cfb:	79 21                	jns    0x140021d1e
140021cfd:	48 8b c8             	mov    %rax,%rcx
140021d00:	48 f7 d9             	neg    %rcx
140021d03:	74 19                	je     0x140021d1e
140021d05:	48 f7 d0             	not    %rax
140021d08:	48 c1 e8 05          	shr    $0x5,%rax
140021d0c:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140021d13:	00
140021d14:	4c 2b c0             	sub    %rax,%r8
140021d17:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140021d1c:	eb 0d                	jmp    0x140021d2b
140021d1e:	48 c1 e8 05          	shr    $0x5,%rax
140021d22:	49 8d 04 80          	lea    (%r8,%rax,4),%rax
140021d26:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140021d2b:	83 e2 1f             	and    $0x1f,%edx
140021d2e:	44 8b ca             	mov    %edx,%r9d
140021d31:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140021d36:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140021d3b:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
140021d41:	48 3b 74 24 60       	cmp    0x60(%rsp),%rsi
140021d46:	74 48                	je     0x140021d90
140021d48:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
140021d4d:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140021d52:	80 3e 00             	cmpb   $0x0,(%rsi)
140021d55:	8b 01                	mov    (%rcx),%eax
140021d57:	74 06                	je     0x140021d5f
140021d59:	44 0f ab c0          	bts    %r8d,%eax
140021d5d:	eb 07                	jmp    0x140021d66
140021d5f:	44 0f b3 c0          	btr    %r8d,%eax
140021d63:	49 8b d1             	mov    %r9,%rdx
140021d66:	89 01                	mov    %eax,(%rcx)
140021d68:	48 83 fa 1f          	cmp    $0x1f,%rdx
140021d6c:	73 0c                	jae    0x140021d7a
140021d6e:	49 8d 50 01          	lea    0x1(%r8),%rdx
140021d72:	4c 8b c2             	mov    %rdx,%r8
140021d75:	4c 8b ca             	mov    %rdx,%r9
140021d78:	eb 0c                	jmp    0x140021d86
140021d7a:	45 33 c0             	xor    %r8d,%r8d
140021d7d:	48 83 c1 04          	add    $0x4,%rcx
140021d81:	33 d2                	xor    %edx,%edx
140021d83:	45 33 c9             	xor    %r9d,%r9d
140021d86:	48 ff c6             	inc    %rsi
140021d89:	48 3b 74 24 60       	cmp    0x60(%rsp),%rsi
140021d8e:	75 c2                	jne    0x140021d52
140021d90:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140021d96:	48 8d 53 08          	lea    0x8(%rbx),%rdx
140021d9a:	49 8b 06             	mov    (%r14),%rax
140021d9d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140021da2:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
140021da7:	f3 0f 7f 03          	movdqu %xmm0,(%rbx)
140021dab:	48 85 ff             	test   %rdi,%rdi
140021dae:	79 2c                	jns    0x140021ddc
140021db0:	48 8b 0a             	mov    (%rdx),%rcx
140021db3:	48 8b c7             	mov    %rdi,%rax
140021db6:	48 f7 d8             	neg    %rax
140021db9:	48 3b c8             	cmp    %rax,%rcx
140021dbc:	73 1e                	jae    0x140021ddc
140021dbe:	4c 8d 04 39          	lea    (%rcx,%rdi,1),%r8
140021dc2:	48 c7 c0 fc ff ff ff 	mov    $0xfffffffffffffffc,%rax
140021dc9:	49 8b c8             	mov    %r8,%rcx
140021dcc:	48 f7 d1             	not    %rcx
140021dcf:	48 c1 e9 05          	shr    $0x5,%rcx
140021dd3:	48 c1 e1 02          	shl    $0x2,%rcx
140021dd7:	48 2b c1             	sub    %rcx,%rax
140021dda:	eb 11                	jmp    0x140021ded
140021ddc:	4c 8b 02             	mov    (%rdx),%r8
140021ddf:	4c 03 c7             	add    %rdi,%r8
140021de2:	49 8b c0             	mov    %r8,%rax
140021de5:	48 c1 e8 05          	shr    $0x5,%rax
140021de9:	48 c1 e0 02          	shl    $0x2,%rax
140021ded:	48 01 03             	add    %rax,(%rbx)
140021df0:	48 8b c3             	mov    %rbx,%rax
140021df3:	4c 89 02             	mov    %r8,(%rdx)
140021df6:	41 83 e0 1f          	and    $0x1f,%r8d
140021dfa:	4c 89 02             	mov    %r8,(%rdx)
140021dfd:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140021e02:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140021e07:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140021e0c:	48 83 c4 30          	add    $0x30,%rsp
140021e10:	41 5e                	pop    %r14
140021e12:	c3                   	ret
140021e13:	90                   	nop
140021e14:	48 8b c4             	mov    %rsp,%rax
140021e17:	48 89 58 18          	mov    %rbx,0x18(%rax)
140021e1b:	48 89 48 08          	mov    %rcx,0x8(%rax)
140021e1f:	57                   	push   %rdi
140021e20:	48 83 ec 50          	sub    $0x50,%rsp
140021e24:	48 8b da             	mov    %rdx,%rbx
140021e27:	48 8b f9             	mov    %rcx,%rdi
140021e2a:	83 60 10 00          	andl   $0x0,0x10(%rax)
140021e2e:	48 83 21 00          	andq   $0x0,(%rcx)
140021e32:	48 83 61 08 00       	andq   $0x0,0x8(%rcx)
140021e37:	48 83 61 10 00       	andq   $0x0,0x10(%rcx)
140021e3c:	4c 8d 40 10          	lea    0x10(%rax),%r8
140021e40:	33 d2                	xor    %edx,%edx
140021e42:	e8 f1 23 ff ff       	call   0x140014238
140021e47:	48 83 67 18 00       	andq   $0x0,0x18(%rdi)
140021e4c:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140021e50:	48 8b 07             	mov    (%rdi),%rax
140021e53:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140021e58:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
140021e5e:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
140021e63:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
140021e69:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140021e6e:	4c 8b 0b             	mov    (%rbx),%r9
140021e71:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140021e76:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140021e7b:	48 8b cf             	mov    %rdi,%rcx
140021e7e:	e8 25 fe ff ff       	call   0x140021ca8
140021e83:	48 8b c7             	mov    %rdi,%rax
140021e86:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140021e8b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140021e90:	48 83 c4 50          	add    $0x50,%rsp
140021e94:	5f                   	pop    %rdi
140021e95:	c3                   	ret
140021e96:	90                   	nop
140021e97:	90                   	nop
140021e98:	48 83 ec 28          	sub    $0x28,%rsp
140021e9c:	48 8b 09             	mov    (%rcx),%rcx
140021e9f:	48 85 c9             	test   %rcx,%rcx
140021ea2:	74 05                	je     0x140021ea9
140021ea4:	e8 df a3 fe ff       	call   0x14000c288
140021ea9:	48 83 c4 28          	add    $0x28,%rsp
140021ead:	c3                   	ret
140021eae:	90                   	nop
140021eaf:	90                   	nop
140021eb0:	40 53                	rex push %rbx
140021eb2:	48 83 ec 20          	sub    $0x20,%rsp
140021eb6:	48 8b 19             	mov    (%rcx),%rbx
140021eb9:	48 85 db             	test   %rbx,%rbx
140021ebc:	74 10                	je     0x140021ece
140021ebe:	48 8b cb             	mov    %rbx,%rcx
140021ec1:	e8 46 00 00 00       	call   0x140021f0c
140021ec6:	48 8b cb             	mov    %rbx,%rcx
140021ec9:	e8 ba a3 fe ff       	call   0x14000c288
140021ece:	48 83 c4 20          	add    $0x20,%rsp
140021ed2:	5b                   	pop    %rbx
140021ed3:	c3                   	ret
140021ed4:	48 83 ec 28          	sub    $0x28,%rsp
140021ed8:	48 8b 09             	mov    (%rcx),%rcx
140021edb:	48 85 c9             	test   %rcx,%rcx
140021ede:	74 0a                	je     0x140021eea
140021ee0:	ba 01 00 00 00       	mov    $0x1,%edx
140021ee5:	e8 ba 05 ff ff       	call   0x1400124a4
140021eea:	48 83 c4 28          	add    $0x28,%rsp
140021eee:	c3                   	ret
140021eef:	90                   	nop
140021ef0:	48 83 ec 28          	sub    $0x28,%rsp
140021ef4:	48 8b 09             	mov    (%rcx),%rcx
140021ef7:	48 85 c9             	test   %rcx,%rcx
140021efa:	74 0a                	je     0x140021f06
140021efc:	ba 01 00 00 00       	mov    $0x1,%edx
140021f01:	e8 ea 01 00 00       	call   0x1400220f0
140021f06:	48 83 c4 28          	add    $0x28,%rsp
140021f0a:	c3                   	ret
140021f0b:	90                   	nop
140021f0c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140021f11:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140021f16:	57                   	push   %rdi
140021f17:	48 83 ec 20          	sub    $0x20,%rsp
140021f1b:	48 8b 59 48          	mov    0x48(%rcx),%rbx
140021f1f:	83 ce ff             	or     $0xffffffff,%esi
140021f22:	48 8b f9             	mov    %rcx,%rdi
140021f25:	48 85 db             	test   %rbx,%rbx
140021f28:	74 35                	je     0x140021f5f
140021f2a:	8b c6                	mov    %esi,%eax
140021f2c:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140021f31:	03 c6                	add    %esi,%eax
140021f33:	75 2a                	jne    0x140021f5f
140021f35:	48 8b 03             	mov    (%rbx),%rax
140021f38:	48 8b cb             	mov    %rbx,%rcx
140021f3b:	48 8b 00             	mov    (%rax),%rax
140021f3e:	ff 15 54 26 01 00    	call   *0x12654(%rip)        # 0x140034598
140021f44:	8b c6                	mov    %esi,%eax
140021f46:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140021f4b:	03 c6                	add    %esi,%eax
140021f4d:	75 10                	jne    0x140021f5f
140021f4f:	48 8b 03             	mov    (%rbx),%rax
140021f52:	48 8b cb             	mov    %rbx,%rcx
140021f55:	48 8b 40 08          	mov    0x8(%rax),%rax
140021f59:	ff 15 39 26 01 00    	call   *0x12639(%rip)        # 0x140034598
140021f5f:	48 8b 5f 38          	mov    0x38(%rdi),%rbx
140021f63:	48 85 db             	test   %rbx,%rbx
140021f66:	74 35                	je     0x140021f9d
140021f68:	8b c6                	mov    %esi,%eax
140021f6a:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140021f6f:	03 c6                	add    %esi,%eax
140021f71:	75 2a                	jne    0x140021f9d
140021f73:	48 8b 03             	mov    (%rbx),%rax
140021f76:	48 8b cb             	mov    %rbx,%rcx
140021f79:	48 8b 00             	mov    (%rax),%rax
140021f7c:	ff 15 16 26 01 00    	call   *0x12616(%rip)        # 0x140034598
140021f82:	8b c6                	mov    %esi,%eax
140021f84:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140021f89:	03 c6                	add    %esi,%eax
140021f8b:	75 10                	jne    0x140021f9d
140021f8d:	48 8b 03             	mov    (%rbx),%rax
140021f90:	48 8b cb             	mov    %rbx,%rcx
140021f93:	48 8b 40 08          	mov    0x8(%rax),%rax
140021f97:	ff 15 fb 25 01 00    	call   *0x125fb(%rip)        # 0x140034598
140021f9d:	48 8b 5f 28          	mov    0x28(%rdi),%rbx
140021fa1:	48 85 db             	test   %rbx,%rbx
140021fa4:	74 35                	je     0x140021fdb
140021fa6:	8b c6                	mov    %esi,%eax
140021fa8:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140021fad:	03 c6                	add    %esi,%eax
140021faf:	75 2a                	jne    0x140021fdb
140021fb1:	48 8b 03             	mov    (%rbx),%rax
140021fb4:	48 8b cb             	mov    %rbx,%rcx
140021fb7:	48 8b 00             	mov    (%rax),%rax
140021fba:	ff 15 d8 25 01 00    	call   *0x125d8(%rip)        # 0x140034598
140021fc0:	8b c6                	mov    %esi,%eax
140021fc2:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140021fc7:	03 c6                	add    %esi,%eax
140021fc9:	75 10                	jne    0x140021fdb
140021fcb:	48 8b 03             	mov    (%rbx),%rax
140021fce:	48 8b cb             	mov    %rbx,%rcx
140021fd1:	48 8b 40 08          	mov    0x8(%rax),%rax
140021fd5:	ff 15 bd 25 01 00    	call   *0x125bd(%rip)        # 0x140034598
140021fdb:	48 8b 5f 18          	mov    0x18(%rdi),%rbx
140021fdf:	48 85 db             	test   %rbx,%rbx
140021fe2:	74 35                	je     0x140022019
140021fe4:	8b c6                	mov    %esi,%eax
140021fe6:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140021feb:	03 c6                	add    %esi,%eax
140021fed:	75 2a                	jne    0x140022019
140021fef:	48 8b 03             	mov    (%rbx),%rax
140021ff2:	48 8b cb             	mov    %rbx,%rcx
140021ff5:	48 8b 00             	mov    (%rax),%rax
140021ff8:	ff 15 9a 25 01 00    	call   *0x1259a(%rip)        # 0x140034598
140021ffe:	8b c6                	mov    %esi,%eax
140022000:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140022005:	03 c6                	add    %esi,%eax
140022007:	75 10                	jne    0x140022019
140022009:	48 8b 03             	mov    (%rbx),%rax
14002200c:	48 8b cb             	mov    %rbx,%rcx
14002200f:	48 8b 40 08          	mov    0x8(%rax),%rax
140022013:	ff 15 7f 25 01 00    	call   *0x1257f(%rip)        # 0x140034598
140022019:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
14002201d:	48 85 db             	test   %rbx,%rbx
140022020:	74 35                	je     0x140022057
140022022:	8b c6                	mov    %esi,%eax
140022024:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140022029:	03 c6                	add    %esi,%eax
14002202b:	75 2a                	jne    0x140022057
14002202d:	48 8b 03             	mov    (%rbx),%rax
140022030:	48 8b cb             	mov    %rbx,%rcx
140022033:	48 8b 00             	mov    (%rax),%rax
140022036:	ff 15 5c 25 01 00    	call   *0x1255c(%rip)        # 0x140034598
14002203c:	8b c6                	mov    %esi,%eax
14002203e:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140022043:	03 c6                	add    %esi,%eax
140022045:	75 10                	jne    0x140022057