140937a40:	49 8d 50 02          	lea    0x2(%r8),%rdx
140937a44:	48 83 c7 02          	add    $0x2,%rdi
140937a48:	4c 8b ca             	mov    %rdx,%r9
140937a4b:	44 0f b7 01          	movzwl (%rcx),%r8d
140937a4f:	66 44 39 00          	cmp    %r8w,(%rax)
140937a53:	75 11                	jne    0x140937a66
140937a55:	4c 8b c2             	mov    %rdx,%r8
140937a58:	48 3b d6             	cmp    %rsi,%rdx
140937a5b:	75 d6                	jne    0x140937a33
140937a5d:	48 3b 7c 24 70       	cmp    0x70(%rsp),%rdi
140937a62:	49 0f 44 d9          	cmove  %r9,%rbx
140937a66:	49 89 5d 00          	mov    %rbx,0x0(%r13)
140937a6a:	49 8b c5             	mov    %r13,%rax
140937a6d:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140937a72:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140937a77:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140937a7c:	48 83 c4 20          	add    $0x20,%rsp
140937a80:	41 5f                	pop    %r15
140937a82:	41 5e                	pop    %r14
140937a84:	41 5d                	pop    %r13
140937a86:	41 5c                	pop    %r12
140937a88:	5f                   	pop    %rdi
140937a89:	c3                   	ret
140937a8a:	90                   	nop
140937a8b:	90                   	nop
140937a8c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140937a91:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140937a96:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140937a9b:	57                   	push   %rdi
140937a9c:	41 56                	push   %r14
140937a9e:	41 57                	push   %r15
140937aa0:	48 83 ec 20          	sub    $0x20,%rsp
140937aa4:	48 8b f2             	mov    %rdx,%rsi
140937aa7:	4c 8b f1             	mov    %rcx,%r14
140937aaa:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
140937ab1:	ff ff 0f
140937ab4:	49 3b d0             	cmp    %r8,%rdx
140937ab7:	0f 87 46 01 00 00    	ja     0x140937c03
140937abd:	4c 8b 79 08          	mov    0x8(%rcx),%r15
140937ac1:	4c 2b 39             	sub    (%rcx),%r15
140937ac4:	49 c1 ff 04          	sar    $0x4,%r15
140937ac8:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140937acc:	49 2b 0e             	sub    (%r14),%rcx
140937acf:	48 c1 f9 04          	sar    $0x4,%rcx
140937ad3:	48 8b d1             	mov    %rcx,%rdx
140937ad6:	48 d1 ea             	shr    $1,%rdx
140937ad9:	49 8b c0             	mov    %r8,%rax
140937adc:	48 2b c2             	sub    %rdx,%rax
140937adf:	48 3b c8             	cmp    %rax,%rcx
140937ae2:	76 05                	jbe    0x140937ae9
140937ae4:	49 8b d8             	mov    %r8,%rbx
140937ae7:	eb 0b                	jmp    0x140937af4
140937ae9:	48 8d 1c 0a          	lea    (%rdx,%rcx,1),%rbx
140937aed:	48 3b de             	cmp    %rsi,%rbx
140937af0:	48 0f 42 de          	cmovb  %rsi,%rbx
140937af4:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
140937af9:	49 3b d8             	cmp    %r8,%rbx
140937afc:	0f 87 fb 00 00 00    	ja     0x140937bfd
140937b02:	48 c1 e3 04          	shl    $0x4,%rbx
140937b06:	48 85 db             	test   %rbx,%rbx
140937b09:	0f 85 9d 00 00 00    	jne    0x140937bac
140937b0f:	33 ff                	xor    %edi,%edi
140937b11:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140937b16:	49 8b c7             	mov    %r15,%rax
140937b19:	48 c1 e0 04          	shl    $0x4,%rax
140937b1d:	48 03 c7             	add    %rdi,%rax
140937b20:	48 8b ce             	mov    %rsi,%rcx
140937b23:	49 2b cf             	sub    %r15,%rcx
140937b26:	74 13                	je     0x140937b3b
140937b28:	48 83 20 00          	andq   $0x0,(%rax)
140937b2c:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
140937b31:	48 8d 40 10          	lea    0x10(%rax),%rax
140937b35:	48 83 e9 01          	sub    $0x1,%rcx
140937b39:	75 ed                	jne    0x140937b28
140937b3b:	4d 8b 46 08          	mov    0x8(%r14),%r8
140937b3f:	4d 2b 06             	sub    (%r14),%r8
140937b42:	49 8b 16             	mov    (%r14),%rdx
140937b45:	48 8b cf             	mov    %rdi,%rcx
140937b48:	e8 19 89 1b 00       	call   0x140af0466
140937b4d:	49 8b 0e             	mov    (%r14),%rcx
140937b50:	48 85 c9             	test   %rcx,%rcx
140937b53:	74 2d                	je     0x140937b82
140937b55:	49 8b 46 10          	mov    0x10(%r14),%rax
140937b59:	48 2b c1             	sub    %rcx,%rax
140937b5c:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140937b60:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140937b66:	72 14                	jb     0x140937b7c
140937b68:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140937b6c:	48 2b ca             	sub    %rdx,%rcx
140937b6f:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140937b73:	48 83 f8 1f          	cmp    $0x1f,%rax
140937b77:	77 7d                	ja     0x140937bf6
140937b79:	48 8b ca             	mov    %rdx,%rcx
140937b7c:	ff 15 3e 4d 1d 00    	call   *0x1d4d3e(%rip)        # 0x140b0c8c0
140937b82:	49 89 3e             	mov    %rdi,(%r14)
140937b85:	48 c1 e6 04          	shl    $0x4,%rsi
140937b89:	48 03 f7             	add    %rdi,%rsi
140937b8c:	49 89 76 08          	mov    %rsi,0x8(%r14)
140937b90:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
140937b94:	49 89 46 10          	mov    %rax,0x10(%r14)
140937b98:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140937b9d:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140937ba2:	48 83 c4 20          	add    $0x20,%rsp
140937ba6:	41 5f                	pop    %r15
140937ba8:	41 5e                	pop    %r14
140937baa:	5f                   	pop    %rdi
140937bab:	c3                   	ret
140937bac:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
140937bb3:	72 25                	jb     0x140937bda
140937bb5:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
140937bb9:	48 3b cb             	cmp    %rbx,%rcx
140937bbc:	76 3f                	jbe    0x140937bfd
140937bbe:	ff 15 04 4d 1d 00    	call   *0x1d4d04(%rip)        # 0x140b0c8c8
140937bc4:	48 85 c0             	test   %rax,%rax
140937bc7:	74 26                	je     0x140937bef
140937bc9:	48 8d 78 27          	lea    0x27(%rax),%rdi
140937bcd:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
140937bd1:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140937bd5:	e9 37 ff ff ff       	jmp    0x140937b11
140937bda:	48 8b cb             	mov    %rbx,%rcx
140937bdd:	ff 15 e5 4c 1d 00    	call   *0x1d4ce5(%rip)        # 0x140b0c8c8
140937be3:	48 8b f8             	mov    %rax,%rdi
140937be6:	48 85 c0             	test   %rax,%rax
140937be9:	0f 85 22 ff ff ff    	jne    0x140937b11
140937bef:	ff 15 a3 48 1d 00    	call   *0x1d48a3(%rip)        # 0x140b0c498
140937bf5:	cc                   	int3
140937bf6:	ff 15 9c 4d 1d 00    	call   *0x1d4d9c(%rip)        # 0x140b0c998
140937bfc:	cc                   	int3
140937bfd:	e8 ce c0 6c ff       	call   0x140003cd0
140937c02:	cc                   	int3
140937c03:	e8 60 41 6e ff       	call   0x14001bd68
140937c08:	cc                   	int3
140937c09:	90                   	nop
140937c0a:	90                   	nop
140937c0b:	90                   	nop
140937c0c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140937c11:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140937c16:	56                   	push   %rsi
140937c17:	57                   	push   %rdi
140937c18:	41 55                	push   %r13
140937c1a:	41 56                	push   %r14
140937c1c:	41 57                	push   %r15
140937c1e:	48 83 ec 20          	sub    $0x20,%rsp
140937c22:	4c 8b f2             	mov    %rdx,%r14
140937c25:	48 8b f9             	mov    %rcx,%rdi
140937c28:	49 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%r8
140937c2f:	aa aa 0a
140937c32:	49 3b d0             	cmp    %r8,%rdx
140937c35:	0f 87 71 01 00 00    	ja     0x140937dac
140937c3b:	4c 8b 79 08          	mov    0x8(%rcx),%r15
140937c3f:	4c 2b 39             	sub    (%rcx),%r15
140937c42:	49 c1 ff 03          	sar    $0x3,%r15
140937c46:	49 bd ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r13
140937c4d:	aa aa aa
140937c50:	4d 0f af fd          	imul   %r13,%r15
140937c54:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140937c58:	48 2b 0f             	sub    (%rdi),%rcx
140937c5b:	48 c1 f9 03          	sar    $0x3,%rcx
140937c5f:	49 0f af cd          	imul   %r13,%rcx
140937c63:	48 8b d1             	mov    %rcx,%rdx
140937c66:	48 d1 ea             	shr    $1,%rdx
140937c69:	49 8b c0             	mov    %r8,%rax
140937c6c:	48 2b c2             	sub    %rdx,%rax
140937c6f:	48 3b c8             	cmp    %rax,%rcx
140937c72:	76 05                	jbe    0x140937c79
140937c74:	49 8b c0             	mov    %r8,%rax
140937c77:	eb 0b                	jmp    0x140937c84
140937c79:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140937c7d:	49 3b c6             	cmp    %r14,%rax
140937c80:	49 0f 42 c6          	cmovb  %r14,%rax
140937c84:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140937c89:	49 3b c0             	cmp    %r8,%rax
140937c8c:	0f 87 14 01 00 00    	ja     0x140937da6
140937c92:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140937c96:	48 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%rsi
140937c9d:	00
140937c9e:	48 85 f6             	test   %rsi,%rsi
140937ca1:	0f 85 ae 00 00 00    	jne    0x140937d55
140937ca7:	33 db                	xor    %ebx,%ebx
140937ca9:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140937cae:	49 8d 47 01          	lea    0x1(%r15),%rax
140937cb2:	49 8d 04 47          	lea    (%r15,%rax,2),%rax
140937cb6:	49 8b ce             	mov    %r14,%rcx
140937cb9:	49 2b cf             	sub    %r15,%rcx
140937cbc:	74 1b                	je     0x140937cd9
140937cbe:	48 8d 04 c3          	lea    (%rbx,%rax,8),%rax
140937cc2:	48 83 60 f0 00       	andq   $0x0,-0x10(%rax)
140937cc7:	48 83 60 f8 00       	andq   $0x0,-0x8(%rax)
140937ccc:	c6 00 00             	movb   $0x0,(%rax)
140937ccf:	48 8d 40 18          	lea    0x18(%rax),%rax
140937cd3:	48 83 e9 01          	sub    $0x1,%rcx
140937cd7:	75 e9                	jne    0x140937cc2
140937cd9:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140937cdd:	4c 2b 07             	sub    (%rdi),%r8
140937ce0:	48 8b 17             	mov    (%rdi),%rdx
140937ce3:	48 8b cb             	mov    %rbx,%rcx
140937ce6:	e8 7b 87 1b 00       	call   0x140af0466
140937ceb:	48 8b 0f             	mov    (%rdi),%rcx
140937cee:	48 85 c9             	test   %rcx,%rcx
140937cf1:	74 39                	je     0x140937d2c
140937cf3:	48 8b 47 10          	mov    0x10(%rdi),%rax
140937cf7:	48 2b c1             	sub    %rcx,%rax
140937cfa:	48 c1 f8 03          	sar    $0x3,%rax
140937cfe:	49 0f af c5          	imul   %r13,%rax
140937d02:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140937d06:	48 c1 e0 03          	shl    $0x3,%rax
140937d0a:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140937d10:	72 14                	jb     0x140937d26
140937d12:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140937d16:	48 2b ca             	sub    %rdx,%rcx
140937d19:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140937d1d:	48 83 f8 1f          	cmp    $0x1f,%rax
140937d21:	77 7c                	ja     0x140937d9f
140937d23:	48 8b ca             	mov    %rdx,%rcx
140937d26:	ff 15 94 4b 1d 00    	call   *0x1d4b94(%rip)        # 0x140b0c8c0
140937d2c:	48 89 1f             	mov    %rbx,(%rdi)
140937d2f:	4b 8d 04 76          	lea    (%r14,%r14,2),%rax
140937d33:	48 8d 0c c3          	lea    (%rbx,%rax,8),%rcx
140937d37:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140937d3b:	48 8d 04 33          	lea    (%rbx,%rsi,1),%rax
140937d3f:	48 89 47 10          	mov    %rax,0x10(%rdi)
140937d43:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140937d48:	48 83 c4 20          	add    $0x20,%rsp
140937d4c:	41 5f                	pop    %r15
140937d4e:	41 5e                	pop    %r14
140937d50:	41 5d                	pop    %r13
140937d52:	5f                   	pop    %rdi
140937d53:	5e                   	pop    %rsi
140937d54:	c3                   	ret
140937d55:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
140937d5c:	72 25                	jb     0x140937d83
140937d5e:	48 8d 4e 27          	lea    0x27(%rsi),%rcx
140937d62:	48 3b ce             	cmp    %rsi,%rcx
140937d65:	76 3f                	jbe    0x140937da6
140937d67:	ff 15 5b 4b 1d 00    	call   *0x1d4b5b(%rip)        # 0x140b0c8c8
140937d6d:	48 85 c0             	test   %rax,%rax
140937d70:	74 26                	je     0x140937d98
140937d72:	48 8d 58 27          	lea    0x27(%rax),%rbx
140937d76:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140937d7a:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140937d7e:	e9 26 ff ff ff       	jmp    0x140937ca9
140937d83:	48 8b ce             	mov    %rsi,%rcx
140937d86:	ff 15 3c 4b 1d 00    	call   *0x1d4b3c(%rip)        # 0x140b0c8c8
140937d8c:	48 8b d8             	mov    %rax,%rbx
140937d8f:	48 85 c0             	test   %rax,%rax
140937d92:	0f 85 11 ff ff ff    	jne    0x140937ca9
140937d98:	ff 15 fa 46 1d 00    	call   *0x1d46fa(%rip)        # 0x140b0c498
140937d9e:	cc                   	int3
140937d9f:	ff 15 f3 4b 1d 00    	call   *0x1d4bf3(%rip)        # 0x140b0c998
140937da5:	cc                   	int3
140937da6:	e8 25 bf 6c ff       	call   0x140003cd0
140937dab:	cc                   	int3
140937dac:	e8 b7 3f 6e ff       	call   0x14001bd68
140937db1:	cc                   	int3
140937db2:	90                   	nop
140937db3:	90                   	nop
140937db4:	48 8b c4             	mov    %rsp,%rax
140937db7:	48 89 58 08          	mov    %rbx,0x8(%rax)
140937dbb:	48 89 70 10          	mov    %rsi,0x10(%rax)
140937dbf:	48 89 78 20          	mov    %rdi,0x20(%rax)
140937dc3:	44 88 40 18          	mov    %r8b,0x18(%rax)
140937dc7:	55                   	push   %rbp
140937dc8:	41 54                	push   %r12
140937dca:	41 55                	push   %r13
140937dcc:	41 56                	push   %r14
140937dce:	41 57                	push   %r15
140937dd0:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
140937dd4:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140937ddb:	45 8a f8             	mov    %r8b,%r15b
140937dde:	4c 8b f2             	mov    %rdx,%r14
140937de1:	48 8b d9             	mov    %rcx,%rbx
140937de4:	33 ff                	xor    %edi,%edi
140937de6:	8b f7                	mov    %edi,%esi
140937de8:	48 8b d1             	mov    %rcx,%rdx
140937deb:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
140937def:	e8 68 2c 8a ff       	call   0x1401daa5c
140937df4:	41 39 7e 20          	cmp    %edi,0x20(%r14)
140937df8:	7e 2e                	jle    0x140937e28
140937dfa:	4c 8b 3b             	mov    (%rbx),%r15
140937dfd:	49 8b 56 10          	mov    0x10(%r14),%rdx
140937e01:	48 8b cb             	mov    %rbx,%rcx
140937e04:	e8 57 e3 ff ff       	call   0x140936160
140937e09:	84 c0                	test   %al,%al
140937e0b:	0f 84 d1 00 00 00    	je     0x140937ee2
140937e11:	4c 3b 3b             	cmp    (%rbx),%r15
140937e14:	75 06                	jne    0x140937e1c
140937e16:	41 8b 76 20          	mov    0x20(%r14),%esi
140937e1a:	ff ce                	dec    %esi
140937e1c:	ff c6                	inc    %esi
140937e1e:	41 3b 76 20          	cmp    0x20(%r14),%esi
140937e22:	7c d6                	jl     0x140937dfa
140937e24:	44 8a 7d 77          	mov    0x77(%rbp),%r15b
140937e28:	48 8b d3             	mov    %rbx,%rdx
140937e2b:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
140937e2f:	e8 28 2c 8a ff       	call   0x1401daa5c
140937e34:	90                   	nop
140937e35:	44 8a e7             	mov    %dil,%r12b
140937e38:	4c 8b 2b             	mov    (%rbx),%r13
140937e3b:	49 8b 56 28          	mov    0x28(%r14),%rdx
140937e3f:	48 8b 52 10          	mov    0x10(%rdx),%rdx
140937e43:	48 8b cb             	mov    %rbx,%rcx
140937e46:	e8 15 e3 ff ff       	call   0x140936160
140937e4b:	84 c0                	test   %al,%al
140937e4d:	74 18                	je     0x140937e67
140937e4f:	45 84 ff             	test   %r15b,%r15b
140937e52:	0f 84 98 00 00 00    	je     0x140937ef0
140937e58:	48 8b d3             	mov    %rbx,%rdx
140937e5b:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
140937e5f:	e8 8c 1a 8a ff       	call   0x1401d98f0
140937e64:	41 b4 01             	mov    $0x1,%r12b
140937e67:	41 83 7e 24 ff       	cmpl   $0xffffffff,0x24(%r14)
140937e6c:	74 0a                	je     0x140937e78
140937e6e:	8b c6                	mov    %esi,%eax
140937e70:	ff c6                	inc    %esi
140937e72:	41 3b 46 24          	cmp    0x24(%r14),%eax
140937e76:	7d 7d                	jge    0x140937ef5
140937e78:	4c 89 2b             	mov    %r13,(%rbx)
140937e7b:	4c 8d 7b 08          	lea    0x8(%rbx),%r15
140937e7f:	48 8d 45 bf          	lea    -0x41(%rbp),%rax
140937e83:	4c 3b f8             	cmp    %rax,%r15
140937e86:	74 14                	je     0x140937e9c
140937e88:	48 8d 55 bf          	lea    -0x41(%rbp),%rdx
140937e8c:	49 8b cf             	mov    %r15,%rcx
140937e8f:	e8 d4 1a 8a ff       	call   0x1401d9968
140937e94:	48 8b 45 d7          	mov    -0x29(%rbp),%rax
140937e98:	49 89 47 18          	mov    %rax,0x18(%r15)
140937e9c:	49 8b 56 10          	mov    0x10(%r14),%rdx
140937ea0:	48 8b cb             	mov    %rbx,%rcx
140937ea3:	e8 b8 e2 ff ff       	call   0x140936160
140937ea8:	84 c0                	test   %al,%al
140937eaa:	74 49                	je     0x140937ef5
140937eac:	4c 8b 3b             	mov    (%rbx),%r15
140937eaf:	49 8b 56 28          	mov    0x28(%r14),%rdx
140937eb3:	48 8b 52 10          	mov    0x10(%rdx),%rdx
140937eb7:	48 8b cb             	mov    %rbx,%rcx
140937eba:	e8 a1 e2 ff ff       	call   0x140936160
140937ebf:	84 c0                	test   %al,%al
140937ec1:	74 15                	je     0x140937ed8
140937ec3:	40 38 7d 77          	cmp    %dil,0x77(%rbp)
140937ec7:	74 27                	je     0x140937ef0
140937ec9:	48 8b d3             	mov    %rbx,%rdx
140937ecc:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
140937ed0:	e8 1b 1a 8a ff       	call   0x1401d98f0
140937ed5:	41 b4 01             	mov    $0x1,%r12b
140937ed8:	4d 3b ef             	cmp    %r15,%r13
140937edb:	74 18                	je     0x140937ef5
140937edd:	4d 8b ef             	mov    %r15,%r13
140937ee0:	eb 85                	jmp    0x140937e67
140937ee2:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140937ee6:	48 8b cb             	mov    %rbx,%rcx