1403a58f3:	41 8b c2             	mov    %r10d,%eax
1403a58f6:	41 d3 ea             	shr    %cl,%r10d
1403a58f9:	d3 e0                	shl    %cl,%eax
1403a58fb:	b9 00 00 00 00       	mov    $0x0,%ecx
1403a5900:	48 3b fe             	cmp    %rsi,%rdi
1403a5903:	44 0f 43 d0          	cmovae %eax,%r10d
1403a5907:	48 85 d2             	test   %rdx,%rdx
1403a590a:	44 0f 44 c9          	cmove  %ecx,%r9d
1403a590e:	45 0b cc             	or     %r12d,%r9d
1403a5911:	48 85 ed             	test   %rbp,%rbp
1403a5914:	74 20                	je     0x1403a5936
1403a5916:	41 8b 16             	mov    (%r14),%edx
1403a5919:	49 8b 4d 08          	mov    0x8(%r13),%rcx
1403a591d:	41 23 d0             	and    %r8d,%edx
1403a5920:	8b 03                	mov    (%rbx),%eax
1403a5922:	40 2a cd             	sub    %bpl,%cl
1403a5925:	d3 e2                	shl    %cl,%edx
1403a5927:	41 23 c1             	and    %r9d,%eax
1403a592a:	0b d0                	or     %eax,%edx
1403a592c:	41 0b d2             	or     %r10d,%edx
1403a592f:	89 13                	mov    %edx,(%rbx)
1403a5931:	e9 3c 02 00 00       	jmp    0x1403a5b72
1403a5936:	8b 13                	mov    (%rbx),%edx
1403a5938:	41 23 d1             	and    %r9d,%edx
1403a593b:	41 0b d2             	or     %r10d,%edx
1403a593e:	89 13                	mov    %edx,(%rbx)
1403a5940:	e9 2d 02 00 00       	jmp    0x1403a5b72
1403a5945:	83 e0 07             	and    $0x7,%eax
1403a5948:	83 e1 07             	and    $0x7,%ecx
1403a594b:	48 3b c1             	cmp    %rcx,%rax
1403a594e:	0f 85 99 00 00 00    	jne    0x1403a59ed
1403a5954:	4c 8b e5             	mov    %rbp,%r12
1403a5957:	48 2b f0             	sub    %rax,%rsi
1403a595a:	48 2b f9             	sub    %rcx,%rdi
1403a595d:	48 c1 ee 03          	shr    $0x3,%rsi
1403a5961:	41 83 e4 07          	and    $0x7,%r12d
1403a5965:	48 c1 ef 03          	shr    $0x3,%rdi
1403a5969:	49 2b ec             	sub    %r12,%rbp
1403a596c:	49 03 f7             	add    %r15,%rsi
1403a596f:	48 c1 ed 03          	shr    $0x3,%rbp
1403a5973:	48 03 fb             	add    %rbx,%rdi
1403a5976:	49 03 ee             	add    %r14,%rbp
1403a5979:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
1403a597f:	41 be ff 00 00 00    	mov    $0xff,%r14d
1403a5985:	48 85 c0             	test   %rax,%rax
1403a5988:	74 21                	je     0x1403a59ab
1403a598a:	b9 08 00 00 00       	mov    $0x8,%ecx
1403a598f:	41 8b d6             	mov    %r14d,%edx
1403a5992:	2a c8                	sub    %al,%cl
1403a5994:	d3 fa                	sar    %cl,%edx
1403a5996:	8b c8                	mov    %eax,%ecx
1403a5998:	22 17                	and    (%rdi),%dl
1403a599a:	41 8b c7             	mov    %r15d,%eax
1403a599d:	d2 e0                	shl    %cl,%al
1403a599f:	22 06                	and    (%rsi),%al
1403a59a1:	48 ff c6             	inc    %rsi
1403a59a4:	0a d0                	or     %al,%dl
1403a59a6:	88 17                	mov    %dl,(%rdi)
1403a59a8:	48 ff c7             	inc    %rdi
1403a59ab:	48 8b dd             	mov    %rbp,%rbx
1403a59ae:	48 8b d6             	mov    %rsi,%rdx
1403a59b1:	48 2b de             	sub    %rsi,%rbx
1403a59b4:	48 8b cf             	mov    %rdi,%rcx
1403a59b7:	4c 8b c3             	mov    %rbx,%r8
1403a59ba:	e8 51 96 b3 00       	call   0x140edf010
1403a59bf:	4d 85 e4             	test   %r12,%r12
1403a59c2:	0f 84 aa 01 00 00    	je     0x1403a5b72
1403a59c8:	b9 08 00 00 00       	mov    $0x8,%ecx
1403a59cd:	41 2a cc             	sub    %r12b,%cl
1403a59d0:	41 d3 fe             	sar    %cl,%r14d
1403a59d3:	49 8b cc             	mov    %r12,%rcx
1403a59d6:	44 22 75 00          	and    0x0(%rbp),%r14b
1403a59da:	41 d2 e7             	shl    %cl,%r15b
1403a59dd:	44 22 3c 1f          	and    (%rdi,%rbx,1),%r15b
1403a59e1:	45 0a f7             	or     %r15b,%r14b
1403a59e4:	44 88 34 1f          	mov    %r14b,(%rdi,%rbx,1)
1403a59e8:	e9 85 01 00 00       	jmp    0x1403a5b72
1403a59ed:	45 8b 07             	mov    (%r15),%r8d
1403a59f0:	49 8d 57 04          	lea    0x4(%r15),%rdx
1403a59f4:	8b 03                	mov    (%rbx),%eax
1403a59f6:	44 23 44 24 78       	and    0x78(%rsp),%r8d
1403a59fb:	41 23 c4             	and    %r12d,%eax
1403a59fe:	48 3b fe             	cmp    %rsi,%rdi
1403a5a01:	0f 83 c0 00 00 00    	jae    0x1403a5ac7
1403a5a07:	48 2b f7             	sub    %rdi,%rsi
1403a5a0a:	48 8b ce             	mov    %rsi,%rcx
1403a5a0d:	4c 2b de             	sub    %rsi,%r11
1403a5a10:	41 d3 e8             	shr    %cl,%r8d
1403a5a13:	41 d3 ea             	shr    %cl,%r10d
1403a5a16:	44 0b c0             	or     %eax,%r8d
1403a5a19:	44 89 03             	mov    %r8d,(%rbx)
1403a5a1c:	41 8b fa             	mov    %r10d,%edi
1403a5a1f:	f7 d7                	not    %edi
1403a5a21:	49 3b d6             	cmp    %r14,%rdx
1403a5a24:	74 3a                	je     0x1403a5a60
1403a5a26:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1403a5a2d:	00 00 00
1403a5a30:	8b 02                	mov    (%rdx),%eax
1403a5a32:	45 23 c2             	and    %r10d,%r8d
1403a5a35:	49 8b cb             	mov    %r11,%rcx
1403a5a38:	d3 e0                	shl    %cl,%eax
1403a5a3a:	48 8b ce             	mov    %rsi,%rcx
1403a5a3d:	44 0b c0             	or     %eax,%r8d
1403a5a40:	44 89 03             	mov    %r8d,(%rbx)
1403a5a43:	48 83 c3 04          	add    $0x4,%rbx
1403a5a47:	8b 02                	mov    (%rdx),%eax
1403a5a49:	48 83 c2 04          	add    $0x4,%rdx
1403a5a4d:	d3 e8                	shr    %cl,%eax
1403a5a4f:	44 8b 03             	mov    (%rbx),%r8d
1403a5a52:	44 23 c7             	and    %edi,%r8d
1403a5a55:	44 0b c0             	or     %eax,%r8d
1403a5a58:	44 89 03             	mov    %r8d,(%rbx)
1403a5a5b:	49 3b d6             	cmp    %r14,%rdx
1403a5a5e:	75 d0                	jne    0x1403a5a30
1403a5a60:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1403a5a67:	00
1403a5a68:	48 8b 78 08          	mov    0x8(%rax),%rdi
1403a5a6c:	48 85 ff             	test   %rdi,%rdi
1403a5a6f:	0f 84 fd 00 00 00    	je     0x1403a5b72
1403a5a75:	44 8b 02             	mov    (%rdx),%r8d
1403a5a78:	49 8b cb             	mov    %r11,%rcx
1403a5a7b:	8b 6c 24 20          	mov    0x20(%rsp),%ebp
1403a5a7f:	44 23 c5             	and    %ebp,%r8d
1403a5a82:	8b 03                	mov    (%rbx),%eax
1403a5a84:	41 d3 e0             	shl    %cl,%r8d
1403a5a87:	48 3b fe             	cmp    %rsi,%rdi
1403a5a8a:	72 2a                	jb     0x1403a5ab6
1403a5a8c:	41 23 c2             	and    %r10d,%eax
1403a5a8f:	41 0b c0             	or     %r8d,%eax
1403a5a92:	89 03                	mov    %eax,(%rbx)
1403a5a94:	48 3b fe             	cmp    %rsi,%rdi
1403a5a97:	0f 84 d5 00 00 00    	je     0x1403a5b72
1403a5a9d:	8b 12                	mov    (%rdx),%edx
1403a5a9f:	48 8b ce             	mov    %rsi,%rcx
1403a5aa2:	8b 43 04             	mov    0x4(%rbx),%eax
1403a5aa5:	23 d5                	and    %ebp,%edx
1403a5aa7:	d3 ea                	shr    %cl,%edx
1403a5aa9:	41 23 c1             	and    %r9d,%eax
1403a5aac:	0b d0                	or     %eax,%edx
1403a5aae:	89 53 04             	mov    %edx,0x4(%rbx)
1403a5ab1:	e9 bc 00 00 00       	jmp    0x1403a5b72
1403a5ab6:	45 0b d1             	or     %r9d,%r10d
1403a5ab9:	44 23 d0             	and    %eax,%r10d
1403a5abc:	45 0b d0             	or     %r8d,%r10d
1403a5abf:	44 89 13             	mov    %r10d,(%rbx)
1403a5ac2:	e9 ab 00 00 00       	jmp    0x1403a5b72
1403a5ac7:	48 2b fe             	sub    %rsi,%rdi
1403a5aca:	48 8b cf             	mov    %rdi,%rcx
1403a5acd:	4c 2b df             	sub    %rdi,%r11
1403a5ad0:	41 d3 e0             	shl    %cl,%r8d
1403a5ad3:	49 8b cb             	mov    %r11,%rcx
1403a5ad6:	44 0b c0             	or     %eax,%r8d
1403a5ad9:	44 89 03             	mov    %r8d,(%rbx)
1403a5adc:	48 83 c3 04          	add    $0x4,%rbx
1403a5ae0:	45 8b 07             	mov    (%r15),%r8d
1403a5ae3:	41 d3 e8             	shr    %cl,%r8d
1403a5ae6:	49 3b d6             	cmp    %r14,%rdx
1403a5ae9:	74 27                	je     0x1403a5b12
1403a5aeb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1403a5af0:	8b 02                	mov    (%rdx),%eax
1403a5af2:	48 8b cf             	mov    %rdi,%rcx
1403a5af5:	d3 e0                	shl    %cl,%eax
1403a5af7:	49 8b cb             	mov    %r11,%rcx
1403a5afa:	41 0b c0             	or     %r8d,%eax
1403a5afd:	89 03                	mov    %eax,(%rbx)
1403a5aff:	48 83 c3 04          	add    $0x4,%rbx
1403a5b03:	44 8b 02             	mov    (%rdx),%r8d
1403a5b06:	48 83 c2 04          	add    $0x4,%rdx
1403a5b0a:	41 d3 e8             	shr    %cl,%r8d
1403a5b0d:	49 3b d6             	cmp    %r14,%rdx
1403a5b10:	75 de                	jne    0x1403a5af0
1403a5b12:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1403a5b19:	00
1403a5b1a:	4c 8b 50 08          	mov    0x8(%rax),%r10
1403a5b1e:	4d 3b d3             	cmp    %r11,%r10
1403a5b21:	72 2c                	jb     0x1403a5b4f
1403a5b23:	8b 02                	mov    (%rdx),%eax
1403a5b25:	48 8b cf             	mov    %rdi,%rcx
1403a5b28:	d3 e0                	shl    %cl,%eax
1403a5b2a:	41 0b c0             	or     %r8d,%eax
1403a5b2d:	89 03                	mov    %eax,(%rbx)
1403a5b2f:	4d 3b d3             	cmp    %r11,%r10
1403a5b32:	74 3e                	je     0x1403a5b72
1403a5b34:	8b 12                	mov    (%rdx),%edx
1403a5b36:	49 8b cb             	mov    %r11,%rcx
1403a5b39:	d3 ea                	shr    %cl,%edx
1403a5b3b:	41 8b c1             	mov    %r9d,%eax
1403a5b3e:	f7 d0                	not    %eax
1403a5b40:	23 d0                	and    %eax,%edx
1403a5b42:	8b 43 04             	mov    0x4(%rbx),%eax
1403a5b45:	41 23 c1             	and    %r9d,%eax
1403a5b48:	0b d0                	or     %eax,%edx
1403a5b4a:	89 53 04             	mov    %edx,0x4(%rbx)
1403a5b4d:	eb 23                	jmp    0x1403a5b72
1403a5b4f:	8b 03                	mov    (%rbx),%eax
1403a5b51:	41 23 c1             	and    %r9d,%eax
1403a5b54:	4d 85 d2             	test   %r10,%r10
1403a5b57:	74 14                	je     0x1403a5b6d
1403a5b59:	8b 12                	mov    (%rdx),%edx
1403a5b5b:	48 8b cf             	mov    %rdi,%rcx
1403a5b5e:	23 54 24 20          	and    0x20(%rsp),%edx
1403a5b62:	d3 e2                	shl    %cl,%edx
1403a5b64:	0b d0                	or     %eax,%edx
1403a5b66:	41 0b d0             	or     %r8d,%edx
1403a5b69:	89 13                	mov    %edx,(%rbx)
1403a5b6b:	eb 05                	jmp    0x1403a5b72
1403a5b6d:	41 0b c0             	or     %r8d,%eax
1403a5b70:	89 03                	mov    %eax,(%rbx)
1403a5b72:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1403a5b77:	49 8b c5             	mov    %r13,%rax
1403a5b7a:	4c 8b 64 24 30       	mov    0x30(%rsp),%r12
1403a5b7f:	48 83 c4 38          	add    $0x38,%rsp
1403a5b83:	41 5f                	pop    %r15
1403a5b85:	41 5e                	pop    %r14
1403a5b87:	41 5d                	pop    %r13
1403a5b89:	5f                   	pop    %rdi
1403a5b8a:	5e                   	pop    %rsi
1403a5b8b:	5d                   	pop    %rbp
1403a5b8c:	c3                   	ret
1403a5b8d:	cc                   	int3
1403a5b8e:	cc                   	int3
1403a5b8f:	cc                   	int3
1403a5b90:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1403a5b95:	56                   	push   %rsi
1403a5b96:	48 83 ec 20          	sub    $0x20,%rsp
1403a5b9a:	48 8b 42 08          	mov    0x8(%rdx),%rax
1403a5b9e:	33 f6                	xor    %esi,%esi
1403a5ba0:	48 89 30             	mov    %rsi,(%rax)
1403a5ba3:	48 8b 1a             	mov    (%rdx),%rbx
1403a5ba6:	48 85 db             	test   %rbx,%rbx
1403a5ba9:	74 69                	je     0x1403a5c14
1403a5bab:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1403a5bb0:	48 8b 53 28          	mov    0x28(%rbx),%rdx
1403a5bb4:	48 8b 3b             	mov    (%rbx),%rdi
1403a5bb7:	48 83 fa 0f          	cmp    $0xf,%rdx
1403a5bbb:	76 2d                	jbe    0x1403a5bea
1403a5bbd:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1403a5bc1:	48 ff c2             	inc    %rdx
1403a5bc4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403a5bcb:	72 18                	jb     0x1403a5be5
1403a5bcd:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1403a5bd1:	48 83 c2 27          	add    $0x27,%rdx
1403a5bd5:	49 2b c8             	sub    %r8,%rcx
1403a5bd8:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1403a5bdc:	48 83 f8 1f          	cmp    $0x1f,%rax
1403a5be0:	77 3d                	ja     0x1403a5c1f
1403a5be2:	49 8b c8             	mov    %r8,%rcx
1403a5be5:	e8 5a 55 a7 00       	call   0x140e1b144
1403a5bea:	ba 30 00 00 00       	mov    $0x30,%edx
1403a5bef:	48 89 73 20          	mov    %rsi,0x20(%rbx)
1403a5bf3:	48 8b cb             	mov    %rbx,%rcx
1403a5bf6:	48 c7 43 28 0f 00 00 	movq   $0xf,0x28(%rbx)
1403a5bfd:	00
1403a5bfe:	40 88 73 10          	mov    %sil,0x10(%rbx)
1403a5c02:	e8 3d 55 a7 00       	call   0x140e1b144
1403a5c07:	48 8b df             	mov    %rdi,%rbx
1403a5c0a:	48 85 ff             	test   %rdi,%rdi
1403a5c0d:	75 a1                	jne    0x1403a5bb0
1403a5c0f:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1403a5c14:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1403a5c19:	48 83 c4 20          	add    $0x20,%rsp
1403a5c1d:	5e                   	pop    %rsi
1403a5c1e:	c3                   	ret
1403a5c1f:	e8 80 45 a8 00       	call   0x140e2a1a4
1403a5c24:	cc                   	int3
1403a5c25:	cc                   	int3
1403a5c26:	cc                   	int3
1403a5c27:	cc                   	int3
1403a5c28:	cc                   	int3
1403a5c29:	cc                   	int3
1403a5c2a:	cc                   	int3
1403a5c2b:	cc                   	int3
1403a5c2c:	cc                   	int3
1403a5c2d:	cc                   	int3
1403a5c2e:	cc                   	int3
1403a5c2f:	cc                   	int3
1403a5c30:	40 53                	rex push %rbx
1403a5c32:	48 83 ec 20          	sub    $0x20,%rsp
1403a5c36:	48 8b da             	mov    %rdx,%rbx
1403a5c39:	48 8b 52 28          	mov    0x28(%rdx),%rdx
1403a5c3d:	48 83 fa 0f          	cmp    $0xf,%rdx
1403a5c41:	76 2d                	jbe    0x1403a5c70
1403a5c43:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1403a5c47:	48 ff c2             	inc    %rdx
1403a5c4a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403a5c51:	72 18                	jb     0x1403a5c6b
1403a5c53:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1403a5c57:	48 83 c2 27          	add    $0x27,%rdx
1403a5c5b:	49 2b c8             	sub    %r8,%rcx
1403a5c5e:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1403a5c62:	48 83 f8 1f          	cmp    $0x1f,%rax
1403a5c66:	77 2e                	ja     0x1403a5c96
1403a5c68:	49 8b c8             	mov    %r8,%rcx
1403a5c6b:	e8 d4 54 a7 00       	call   0x140e1b144
1403a5c70:	ba 30 00 00 00       	mov    $0x30,%edx
1403a5c75:	48 c7 43 20 00 00 00 	movq   $0x0,0x20(%rbx)
1403a5c7c:	00
1403a5c7d:	48 8b cb             	mov    %rbx,%rcx
1403a5c80:	48 c7 43 28 0f 00 00 	movq   $0xf,0x28(%rbx)
1403a5c87:	00
1403a5c88:	c6 43 10 00          	movb   $0x0,0x10(%rbx)
1403a5c8c:	48 83 c4 20          	add    $0x20,%rsp
1403a5c90:	5b                   	pop    %rbx
1403a5c91:	e9 ae 54 a7 00       	jmp    0x140e1b144
1403a5c96:	e8 09 45 a8 00       	call   0x140e2a1a4
1403a5c9b:	cc                   	int3
1403a5c9c:	cc                   	int3
1403a5c9d:	cc                   	int3
1403a5c9e:	cc                   	int3
1403a5c9f:	cc                   	int3
1403a5ca0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1403a5ca5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1403a5caa:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1403a5caf:	57                   	push   %rdi
1403a5cb0:	48 83 ec 20          	sub    $0x20,%rsp
1403a5cb4:	41 0f b6 e8          	movzbl %r8b,%ebp
1403a5cb8:	48 8b fa             	mov    %rdx,%rdi
1403a5cbb:	48 8b d9             	mov    %rcx,%rbx
1403a5cbe:	48 85 d2             	test   %rdx,%rdx
1403a5cc1:	74 0e                	je     0x1403a5cd1
1403a5cc3:	c6 42 08 01          	movb   $0x1,0x8(%rdx)
1403a5cc7:	48 8b cf             	mov    %rdi,%rcx
1403a5cca:	33 d2                	xor    %edx,%edx
1403a5ccc:	e8 bf 9e 00 00       	call   0x1403afb90
1403a5cd1:	48 8b 83 a8 00 00 00 	mov    0xa8(%rbx),%rax
1403a5cd8:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
1403a5cdc:	8b 93 c4 00 00 00    	mov    0xc4(%rbx),%edx
1403a5ce2:	45 33 c0             	xor    %r8d,%r8d
1403a5ce5:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
1403a5cec:	48 89 03             	mov    %rax,(%rbx)
1403a5cef:	e8 bc b3 00 00       	call   0x1403b10b0
1403a5cf4:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
1403a5cf8:	33 f6                	xor    %esi,%esi
1403a5cfa:	4c 8b 53 28          	mov    0x28(%rbx),%r10
1403a5cfe:	4c 8b c1             	mov    %rcx,%r8
1403a5d01:	8b 93 c4 00 00 00    	mov    0xc4(%rbx),%edx
1403a5d07:	4d 2b c2             	sub    %r10,%r8
1403a5d0a:	49 c1 f8 04          	sar    $0x4,%r8
1403a5d0e:	49 3b d0             	cmp    %r8,%rdx
1403a5d11:	73 0d                	jae    0x1403a5d20
1403a5d13:	48 c1 e2 04          	shl    $0x4,%rdx
1403a5d17:	49 03 d2             	add    %r10,%rdx
1403a5d1a:	48 89 53 30          	mov    %rdx,0x30(%rbx)
1403a5d1e:	eb 45                	jmp    0x1403a5d65
1403a5d20:	76 43                	jbe    0x1403a5d65
1403a5d22:	48 8b 43 38          	mov    0x38(%rbx),%rax
1403a5d26:	49 2b c2             	sub    %r10,%rax
1403a5d29:	48 c1 f8 04          	sar    $0x4,%rax
1403a5d2d:	48 3b d0             	cmp    %rax,%rdx
1403a5d30:	76 10                	jbe    0x1403a5d42