1400a58c6:	48 ff cb             	dec    %rbx
1400a58c9:	0f b7 c8             	movzwl %ax,%ecx
1400a58cc:	e8 73 20 fe ff       	call   0x140087944
1400a58d1:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a58d4:	75 e2                	jne    0x1400a58b8
1400a58d6:	e9 8b fe ff ff       	jmp    0x1400a5766
1400a58db:	cc                   	int3
1400a58dc:	cc                   	int3
1400a58dd:	cc                   	int3
1400a58de:	cc                   	int3
1400a58df:	cc                   	int3
1400a58e0:	56                   	push   %rsi
1400a58e1:	57                   	push   %rdi
1400a58e2:	48 83 ec 28          	sub    $0x28,%rsp
1400a58e6:	48 89 d6             	mov    %rdx,%rsi
1400a58e9:	48 89 cf             	mov    %rcx,%rdi
1400a58ec:	48 8b 01             	mov    (%rcx),%rax
1400a58ef:	48 8b 40 28          	mov    0x28(%rax),%rax
1400a58f3:	ff 15 0f 14 05 00    	call   *0x5140f(%rip)        # 0x1400f6d08
1400a58f9:	48 8d 15 78 c1 06 00 	lea    0x6c178(%rip),%rdx        # 0x140111a78
1400a5900:	48 89 f1             	mov    %rsi,%rcx
1400a5903:	e8 c8 59 fb ff       	call   0x14005b2d0
1400a5908:	48 89 47 48          	mov    %rax,0x48(%rdi)
1400a590c:	48 8b 08             	mov    (%rax),%rcx
1400a590f:	48 8b 51 30          	mov    0x30(%rcx),%rdx
1400a5913:	48 89 c1             	mov    %rax,%rcx
1400a5916:	48 89 d0             	mov    %rdx,%rax
1400a5919:	ff 15 e9 13 05 00    	call   *0x513e9(%rip)        # 0x1400f6d08
1400a591f:	88 47 58             	mov    %al,0x58(%rdi)
1400a5922:	48 83 c4 28          	add    $0x28,%rsp
1400a5926:	5f                   	pop    %rdi
1400a5927:	5e                   	pop    %rsi
1400a5928:	c3                   	ret
1400a5929:	cc                   	int3
1400a592a:	cc                   	int3
1400a592b:	cc                   	int3
1400a592c:	cc                   	int3
1400a592d:	cc                   	int3
1400a592e:	cc                   	int3
1400a592f:	cc                   	int3
1400a5930:	41 56                	push   %r14
1400a5932:	56                   	push   %rsi
1400a5933:	57                   	push   %rdi
1400a5934:	53                   	push   %rbx
1400a5935:	48 83 ec 28          	sub    $0x28,%rsp
1400a5939:	4d 85 c0             	test   %r8,%r8
1400a593c:	7e 32                	jle    0x1400a5970
1400a593e:	4c 89 c7             	mov    %r8,%rdi
1400a5941:	48 89 d3             	mov    %rdx,%rbx
1400a5944:	49 89 ce             	mov    %rcx,%r14
1400a5947:	31 f6                	xor    %esi,%esi
1400a5949:	0f b7 14 73          	movzwl (%rbx,%rsi,2),%edx
1400a594d:	49 8b 06             	mov    (%r14),%rax
1400a5950:	48 8b 40 60          	mov    0x60(%rax),%rax
1400a5954:	4c 89 f1             	mov    %r14,%rcx
1400a5957:	ff 15 ab 13 05 00    	call   *0x513ab(%rip)        # 0x1400f6d08
1400a595d:	66 83 f8 ff          	cmp    $0xffff,%ax
1400a5961:	74 0f                	je     0x1400a5972
1400a5963:	48 ff c6             	inc    %rsi
1400a5966:	48 39 f7             	cmp    %rsi,%rdi
1400a5969:	75 de                	jne    0x1400a5949
1400a596b:	48 89 fe             	mov    %rdi,%rsi
1400a596e:	eb 02                	jmp    0x1400a5972
1400a5970:	31 f6                	xor    %esi,%esi
1400a5972:	48 89 f0             	mov    %rsi,%rax
1400a5975:	48 83 c4 28          	add    $0x28,%rsp
1400a5979:	5b                   	pop    %rbx
1400a597a:	5f                   	pop    %rdi
1400a597b:	5e                   	pop    %rsi
1400a597c:	41 5e                	pop    %r14
1400a597e:	c3                   	ret
1400a597f:	cc                   	int3
1400a5980:	41 57                	push   %r15
1400a5982:	41 56                	push   %r14
1400a5984:	41 55                	push   %r13
1400a5986:	41 54                	push   %r12
1400a5988:	56                   	push   %rsi
1400a5989:	57                   	push   %rdi
1400a598a:	55                   	push   %rbp
1400a598b:	53                   	push   %rbx
1400a598c:	48 83 ec 68          	sub    $0x68,%rsp
1400a5990:	48 8b 05 a9 b6 05 00 	mov    0x5b6a9(%rip),%rax        # 0x140101040
1400a5997:	48 31 e0             	xor    %rsp,%rax
1400a599a:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1400a599f:	49 bc aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%r12
1400a59a6:	aa aa aa
1400a59a9:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
1400a59ae:	66 83 fa ff          	cmp    $0xffff,%dx
1400a59b2:	74 2b                	je     0x1400a59df
1400a59b4:	89 d6                	mov    %edx,%esi
1400a59b6:	48 89 cf             	mov    %rcx,%rdi
1400a59b9:	66 89 54 24 56       	mov    %dx,0x56(%rsp)
1400a59be:	80 79 58 01          	cmpb   $0x1,0x58(%rcx)
1400a59c2:	75 6a                	jne    0x1400a5a2e
1400a59c4:	48 8b 57 40          	mov    0x40(%rdi),%rdx
1400a59c8:	89 f1                	mov    %esi,%ecx
1400a59ca:	e8 c5 f6 fd ff       	call   0x140085094
1400a59cf:	66 83 f8 ff          	cmp    $0xffff,%ax
1400a59d3:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400a59d8:	0f 45 c6             	cmovne %esi,%eax
1400a59db:	89 c6                	mov    %eax,%esi
1400a59dd:	eb 02                	jmp    0x1400a59e1
1400a59df:	31 f6                	xor    %esi,%esi
1400a59e1:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400a59e6:	48 31 e1             	xor    %rsp,%rcx
1400a59e9:	48 3b 0d 50 b6 05 00 	cmp    0x5b650(%rip),%rcx        # 0x140101040
1400a59f0:	74 06                	je     0x1400a59f8
1400a59f2:	e8 d9 98 fc ff       	call   0x14006f2d0
1400a59f7:	cc                   	int3
1400a59f8:	89 f0                	mov    %esi,%eax
1400a59fa:	48 83 c4 68          	add    $0x68,%rsp
1400a59fe:	5b                   	pop    %rbx
1400a59ff:	5d                   	pop    %rbp
1400a5a00:	5f                   	pop    %rdi
1400a5a01:	5e                   	pop    %rsi
1400a5a02:	41 5c                	pop    %r12
1400a5a04:	41 5d                	pop    %r13
1400a5a06:	41 5e                	pop    %r14
1400a5a08:	41 5f                	pop    %r15
1400a5a0a:	c3                   	ret
1400a5a0b:	4c 8b 4f 40          	mov    0x40(%rdi),%r9
1400a5a0f:	ba 01 00 00 00       	mov    $0x1,%edx
1400a5a14:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400a5a1a:	4c 89 f9             	mov    %r15,%rcx
1400a5a1d:	e8 d6 04 fe ff       	call   0x140085ef8
1400a5a22:	48 83 f8 01          	cmp    $0x1,%rax
1400a5a26:	74 b9                	je     0x1400a59e1
1400a5a28:	66 be ff ff          	mov    $0xffff,%si
1400a5a2c:	eb b3                	jmp    0x1400a59e1
1400a5a2e:	48 8d 5c 24 58       	lea    0x58(%rsp),%rbx
1400a5a33:	4c 8d 6c 24 48       	lea    0x48(%rsp),%r13
1400a5a38:	49 89 5d 00          	mov    %rbx,0x0(%r13)
1400a5a3c:	4c 8d 7c 24 56       	lea    0x56(%rsp),%r15
1400a5a41:	4c 8d 74 24 40       	lea    0x40(%rsp),%r14
1400a5a46:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1400a5a4b:	48 8b 4f 48          	mov    0x48(%rdi),%rcx
1400a5a4f:	48 8b 57 50          	mov    0x50(%rdi),%rdx
1400a5a53:	48 8b 01             	mov    (%rcx),%rax
1400a5a56:	48 8b 40 10          	mov    0x10(%rax),%rax
1400a5a5a:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1400a5a5f:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
1400a5a64:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
1400a5a69:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1400a5a6e:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1400a5a73:	4d 89 f8             	mov    %r15,%r8
1400a5a76:	4c 8d 4c 24 58       	lea    0x58(%rsp),%r9
1400a5a7b:	ff 15 87 12 05 00    	call   *0x51287(%rip)        # 0x1400f6d08
1400a5a81:	4c 39 7c 24 40       	cmp    %r15,0x40(%rsp)
1400a5a86:	74 a0                	je     0x1400a5a28
1400a5a88:	89 c5                	mov    %eax,%ebp
1400a5a8a:	83 f8 03             	cmp    $0x3,%eax
1400a5a8d:	0f 84 78 ff ff ff    	je     0x1400a5a0b
1400a5a93:	83 fd 01             	cmp    $0x1,%ebp
1400a5a96:	77 90                	ja     0x1400a5a28
1400a5a98:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
1400a5a9d:	49 29 df             	sub    %rbx,%r15
1400a5aa0:	4c 8b 4f 40          	mov    0x40(%rdi),%r9
1400a5aa4:	ba 01 00 00 00       	mov    $0x1,%edx
1400a5aa9:	48 89 d9             	mov    %rbx,%rcx
1400a5aac:	4d 89 f8             	mov    %r15,%r8
1400a5aaf:	e8 44 04 fe ff       	call   0x140085ef8
1400a5ab4:	4c 39 f8             	cmp    %r15,%rax
1400a5ab7:	0f 85 6b ff ff ff    	jne    0x1400a5a28
1400a5abd:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
1400a5ac2:	83 fd 01             	cmp    $0x1,%ebp
1400a5ac5:	0f 84 7b ff ff ff    	je     0x1400a5a46
1400a5acb:	e9 11 ff ff ff       	jmp    0x1400a59e1
1400a5ad0:	53                   	push   %rbx
1400a5ad1:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400a5ad6:	49 39 c9             	cmp    %rcx,%r9
1400a5ad9:	74 2e                	je     0x1400a5b09
1400a5adb:	49 89 ca             	mov    %rcx,%r10
1400a5ade:	4d 29 ca             	sub    %r9,%r10
1400a5ae1:	49 01 d2             	add    %rdx,%r10
1400a5ae4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1400a5ae9:	4c 39 c2             	cmp    %r8,%rdx
1400a5aec:	74 23                	je     0x1400a5b11
1400a5aee:	44 8a 1a             	mov    (%rdx),%r11b
1400a5af1:	41 8a 19             	mov    (%r9),%bl
1400a5af4:	41 38 db             	cmp    %bl,%r11b
1400a5af7:	7c 18                	jl     0x1400a5b11
1400a5af9:	7f 18                	jg     0x1400a5b13
1400a5afb:	48 ff c2             	inc    %rdx
1400a5afe:	49 ff c1             	inc    %r9
1400a5b01:	49 39 c9             	cmp    %rcx,%r9
1400a5b04:	75 e3                	jne    0x1400a5ae9
1400a5b06:	4c 89 d2             	mov    %r10,%rdx
1400a5b09:	31 c0                	xor    %eax,%eax
1400a5b0b:	4c 39 c2             	cmp    %r8,%rdx
1400a5b0e:	0f 95 c0             	setne  %al
1400a5b11:	5b                   	pop    %rbx
1400a5b12:	c3                   	ret
1400a5b13:	b8 01 00 00 00       	mov    $0x1,%eax
1400a5b18:	eb f7                	jmp    0x1400a5b11
1400a5b1a:	cc                   	int3
1400a5b1b:	cc                   	int3
1400a5b1c:	cc                   	int3
1400a5b1d:	cc                   	int3
1400a5b1e:	cc                   	int3
1400a5b1f:	cc                   	int3
1400a5b20:	56                   	push   %rsi
1400a5b21:	48 83 ec 20          	sub    $0x20,%rsp
1400a5b25:	4c 89 c8             	mov    %r9,%rax
1400a5b28:	48 89 d6             	mov    %rdx,%rsi
1400a5b2b:	4d 29 c1             	sub    %r8,%r9
1400a5b2e:	48 89 d1             	mov    %rdx,%rcx
1400a5b31:	4c 89 c2             	mov    %r8,%rdx
1400a5b34:	49 89 c0             	mov    %rax,%r8
1400a5b37:	e8 04 d2 ff ff       	call   0x1400a2d40
1400a5b3c:	48 89 f0             	mov    %rsi,%rax
1400a5b3f:	48 83 c4 20          	add    $0x20,%rsp
1400a5b43:	5e                   	pop    %rsi
1400a5b44:	c3                   	ret
1400a5b45:	cc                   	int3
1400a5b46:	cc                   	int3
1400a5b47:	cc                   	int3
1400a5b48:	cc                   	int3
1400a5b49:	cc                   	int3
1400a5b4a:	cc                   	int3
1400a5b4b:	cc                   	int3
1400a5b4c:	cc                   	int3
1400a5b4d:	cc                   	int3
1400a5b4e:	cc                   	int3
1400a5b4f:	cc                   	int3
1400a5b50:	31 c0                	xor    %eax,%eax
1400a5b52:	4c 39 c2             	cmp    %r8,%rdx
1400a5b55:	74 30                	je     0x1400a5b87
1400a5b57:	48 b9 00 00 00 00 00 	movabs $0xf000000000000000,%rcx
1400a5b5e:	00 00 f0
1400a5b61:	48 c1 e0 04          	shl    $0x4,%rax
1400a5b65:	4c 0f be 0a          	movsbq (%rdx),%r9
1400a5b69:	49 01 c1             	add    %rax,%r9
1400a5b6c:	4d 89 ca             	mov    %r9,%r10
1400a5b6f:	49 21 ca             	and    %rcx,%r10
1400a5b72:	4c 89 d0             	mov    %r10,%rax
1400a5b75:	48 c1 e8 38          	shr    $0x38,%rax
1400a5b79:	4c 09 d0             	or     %r10,%rax
1400a5b7c:	4c 31 c8             	xor    %r9,%rax
1400a5b7f:	48 ff c2             	inc    %rdx
1400a5b82:	4c 39 c2             	cmp    %r8,%rdx
1400a5b85:	75 da                	jne    0x1400a5b61
1400a5b87:	c3                   	ret
1400a5b88:	cc                   	int3
1400a5b89:	cc                   	int3
1400a5b8a:	cc                   	int3
1400a5b8b:	cc                   	int3
1400a5b8c:	cc                   	int3
1400a5b8d:	cc                   	int3
1400a5b8e:	cc                   	int3
1400a5b8f:	cc                   	int3
1400a5b90:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
1400a5b95:	49 39 c9             	cmp    %rcx,%r9
1400a5b98:	74 27                	je     0x1400a5bc1
1400a5b9a:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1400a5b9f:	4c 39 c2             	cmp    %r8,%rdx
1400a5ba2:	74 25                	je     0x1400a5bc9
1400a5ba4:	44 0f b7 12          	movzwl (%rdx),%r10d
1400a5ba8:	45 0f b7 19          	movzwl (%r9),%r11d
1400a5bac:	66 45 39 da          	cmp    %r11w,%r10w
1400a5bb0:	72 17                	jb     0x1400a5bc9
1400a5bb2:	77 16                	ja     0x1400a5bca
1400a5bb4:	48 83 c2 02          	add    $0x2,%rdx
1400a5bb8:	49 83 c1 02          	add    $0x2,%r9
1400a5bbc:	49 39 c9             	cmp    %rcx,%r9
1400a5bbf:	75 de                	jne    0x1400a5b9f
1400a5bc1:	31 c0                	xor    %eax,%eax
1400a5bc3:	4c 39 c2             	cmp    %r8,%rdx
1400a5bc6:	0f 95 c0             	setne  %al
1400a5bc9:	c3                   	ret
1400a5bca:	b8 01 00 00 00       	mov    $0x1,%eax
1400a5bcf:	c3                   	ret
1400a5bd0:	56                   	push   %rsi
1400a5bd1:	48 83 ec 20          	sub    $0x20,%rsp
1400a5bd5:	4c 89 c8             	mov    %r9,%rax
1400a5bd8:	48 89 d6             	mov    %rdx,%rsi
1400a5bdb:	4d 29 c1             	sub    %r8,%r9
1400a5bde:	49 d1 f9             	sar    $1,%r9
1400a5be1:	48 89 d1             	mov    %rdx,%rcx
1400a5be4:	4c 89 c2             	mov    %r8,%rdx
1400a5be7:	49 89 c0             	mov    %rax,%r8
1400a5bea:	e8 e1 ec ff ff       	call   0x1400a48d0
1400a5bef:	48 89 f0             	mov    %rsi,%rax
1400a5bf2:	48 83 c4 20          	add    $0x20,%rsp
1400a5bf6:	5e                   	pop    %rsi
1400a5bf7:	c3                   	ret
1400a5bf8:	cc                   	int3
1400a5bf9:	cc                   	int3
1400a5bfa:	cc                   	int3
1400a5bfb:	cc                   	int3
1400a5bfc:	cc                   	int3
1400a5bfd:	cc                   	int3
1400a5bfe:	cc                   	int3
1400a5bff:	cc                   	int3
1400a5c00:	31 c0                	xor    %eax,%eax
1400a5c02:	4c 39 c2             	cmp    %r8,%rdx
1400a5c05:	74 31                	je     0x1400a5c38
1400a5c07:	48 b9 00 00 00 00 00 	movabs $0xf000000000000000,%rcx
1400a5c0e:	00 00 f0
1400a5c11:	48 c1 e0 04          	shl    $0x4,%rax
1400a5c15:	44 0f b7 0a          	movzwl (%rdx),%r9d
1400a5c19:	49 01 c1             	add    %rax,%r9
1400a5c1c:	4d 89 ca             	mov    %r9,%r10
1400a5c1f:	49 21 ca             	and    %rcx,%r10
1400a5c22:	4c 89 d0             	mov    %r10,%rax
1400a5c25:	48 c1 e8 38          	shr    $0x38,%rax
1400a5c29:	4c 09 d0             	or     %r10,%rax
1400a5c2c:	4c 31 c8             	xor    %r9,%rax
1400a5c2f:	48 83 c2 02          	add    $0x2,%rdx
1400a5c33:	4c 39 c2             	cmp    %r8,%rdx
1400a5c36:	75 d9                	jne    0x1400a5c11
1400a5c38:	c3                   	ret
1400a5c39:	cc                   	int3
1400a5c3a:	cc                   	int3
1400a5c3b:	cc                   	int3
1400a5c3c:	cc                   	int3
1400a5c3d:	cc                   	int3
1400a5c3e:	cc                   	int3
1400a5c3f:	cc                   	int3
1400a5c40:	55                   	push   %rbp
1400a5c41:	41 57                	push   %r15
1400a5c43:	41 56                	push   %r14
1400a5c45:	41 55                	push   %r13
1400a5c47:	41 54                	push   %r12
1400a5c49:	56                   	push   %rsi
1400a5c4a:	57                   	push   %rdi
1400a5c4b:	53                   	push   %rbx
1400a5c4c:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
1400a5c53:	48 8d ac 24 80 00 00 	lea    0x80(%rsp),%rbp
1400a5c5a:	00
1400a5c5b:	48 c7 45 00 fe ff ff 	movq   $0xfffffffffffffffe,0x0(%rbp)
1400a5c62:	ff
1400a5c63:	4c 89 cf             	mov    %r9,%rdi
1400a5c66:	48 89 d6             	mov    %rdx,%rsi
1400a5c69:	4c 8b bd 80 00 00 00 	mov    0x80(%rbp),%r15
1400a5c70:	4c 8b 65 78          	mov    0x78(%rbp),%r12
1400a5c74:	4c 8b 75 70          	mov    0x70(%rbp),%r14
1400a5c78:	4c 89 45 c8          	mov    %r8,-0x38(%rbp)
1400a5c7c:	41 f6 46 08 01       	testb  $0x1,0x8(%r14)
1400a5c81:	0f 84 36 01 00 00    	je     0x1400a5dbd
1400a5c87:	48 8d 5d d0          	lea    -0x30(%rbp),%rbx
1400a5c8b:	4c 89 f1             	mov    %r14,%rcx
1400a5c8e:	48 89 da             	mov    %rbx,%rdx
1400a5c91:	e8 3a 4b fb ff       	call   0x14005a7d0
1400a5c96:	48 8d 15 bb bd 06 00 	lea    0x6bdbb(%rip),%rdx        # 0x140111a58
1400a5c9d:	48 89 d9             	mov    %rbx,%rcx
1400a5ca0:	e8 2b 56 fb ff       	call   0x14005b2d0
1400a5ca5:	48 89 c3             	mov    %rax,%rbx
1400a5ca8:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
1400a5cac:	48 8d 05 3d bc 06 00 	lea    0x6bc3d(%rip),%rax        # 0x1401118f0
1400a5cb3:	48 39 c1             	cmp    %rax,%rcx