140961a6e:	48 8d 45 b7          	lea    -0x49(%rbp),%rax
140961a72:	48 83 7d cf 07       	cmpq   $0x7,-0x31(%rbp)
140961a77:	48 0f 47 45 b7       	cmova  -0x49(%rbp),%rax
140961a7c:	48 8b 4d 87          	mov    -0x79(%rbp),%rcx
140961a80:	4c 8d 34 48          	lea    (%rax,%rcx,2),%r14
140961a84:	48 8b 45 8f          	mov    -0x71(%rbp),%rax
140961a88:	0f 10 00             	movups (%rax),%xmm0
140961a8b:	0f 29 44 24 30       	movaps %xmm0,0x30(%rsp)
140961a90:	4c 2b e9             	sub    %rcx,%r13
140961a93:	74 72                	je     0x140961b07
140961a95:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140961a9a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140961aa0:	45 0f b7 06          	movzwl (%r14),%r8d
140961aa4:	48 85 db             	test   %rbx,%rbx
140961aa7:	74 4a                	je     0x140961af3
140961aa9:	48 8b 43 40          	mov    0x40(%rbx),%rax
140961aad:	48 83 38 00          	cmpq   $0x0,(%rax)
140961ab1:	74 22                	je     0x140961ad5
140961ab3:	48 8b 4b 58          	mov    0x58(%rbx),%rcx
140961ab7:	8b 01                	mov    (%rcx),%eax
140961ab9:	85 c0                	test   %eax,%eax
140961abb:	7e 18                	jle    0x140961ad5
140961abd:	ff c8                	dec    %eax
140961abf:	89 01                	mov    %eax,(%rcx)
140961ac1:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140961ac5:	48 8b 11             	mov    (%rcx),%rdx
140961ac8:	48 8d 42 02          	lea    0x2(%rdx),%rax
140961acc:	48 89 01             	mov    %rax,(%rcx)
140961acf:	66 44 89 02          	mov    %r8w,(%rdx)
140961ad3:	eb 18                	jmp    0x140961aed
140961ad5:	48 8b 03             	mov    (%rbx),%rax
140961ad8:	41 0f b7 d0          	movzwl %r8w,%edx
140961adc:	48 8b cb             	mov    %rbx,%rcx
140961adf:	48 8b 40 18          	mov    0x18(%rax),%rax
140961ae3:	ff 15 37 1f 62 00    	call   *0x621f37(%rip)        # 0x140f83a20
140961ae9:	44 0f b7 c0          	movzwl %ax,%r8d
140961aed:	66 41 3b f0          	cmp    %r8w,%si
140961af1:	75 05                	jne    0x140961af8
140961af3:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140961af8:	49 83 c6 02          	add    $0x2,%r14
140961afc:	49 83 ed 01          	sub    $0x1,%r13
140961b00:	75 9e                	jne    0x140961aa0
140961b02:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
140961b07:	48 8b 4d 97          	mov    -0x69(%rbp),%rcx
140961b0b:	48 c7 41 28 00 00 00 	movq   $0x0,0x28(%rcx)
140961b12:	00
140961b13:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
140961b19:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140961b1e:	45 0f b7 cc          	movzwl %r12w,%r9d
140961b22:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140961b27:	48 8b 5d 9f          	mov    -0x61(%rbp),%rbx
140961b2b:	48 8b d3             	mov    %rbx,%rdx
140961b2e:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
140961b32:	e8 a9 49 00 00       	call   0x1409664e0
140961b37:	90                   	nop
140961b38:	48 8b 55 ef          	mov    -0x11(%rbp),%rdx
140961b3c:	48 83 fa 0f          	cmp    $0xf,%rdx
140961b40:	76 31                	jbe    0x140961b73
140961b42:	48 ff c2             	inc    %rdx
140961b45:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
140961b49:	48 8b c1             	mov    %rcx,%rax
140961b4c:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140961b53:	72 19                	jb     0x140961b6e
140961b55:	48 83 c2 27          	add    $0x27,%rdx
140961b59:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140961b5d:	48 2b c1             	sub    %rcx,%rax
140961b60:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140961b64:	48 83 f8 1f          	cmp    $0x1f,%rax
140961b68:	0f 87 88 00 00 00    	ja     0x140961bf6
140961b6e:	e8 d1 95 4b 00       	call   0x140e1b144
140961b73:	66 0f 6f 05 b5 22 64 	movdqa 0x6422b5(%rip),%xmm0        # 0x140fa3e30
140961b7a:	00
140961b7b:	f3 0f 7f 45 e7       	movdqu %xmm0,-0x19(%rbp)
140961b80:	c6 45 d7 00          	movb   $0x0,-0x29(%rbp)
140961b84:	48 8b 55 cf          	mov    -0x31(%rbp),%rdx
140961b88:	48 83 fa 07          	cmp    $0x7,%rdx
140961b8c:	76 32                	jbe    0x140961bc0
140961b8e:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140961b95:	00
140961b96:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
140961b9a:	48 8b c1             	mov    %rcx,%rax
140961b9d:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140961ba4:	72 15                	jb     0x140961bbb
140961ba6:	48 83 c2 27          	add    $0x27,%rdx
140961baa:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140961bae:	48 2b c1             	sub    %rcx,%rax
140961bb1:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140961bb5:	48 83 f8 1f          	cmp    $0x1f,%rax
140961bb9:	77 2f                	ja     0x140961bea
140961bbb:	e8 84 95 4b 00       	call   0x140e1b144
140961bc0:	48 8b c3             	mov    %rbx,%rax
140961bc3:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
140961bc7:	48 33 cc             	xor    %rsp,%rcx
140961bca:	e8 31 99 4b 00       	call   0x140e1b500
140961bcf:	48 8b 9c 24 00 01 00 	mov    0x100(%rsp),%rbx
140961bd6:	00
140961bd7:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
140961bde:	41 5f                	pop    %r15
140961be0:	41 5e                	pop    %r14
140961be2:	41 5d                	pop    %r13
140961be4:	41 5c                	pop    %r12
140961be6:	5f                   	pop    %rdi
140961be7:	5e                   	pop    %rsi
140961be8:	5d                   	pop    %rbp
140961be9:	c3                   	ret
140961bea:	e8 b5 85 4c 00       	call   0x140e2a1a4
140961bef:	90                   	nop
140961bf0:	e8 bb b9 83 ff       	call   0x14019d5b0
140961bf5:	90                   	nop
140961bf6:	e8 a9 85 4c 00       	call   0x140e2a1a4
140961bfb:	cc                   	int3
140961bfc:	cc                   	int3
140961bfd:	cc                   	int3
140961bfe:	cc                   	int3
140961bff:	cc                   	int3
140961c00:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140961c05:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140961c0a:	53                   	push   %rbx
140961c0b:	56                   	push   %rsi
140961c0c:	57                   	push   %rdi
140961c0d:	41 54                	push   %r12
140961c0f:	41 55                	push   %r13
140961c11:	41 56                	push   %r14
140961c13:	41 57                	push   %r15
140961c15:	48 83 ec 70          	sub    $0x70,%rsp
140961c19:	4d 8b f0             	mov    %r8,%r14
140961c1c:	48 8b f1             	mov    %rcx,%rsi
140961c1f:	45 33 ed             	xor    %r13d,%r13d
140961c22:	41 8b fd             	mov    %r13d,%edi
140961c25:	44 89 ac 24 c8 00 00 	mov    %r13d,0xc8(%rsp)
140961c2c:	00
140961c2d:	48 8b 01             	mov    (%rcx),%rax
140961c30:	4c 63 48 04          	movslq 0x4(%rax),%r9
140961c34:	49 8b 5c 09 28       	mov    0x28(%r9,%rcx,1),%rbx
140961c39:	48 85 db             	test   %rbx,%rbx
140961c3c:	7e 0a                	jle    0x140961c48
140961c3e:	49 3b d8             	cmp    %r8,%rbx
140961c41:	76 05                	jbe    0x140961c48
140961c43:	49 2b d8             	sub    %r8,%rbx
140961c46:	eb 03                	jmp    0x140961c4b
140961c48:	49 8b dd             	mov    %r13,%rbx
140961c4b:	4c 8b e6             	mov    %rsi,%r12
140961c4e:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140961c53:	49 8b 4c 09 48       	mov    0x48(%r9,%rcx,1),%rcx
140961c58:	48 85 c9             	test   %rcx,%rcx
140961c5b:	74 0e                	je     0x140961c6b
140961c5d:	48 8b 01             	mov    (%rcx),%rax
140961c60:	48 8b 40 08          	mov    0x8(%rax),%rax
140961c64:	ff 15 b6 1d 62 00    	call   *0x621db6(%rip)        # 0x140f83a20
140961c6a:	90                   	nop
140961c6b:	48 8b 0e             	mov    (%rsi),%rcx
140961c6e:	48 63 41 04          	movslq 0x4(%rcx),%rax
140961c72:	83 7c 30 10 00       	cmpl   $0x0,0x10(%rax,%rsi,1)
140961c77:	74 04                	je     0x140961c7d
140961c79:	32 c0                	xor    %al,%al
140961c7b:	eb 2a                	jmp    0x140961ca7
140961c7d:	48 8b 44 30 50       	mov    0x50(%rax,%rsi,1),%rax
140961c82:	48 85 c0             	test   %rax,%rax
140961c85:	74 1e                	je     0x140961ca5
140961c87:	48 3b c6             	cmp    %rsi,%rax
140961c8a:	74 19                	je     0x140961ca5
140961c8c:	48 8b c8             	mov    %rax,%rcx
140961c8f:	e8 ec 4d 8a ff       	call   0x140206a80
140961c94:	48 8b 0e             	mov    (%rsi),%rcx
140961c97:	48 63 41 04          	movslq 0x4(%rcx),%rax
140961c9b:	83 7c 30 10 00       	cmpl   $0x0,0x10(%rax,%rsi,1)
140961ca0:	0f 94 c0             	sete   %al
140961ca3:	eb 02                	jmp    0x140961ca7
140961ca5:	b0 01                	mov    $0x1,%al
140961ca7:	88 44 24 30          	mov    %al,0x30(%rsp)
140961cab:	84 c0                	test   %al,%al
140961cad:	75 0e                	jne    0x140961cbd
140961caf:	41 be 04 00 00 00    	mov    $0x4,%r14d
140961cb5:	41 8b fe             	mov    %r14d,%edi
140961cb8:	e9 5e 01 00 00       	jmp    0x140961e1b
140961cbd:	48 63 41 04          	movslq 0x4(%rcx),%rax
140961cc1:	8b 4c 30 18          	mov    0x18(%rax,%rsi,1),%ecx
140961cc5:	81 e1 c0 01 00 00    	and    $0x1c0,%ecx
140961ccb:	41 bf ff ff 00 00    	mov    $0xffff,%r15d
140961cd1:	83 f9 40             	cmp    $0x40,%ecx
140961cd4:	74 79                	je     0x140961d4f
140961cd6:	48 85 db             	test   %rbx,%rbx
140961cd9:	74 74                	je     0x140961d4f
140961cdb:	48 8b 06             	mov    (%rsi),%rax
140961cde:	48 63 48 04          	movslq 0x4(%rax),%rcx
140961ce2:	4c 8b 44 31 48       	mov    0x48(%rcx,%rsi,1),%r8
140961ce7:	44 0f b7 4c 31 58    	movzwl 0x58(%rcx,%rsi,1),%r9d
140961ced:	49 8b 40 40          	mov    0x40(%r8),%rax
140961cf1:	48 83 38 00          	cmpq   $0x0,(%rax)
140961cf5:	74 22                	je     0x140961d19
140961cf7:	49 8b 48 58          	mov    0x58(%r8),%rcx
140961cfb:	8b 01                	mov    (%rcx),%eax
140961cfd:	85 c0                	test   %eax,%eax
140961cff:	7e 18                	jle    0x140961d19
140961d01:	ff c8                	dec    %eax
140961d03:	89 01                	mov    %eax,(%rcx)
140961d05:	49 8b 48 40          	mov    0x40(%r8),%rcx
140961d09:	48 8b 11             	mov    (%rcx),%rdx
140961d0c:	48 8d 42 02          	lea    0x2(%rdx),%rax
140961d10:	48 89 01             	mov    %rax,(%rcx)
140961d13:	66 44 89 0a          	mov    %r9w,(%rdx)
140961d17:	eb 18                	jmp    0x140961d31
140961d19:	49 8b 00             	mov    (%r8),%rax
140961d1c:	41 0f b7 d1          	movzwl %r9w,%edx
140961d20:	49 8b c8             	mov    %r8,%rcx
140961d23:	48 8b 40 18          	mov    0x18(%rax),%rax
140961d27:	ff 15 f3 1c 62 00    	call   *0x621cf3(%rip)        # 0x140f83a20
140961d2d:	44 0f b7 c8          	movzwl %ax,%r9d
140961d31:	66 45 3b f9          	cmp    %r9w,%r15w
140961d35:	75 13                	jne    0x140961d4a
140961d37:	41 be 04 00 00 00    	mov    $0x4,%r14d
140961d3d:	41 8b fe             	mov    %r14d,%edi
140961d40:	44 89 b4 24 c8 00 00 	mov    %r14d,0xc8(%rsp)
140961d47:	00
140961d48:	eb 36                	jmp    0x140961d80
140961d4a:	48 ff cb             	dec    %rbx
140961d4d:	eb 87                	jmp    0x140961cd6
140961d4f:	48 8b 06             	mov    (%rsi),%rax
140961d52:	48 63 48 04          	movslq 0x4(%rax),%rcx
140961d56:	48 8b 4c 31 48       	mov    0x48(%rcx,%rsi,1),%rcx
140961d5b:	48 8b 01             	mov    (%rcx),%rax
140961d5e:	4d 8b c6             	mov    %r14,%r8
140961d61:	48 8b 94 24 b8 00 00 	mov    0xb8(%rsp),%rdx
140961d68:	00
140961d69:	48 8b 40 48          	mov    0x48(%rax),%rax
140961d6d:	ff 15 ad 1c 62 00    	call   *0x621cad(%rip)        # 0x140f83a20
140961d73:	49 3b c6             	cmp    %r14,%rax
140961d76:	41 be 04 00 00 00    	mov    $0x4,%r14d
140961d7c:	75 68                	jne    0x140961de6
140961d7e:	66 90                	xchg   %ax,%ax
140961d80:	48 85 db             	test   %rbx,%rbx
140961d83:	74 6b                	je     0x140961df0
140961d85:	48 8b 06             	mov    (%rsi),%rax
140961d88:	48 63 48 04          	movslq 0x4(%rax),%rcx
140961d8c:	4c 8b 44 31 48       	mov    0x48(%rcx,%rsi,1),%r8
140961d91:	44 0f b7 4c 31 58    	movzwl 0x58(%rcx,%rsi,1),%r9d
140961d97:	49 8b 40 40          	mov    0x40(%r8),%rax
140961d9b:	48 83 38 00          	cmpq   $0x0,(%rax)
140961d9f:	74 22                	je     0x140961dc3
140961da1:	49 8b 48 58          	mov    0x58(%r8),%rcx
140961da5:	8b 01                	mov    (%rcx),%eax
140961da7:	85 c0                	test   %eax,%eax
140961da9:	7e 18                	jle    0x140961dc3
140961dab:	ff c8                	dec    %eax
140961dad:	89 01                	mov    %eax,(%rcx)
140961daf:	49 8b 48 40          	mov    0x40(%r8),%rcx
140961db3:	48 8b 11             	mov    (%rcx),%rdx
140961db6:	48 8d 42 02          	lea    0x2(%rdx),%rax
140961dba:	48 89 01             	mov    %rax,(%rcx)
140961dbd:	66 44 89 0a          	mov    %r9w,(%rdx)
140961dc1:	eb 18                	jmp    0x140961ddb
140961dc3:	49 8b 00             	mov    (%r8),%rax
140961dc6:	41 0f b7 d1          	movzwl %r9w,%edx
140961dca:	49 8b c8             	mov    %r8,%rcx
140961dcd:	48 8b 40 18          	mov    0x18(%rax),%rax
140961dd1:	ff 15 49 1c 62 00    	call   *0x621c49(%rip)        # 0x140f83a20
140961dd7:	44 0f b7 c8          	movzwl %ax,%r9d
140961ddb:	66 45 3b f9          	cmp    %r9w,%r15w
140961ddf:	74 05                	je     0x140961de6
140961de1:	48 ff cb             	dec    %rbx
140961de4:	eb 9a                	jmp    0x140961d80
140961de6:	83 cf 04             	or     $0x4,%edi
140961de9:	89 bc 24 c8 00 00 00 	mov    %edi,0xc8(%rsp)
140961df0:	48 8b 06             	mov    (%rsi),%rax
140961df3:	48 63 48 04          	movslq 0x4(%rax),%rcx
140961df7:	4c 89 6c 31 28       	mov    %r13,0x28(%rcx,%rsi,1)
140961dfc:	eb 1d                	jmp    0x140961e1b
140961dfe:	45 33 ed             	xor    %r13d,%r13d
140961e01:	41 be 04 00 00 00    	mov    $0x4,%r14d
140961e07:	48 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%rsi
140961e0e:	00
140961e0f:	8b bc 24 c8 00 00 00 	mov    0xc8(%rsp),%edi
140961e16:	4c 8b 64 24 28       	mov    0x28(%rsp),%r12
140961e1b:	48 8b 06             	mov    (%rsi),%rax
140961e1e:	48 63 48 04          	movslq 0x4(%rax),%rcx
140961e22:	48 03 ce             	add    %rsi,%rcx
140961e25:	0b 79 10             	or     0x10(%rcx),%edi
140961e28:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
140961e2d:	45 0f 45 f5          	cmovne %r13d,%r14d
140961e31:	44 0b f7             	or     %edi,%r14d
140961e34:	41 83 e6 17          	and    $0x17,%r14d
140961e38:	44 89 71 10          	mov    %r14d,0x10(%rcx)
140961e3c:	44 23 71 14          	and    0x14(%rcx),%r14d
140961e40:	75 45                	jne    0x140961e87
140961e42:	e8 e5 96 49 00       	call   0x140dfb52c
140961e47:	85 c0                	test   %eax,%eax
140961e49:	75 09                	jne    0x140961e54
140961e4b:	49 8b cc             	mov    %r12,%rcx
140961e4e:	e8 3d 67 88 ff       	call   0x1401e8590
140961e53:	90                   	nop
140961e54:	49 8b 04 24          	mov    (%r12),%rax
140961e58:	48 63 48 04          	movslq 0x4(%rax),%rcx
140961e5c:	4a 8b 4c 21 48       	mov    0x48(%rcx,%r12,1),%rcx
140961e61:	48 85 c9             	test   %rcx,%rcx
140961e64:	74 0e                	je     0x140961e74
140961e66:	48 8b 01             	mov    (%rcx),%rax
140961e69:	48 8b 40 10          	mov    0x10(%rax),%rax
140961e6d:	ff 15 ad 1b 62 00    	call   *0x621bad(%rip)        # 0x140f83a20
140961e73:	90                   	nop
140961e74:	48 8b c6             	mov    %rsi,%rax
140961e77:	48 83 c4 70          	add    $0x70,%rsp
140961e7b:	41 5f                	pop    %r15
140961e7d:	41 5e                	pop    %r14
140961e7f:	41 5d                	pop    %r13
140961e81:	41 5c                	pop    %r12
140961e83:	5f                   	pop    %rdi
140961e84:	5e                   	pop    %rsi
140961e85:	5b                   	pop    %rbx
140961e86:	c3                   	ret
140961e87:	41 f6 c6 04          	test   $0x4,%r14b
140961e8b:	74 09                	je     0x140961e96
140961e8d:	48 8d 1d 54 78 64 00 	lea    0x647854(%rip),%rbx        # 0x140fa96e8
140961e94:	eb 16                	jmp    0x140961eac
140961e96:	41 f6 c6 02          	test   $0x2,%r14b
140961e9a:	48 8d 1d 5f 78 64 00 	lea    0x64785f(%rip),%rbx        # 0x140fa9700
140961ea1:	48 8d 05 70 78 64 00 	lea    0x647870(%rip),%rax        # 0x140fa9718
140961ea8:	48 0f 44 d8          	cmove  %rax,%rbx
140961eac:	ba 01 00 00 00       	mov    $0x1,%edx
140961eb1:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140961eb6:	e8 05 59 8a ff       	call   0x1402077c0
140961ebb:	4c 8b c0             	mov    %rax,%r8
140961ebe:	48 8b d3             	mov    %rbx,%rdx
140961ec1:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140961ec6:	e8 65 e9 87 ff       	call   0x1401e0830
140961ecb:	48 8d 15 46 ee a3 00 	lea    0xa3ee46(%rip),%rdx        # 0x1413a0d18
140961ed2:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140961ed7:	e8 3c a9 4b 00       	call   0x140e1c818
140961edc:	cc                   	int3
140961edd:	cc                   	int3
140961ede:	cc                   	int3
140961edf:	cc                   	int3
140961ee0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140961ee5:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140961eea:	56                   	push   %rsi
140961eeb:	57                   	push   %rdi
140961eec:	41 54                	push   %r12
140961eee:	41 56                	push   %r14
140961ef0:	41 57                	push   %r15
140961ef2:	48 83 ec 50          	sub    $0x50,%rsp
140961ef6:	48 8b 05 03 70 a5 00 	mov    0xa57003(%rip),%rax        # 0x1413b8f00
140961efd:	48 33 c4             	xor    %rsp,%rax
140961f00:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140961f05:	45 33 e4             	xor    %r12d,%r12d
140961f08:	4d 8b f8             	mov    %r8,%r15
140961f0b:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140961f10:	48 8b e9             	mov    %rcx,%rbp
140961f13:	48 c7 c7 ff ff ff ff 	mov    $0xffffffffffffffff,%rdi
140961f1a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140961f20:	48 ff c7             	inc    %rdi
140961f23:	44 38 24 0f          	cmp    %r12b,(%rdi,%rcx,1)