140967e00:	48 8b c2             	mov    %rdx,%rax
140967e03:	49 8b 36             	mov    (%r14),%rsi
140967e06:	48 2b c6             	sub    %rsi,%rax
140967e09:	48 d1 f8             	sar    $1,%rax
140967e0c:	4c 3b c8             	cmp    %rax,%r9
140967e0f:	0f 87 83 00 00 00    	ja     0x140967e98
140967e15:	4d 85 c9             	test   %r9,%r9
140967e18:	74 14                	je     0x140967e2e
140967e1a:	f6 c3 01             	test   $0x1,%bl
140967e1d:	74 05                	je     0x140967e24
140967e1f:	4d 85 c0             	test   %r8,%r8
140967e22:	74 74                	je     0x140967e98
140967e24:	f6 c3 02             	test   $0x2,%bl
140967e27:	74 05                	je     0x140967e2e
140967e29:	48 85 c9             	test   %rcx,%rcx
140967e2c:	74 6a                	je     0x140967e98
140967e2e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140967e33:	4a 8d 3c 4e          	lea    (%rsi,%r9,2),%rdi
140967e37:	f6 c3 01             	test   $0x1,%bl
140967e3a:	74 1b                	je     0x140967e57
140967e3c:	4d 85 c0             	test   %r8,%r8
140967e3f:	74 16                	je     0x140967e57
140967e41:	49 89 36             	mov    %rsi,(%r14)
140967e44:	48 2b d7             	sub    %rdi,%rdx
140967e47:	49 8b 43 38          	mov    0x38(%r11),%rax
140967e4b:	48 d1 fa             	sar    $1,%rdx
140967e4e:	48 89 38             	mov    %rdi,(%rax)
140967e51:	49 8b 43 50          	mov    0x50(%r11),%rax
140967e55:	89 10                	mov    %edx,(%rax)
140967e57:	f6 c3 02             	test   $0x2,%bl
140967e5a:	74 32                	je     0x140967e8e
140967e5c:	48 85 c9             	test   %rcx,%rcx
140967e5f:	74 2d                	je     0x140967e8e
140967e61:	49 8b 43 58          	mov    0x58(%r11),%rax
140967e65:	48 63 10             	movslq (%rax),%rdx
140967e68:	49 8b 43 40          	mov    0x40(%r11),%rax
140967e6c:	48 8b 08             	mov    (%rax),%rcx
140967e6f:	49 8b 43 20          	mov    0x20(%r11),%rax
140967e73:	4c 8d 04 51          	lea    (%rcx,%rdx,2),%r8
140967e77:	48 89 30             	mov    %rsi,(%rax)
140967e7a:	4c 2b c7             	sub    %rdi,%r8
140967e7d:	49 8b 43 40          	mov    0x40(%r11),%rax
140967e81:	49 d1 f8             	sar    $1,%r8
140967e84:	48 89 38             	mov    %rdi,(%rax)
140967e87:	49 8b 43 58          	mov    0x58(%r11),%rax
140967e8b:	44 89 00             	mov    %r8d,(%rax)
140967e8e:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140967e93:	4d 89 0a             	mov    %r9,(%r10)
140967e96:	eb 07                	jmp    0x140967e9f
140967e98:	49 c7 02 ff ff ff ff 	movq   $0xffffffffffffffff,(%r10)
140967e9f:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
140967ea4:	33 c0                	xor    %eax,%eax
140967ea6:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140967eab:	49 c7 42 08 00 00 00 	movq   $0x0,0x8(%r10)
140967eb2:	00
140967eb3:	49 89 42 10          	mov    %rax,0x10(%r10)
140967eb7:	49 8b c2             	mov    %r10,%rax
140967eba:	5b                   	pop    %rbx
140967ebb:	c3                   	ret
140967ebc:	cc                   	int3
140967ebd:	cc                   	int3
140967ebe:	cc                   	int3
140967ebf:	cc                   	int3
140967ec0:	40 53                	rex push %rbx
140967ec2:	48 83 ec 50          	sub    $0x50,%rsp
140967ec6:	48 8b da             	mov    %rdx,%rbx
140967ec9:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
140967ece:	33 c0                	xor    %eax,%eax
140967ed0:	89 44 24 20          	mov    %eax,0x20(%rsp)
140967ed4:	0f 57 c0             	xorps  %xmm0,%xmm0
140967ed7:	0f 11 02             	movups %xmm0,(%rdx)
140967eda:	48 89 42 10          	mov    %rax,0x10(%rdx)
140967ede:	48 c7 42 18 07 00 00 	movq   $0x7,0x18(%rdx)
140967ee5:	00
140967ee6:	66 89 02             	mov    %ax,(%rdx)
140967ee9:	c7 44 24 20 02 00 00 	movl   $0x2,0x20(%rsp)
140967ef0:	00
140967ef1:	0f 11 44 24 28       	movups %xmm0,0x28(%rsp)
140967ef6:	8b 91 88 00 00 00    	mov    0x88(%rcx),%edx
140967efc:	8b c2                	mov    %edx,%eax
140967efe:	24 22                	and    $0x22,%al
140967f00:	3c 02                	cmp    $0x2,%al
140967f02:	74 29                	je     0x140967f2d
140967f04:	48 8b 41 58          	mov    0x58(%rcx),%rax
140967f08:	4c 8b 00             	mov    (%rax),%r8
140967f0b:	4d 85 c0             	test   %r8,%r8
140967f0e:	74 1d                	je     0x140967f2d
140967f10:	48 8b 41 38          	mov    0x38(%rcx),%rax
140967f14:	48 8b 10             	mov    (%rax),%rdx
140967f17:	48 8b 81 80 00 00 00 	mov    0x80(%rcx),%rax
140967f1e:	4c 3b c0             	cmp    %rax,%r8
140967f21:	4c 0f 42 c0          	cmovb  %rax,%r8
140967f25:	4c 2b c2             	sub    %rdx,%r8
140967f28:	49 d1 f8             	sar    $1,%r8
140967f2b:	eb 37                	jmp    0x140967f64
140967f2d:	f6 c2 04             	test   $0x4,%dl
140967f30:	75 28                	jne    0x140967f5a
140967f32:	48 8b 41 50          	mov    0x50(%rcx),%rax
140967f36:	4c 8b 08             	mov    (%rax),%r9
140967f39:	4d 85 c9             	test   %r9,%r9
140967f3c:	74 1c                	je     0x140967f5a
140967f3e:	48 8b 41 30          	mov    0x30(%rcx),%rax
140967f42:	48 8b 10             	mov    (%rax),%rdx
140967f45:	48 8b 41 68          	mov    0x68(%rcx),%rax
140967f49:	4c 63 00             	movslq (%rax),%r8
140967f4c:	4d 03 c0             	add    %r8,%r8
140967f4f:	4c 2b c2             	sub    %rdx,%r8
140967f52:	4d 03 c1             	add    %r9,%r8
140967f55:	49 d1 f8             	sar    $1,%r8
140967f58:	eb 0a                	jmp    0x140967f64
140967f5a:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140967f5f:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140967f64:	48 85 d2             	test   %rdx,%rdx
140967f67:	74 09                	je     0x140967f72
140967f69:	48 8b cb             	mov    %rbx,%rcx
140967f6c:	e8 af 5f 8e ff       	call   0x14024df20
140967f71:	90                   	nop
140967f72:	48 8b c3             	mov    %rbx,%rax
140967f75:	48 83 c4 50          	add    $0x50,%rsp
140967f79:	5b                   	pop    %rbx
140967f7a:	c3                   	ret
140967f7b:	cc                   	int3
140967f7c:	cc                   	int3
140967f7d:	cc                   	int3
140967f7e:	cc                   	int3
140967f7f:	cc                   	int3
140967f80:	40 53                	rex push %rbx
140967f82:	48 83 ec 20          	sub    $0x20,%rsp
140967f86:	48 8b 01             	mov    (%rcx),%rax
140967f89:	48 8b d9             	mov    %rcx,%rbx
140967f8c:	48 8b 40 30          	mov    0x30(%rax),%rax
140967f90:	ff 15 8a ba 61 00    	call   *0x61ba8a(%rip)        # 0x140f83a20
140967f96:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140967f9b:	66 3b c8             	cmp    %ax,%cx
140967f9e:	75 09                	jne    0x140967fa9
140967fa0:	0f b7 c1             	movzwl %cx,%eax
140967fa3:	48 83 c4 20          	add    $0x20,%rsp
140967fa7:	5b                   	pop    %rbx
140967fa8:	c3                   	ret
140967fa9:	48 8b 43 50          	mov    0x50(%rbx),%rax
140967fad:	ff 08                	decl   (%rax)
140967faf:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140967fb3:	48 8b 11             	mov    (%rcx),%rdx
140967fb6:	48 8d 42 02          	lea    0x2(%rdx),%rax
140967fba:	48 89 01             	mov    %rax,(%rcx)
140967fbd:	0f b7 02             	movzwl (%rdx),%eax
140967fc0:	48 83 c4 20          	add    $0x20,%rsp
140967fc4:	5b                   	pop    %rbx
140967fc5:	c3                   	ret
140967fc6:	cc                   	int3
140967fc7:	cc                   	int3
140967fc8:	cc                   	int3
140967fc9:	cc                   	int3
140967fca:	cc                   	int3
140967fcb:	cc                   	int3
140967fcc:	cc                   	int3
140967fcd:	cc                   	int3
140967fce:	cc                   	int3
140967fcf:	cc                   	int3
140967fd0:	48 83 ec 18          	sub    $0x18,%rsp
140967fd4:	4c 8b 51 38          	mov    0x38(%rcx),%r10
140967fd8:	4c 8b c1             	mov    %rcx,%r8
140967fdb:	4d 8b 0a             	mov    (%r10),%r9
140967fde:	4d 85 c9             	test   %r9,%r9
140967fe1:	74 64                	je     0x140968047
140967fe3:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140967fe7:	48 63 11             	movslq (%rcx),%rdx
140967fea:	49 8d 0c 51          	lea    (%r9,%rdx,2),%rcx
140967fee:	4c 3b c9             	cmp    %rcx,%r9
140967ff1:	73 0c                	jae    0x140967fff
140967ff3:	0f ae e8             	lfence
140967ff6:	41 0f b7 01          	movzwl (%r9),%eax
140967ffa:	48 83 c4 18          	add    $0x18,%rsp
140967ffe:	c3                   	ret
140967fff:	49 8b 40 40          	mov    0x40(%r8),%rax
140968003:	48 8b 08             	mov    (%rax),%rcx
140968006:	48 85 c9             	test   %rcx,%rcx
140968009:	74 3c                	je     0x140968047
14096800b:	41 f6 40 70 04       	testb  $0x4,0x70(%r8)
140968010:	75 35                	jne    0x140968047
140968012:	49 8b 50 68          	mov    0x68(%r8),%rdx
140968016:	48 3b d1             	cmp    %rcx,%rdx
140968019:	48 0f 42 d1          	cmovb  %rcx,%rdx
14096801d:	49 3b d1             	cmp    %r9,%rdx
140968020:	76 25                	jbe    0x140968047
140968022:	49 89 50 68          	mov    %rdx,0x68(%r8)
140968026:	49 8b 0a             	mov    (%r10),%rcx
140968029:	49 89 0a             	mov    %rcx,(%r10)
14096802c:	48 2b d1             	sub    %rcx,%rdx
14096802f:	49 8b 40 50          	mov    0x50(%r8),%rax
140968033:	48 d1 fa             	sar    $1,%rdx
140968036:	89 10                	mov    %edx,(%rax)
140968038:	49 8b 40 38          	mov    0x38(%r8),%rax
14096803c:	48 8b 00             	mov    (%rax),%rax
14096803f:	0f b7 00             	movzwl (%rax),%eax
140968042:	48 83 c4 18          	add    $0x18,%rsp
140968046:	c3                   	ret
140968047:	b8 ff ff 00 00       	mov    $0xffff,%eax
14096804c:	48 83 c4 18          	add    $0x18,%rsp
140968050:	c3                   	ret
140968051:	cc                   	int3
140968052:	cc                   	int3
140968053:	cc                   	int3
140968054:	cc                   	int3
140968055:	cc                   	int3
140968056:	cc                   	int3
140968057:	cc                   	int3
140968058:	cc                   	int3
140968059:	cc                   	int3
14096805a:	cc                   	int3
14096805b:	cc                   	int3
14096805c:	cc                   	int3
14096805d:	cc                   	int3
14096805e:	cc                   	int3
14096805f:	cc                   	int3
140968060:	40 53                	rex push %rbx
140968062:	41 54                	push   %r12
140968064:	41 56                	push   %r14
140968066:	41 57                	push   %r15
140968068:	48 83 ec 28          	sub    $0x28,%rsp
14096806c:	49 8b d8             	mov    %r8,%rbx
14096806f:	4c 8b fa             	mov    %rdx,%r15
140968072:	4c 8b f1             	mov    %rcx,%r14
140968075:	4d 8b e0             	mov    %r8,%r12
140968078:	4d 85 c0             	test   %r8,%r8
14096807b:	0f 8e a7 00 00 00    	jle    0x140968128
140968081:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
140968086:	48 8d 71 50          	lea    0x50(%rcx),%rsi
14096808a:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
14096808f:	41 bd ff ff 00 00    	mov    $0xffff,%r13d
140968095:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14096809a:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
14096809f:	90                   	nop
1409680a0:	49 8b 46 38          	mov    0x38(%r14),%rax
1409680a4:	48 8b 10             	mov    (%rax),%rdx
1409680a7:	48 85 d2             	test   %rdx,%rdx
1409680aa:	74 3a                	je     0x1409680e6
1409680ac:	48 8b 06             	mov    (%rsi),%rax
1409680af:	48 63 08             	movslq (%rax),%rcx
1409680b2:	85 c9                	test   %ecx,%ecx
1409680b4:	7e 30                	jle    0x1409680e6
1409680b6:	48 3b d9             	cmp    %rcx,%rbx
1409680b9:	48 8b fb             	mov    %rbx,%rdi
1409680bc:	48 0f 4d f9          	cmovge %rcx,%rdi
1409680c0:	49 8b cf             	mov    %r15,%rcx
1409680c3:	48 8d 2c 3f          	lea    (%rdi,%rdi,1),%rbp
1409680c7:	4c 8b c5             	mov    %rbp,%r8
1409680ca:	e8 41 6f 57 00       	call   0x140edf010
1409680cf:	48 8b 06             	mov    (%rsi),%rax
1409680d2:	48 2b df             	sub    %rdi,%rbx
1409680d5:	29 38                	sub    %edi,(%rax)
1409680d7:	49 8b 4e 38          	mov    0x38(%r14),%rcx
1409680db:	48 63 c7             	movslq %edi,%rax
1409680de:	48 03 c0             	add    %rax,%rax
1409680e1:	48 01 01             	add    %rax,(%rcx)
1409680e4:	eb 26                	jmp    0x14096810c
1409680e6:	49 8b 06             	mov    (%r14),%rax
1409680e9:	49 8b ce             	mov    %r14,%rcx
1409680ec:	48 8b 40 38          	mov    0x38(%rax),%rax
1409680f0:	ff 15 2a b9 61 00    	call   *0x61b92a(%rip)        # 0x140f83a20
1409680f6:	66 44 3b e8          	cmp    %ax,%r13w
1409680fa:	74 18                	je     0x140968114
1409680fc:	66 41 89 07          	mov    %ax,(%r15)
140968100:	49 8d 76 50          	lea    0x50(%r14),%rsi
140968104:	48 ff cb             	dec    %rbx
140968107:	bd 02 00 00 00       	mov    $0x2,%ebp
14096810c:	4c 03 fd             	add    %rbp,%r15
14096810f:	48 85 db             	test   %rbx,%rbx
140968112:	7f 8c                	jg     0x1409680a0
140968114:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140968119:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14096811e:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140968123:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140968128:	4c 2b e3             	sub    %rbx,%r12
14096812b:	49 8b c4             	mov    %r12,%rax
14096812e:	48 83 c4 28          	add    $0x28,%rsp
140968132:	41 5f                	pop    %r15
140968134:	41 5e                	pop    %r14
140968136:	41 5c                	pop    %r12
140968138:	5b                   	pop    %rbx
140968139:	c3                   	ret
14096813a:	cc                   	int3
14096813b:	cc                   	int3
14096813c:	cc                   	int3
14096813d:	cc                   	int3
14096813e:	cc                   	int3
14096813f:	cc                   	int3
140968140:	40 53                	rex push %rbx
140968142:	41 54                	push   %r12
140968144:	41 56                	push   %r14
140968146:	41 57                	push   %r15
140968148:	48 83 ec 28          	sub    $0x28,%rsp
14096814c:	49 8b d8             	mov    %r8,%rbx
14096814f:	4c 8b fa             	mov    %rdx,%r15
140968152:	4c 8b f1             	mov    %rcx,%r14
140968155:	4d 8b e0             	mov    %r8,%r12
140968158:	4d 85 c0             	test   %r8,%r8
14096815b:	0f 8e a7 00 00 00    	jle    0x140968208
140968161:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
140968166:	48 8d 71 58          	lea    0x58(%rcx),%rsi
14096816a:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
14096816f:	41 bd ff ff 00 00    	mov    $0xffff,%r13d
140968175:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14096817a:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
14096817f:	90                   	nop
140968180:	49 8b 46 40          	mov    0x40(%r14),%rax
140968184:	48 8b 08             	mov    (%rax),%rcx
140968187:	48 85 c9             	test   %rcx,%rcx
14096818a:	74 3a                	je     0x1409681c6
14096818c:	48 8b 06             	mov    (%rsi),%rax
14096818f:	48 63 10             	movslq (%rax),%rdx
140968192:	85 d2                	test   %edx,%edx
140968194:	7e 30                	jle    0x1409681c6
140968196:	48 3b da             	cmp    %rdx,%rbx
140968199:	48 8b fb             	mov    %rbx,%rdi
14096819c:	48 0f 4d fa          	cmovge %rdx,%rdi
1409681a0:	49 8b d7             	mov    %r15,%rdx
1409681a3:	48 8d 2c 3f          	lea    (%rdi,%rdi,1),%rbp
1409681a7:	4c 8b c5             	mov    %rbp,%r8
1409681aa:	e8 61 6e 57 00       	call   0x140edf010
1409681af:	48 8b 06             	mov    (%rsi),%rax
1409681b2:	48 2b df             	sub    %rdi,%rbx
1409681b5:	29 38                	sub    %edi,(%rax)
1409681b7:	49 8b 4e 40          	mov    0x40(%r14),%rcx
1409681bb:	48 63 c7             	movslq %edi,%rax
1409681be:	48 03 c0             	add    %rax,%rax
1409681c1:	48 01 01             	add    %rax,(%rcx)
1409681c4:	eb 26                	jmp    0x1409681ec
1409681c6:	49 8b 06             	mov    (%r14),%rax
1409681c9:	49 8b ce             	mov    %r14,%rcx
1409681cc:	41 0f b7 17          	movzwl (%r15),%edx
1409681d0:	48 8b 40 18          	mov    0x18(%rax),%rax
1409681d4:	ff 15 46 b8 61 00    	call   *0x61b846(%rip)        # 0x140f83a20
1409681da:	66 44 3b e8          	cmp    %ax,%r13w
1409681de:	74 14                	je     0x1409681f4
1409681e0:	48 ff cb             	dec    %rbx
1409681e3:	49 8d 76 58          	lea    0x58(%r14),%rsi
1409681e7:	bd 02 00 00 00       	mov    $0x2,%ebp
1409681ec:	4c 03 fd             	add    %rbp,%r15
1409681ef:	48 85 db             	test   %rbx,%rbx
1409681f2:	7f 8c                	jg     0x140968180
1409681f4:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
1409681f9:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1409681fe:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140968203:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140968208:	4c 2b e3             	sub    %rbx,%r12
14096820b:	49 8b c4             	mov    %r12,%rax
14096820e:	48 83 c4 28          	add    $0x28,%rsp
140968212:	41 5f                	pop    %r15
140968214:	41 5e                	pop    %r14