14004689b:	49 3b f7             	cmp    %r15,%rsi
14004689e:	74 28                	je     0x1400468c8
1400468a0:	4c 8b ce             	mov    %rsi,%r9
1400468a3:	4d 2b cf             	sub    %r15,%r9
1400468a6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1400468ad:	00 00 00
1400468b0:	0f b6 02             	movzbl (%rdx),%eax
1400468b3:	41 0f b6 0c 11       	movzbl (%r9,%rdx,1),%ecx
1400468b8:	41 88 04 11          	mov    %al,(%r9,%rdx,1)
1400468bc:	88 0a                	mov    %cl,(%rdx)
1400468be:	48 8d 52 01          	lea    0x1(%rdx),%rdx
1400468c2:	49 83 e8 01          	sub    $0x1,%r8
1400468c6:	75 e8                	jne    0x1400468b0
1400468c8:	49 8b dd             	mov    %r13,%rbx
1400468cb:	49 8b ff             	mov    %r15,%rdi
1400468ce:	66 90                	xchg   %ax,%ax
1400468d0:	48 3b f3             	cmp    %rbx,%rsi
1400468d3:	76 2b                	jbe    0x140046900
1400468d5:	49 03 de             	add    %r14,%rbx
1400468d8:	48 3b de             	cmp    %rsi,%rbx
1400468db:	73 23                	jae    0x140046900
1400468dd:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
1400468e4:	b7 75 93
1400468e7:	48 8b d6             	mov    %rsi,%rdx
1400468ea:	48 8b cb             	mov    %rbx,%rcx
1400468ed:	49 8b c4             	mov    %r12,%rax
1400468f0:	ff 15 5a 5b 00 00    	call   *0x5b5a(%rip)        # 0x14004c450
1400468f6:	85 c0                	test   %eax,%eax
1400468f8:	7e db                	jle    0x1400468d5
1400468fa:	eb 29                	jmp    0x140046925
1400468fc:	0f 1f 40 00          	nopl   0x0(%rax)
140046900:	49 03 de             	add    %r14,%rbx
140046903:	49 3b df             	cmp    %r15,%rbx
140046906:	77 1d                	ja     0x140046925
140046908:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
14004690f:	b7 75 93
140046912:	48 8b d6             	mov    %rsi,%rdx
140046915:	48 8b cb             	mov    %rbx,%rcx
140046918:	49 8b c4             	mov    %r12,%rax
14004691b:	ff 15 2f 5b 00 00    	call   *0x5b2f(%rip)        # 0x14004c450
140046921:	85 c0                	test   %eax,%eax
140046923:	7e db                	jle    0x140046900
140046925:	48 8b ef             	mov    %rdi,%rbp
140046928:	49 2b fe             	sub    %r14,%rdi
14004692b:	48 3b fe             	cmp    %rsi,%rdi
14004692e:	76 1d                	jbe    0x14004694d
140046930:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140046937:	b7 75 93
14004693a:	48 8b d6             	mov    %rsi,%rdx
14004693d:	48 8b cf             	mov    %rdi,%rcx
140046940:	49 8b c4             	mov    %r12,%rax
140046943:	ff 15 07 5b 00 00    	call   *0x5b07(%rip)        # 0x14004c450
140046949:	85 c0                	test   %eax,%eax
14004694b:	7f d8                	jg     0x140046925
14004694d:	48 3b fb             	cmp    %rbx,%rdi
140046950:	72 38                	jb     0x14004698a
140046952:	4d 8b c6             	mov    %r14,%r8
140046955:	48 8b d7             	mov    %rdi,%rdx
140046958:	74 1e                	je     0x140046978
14004695a:	4c 8b cb             	mov    %rbx,%r9
14004695d:	4c 2b cf             	sub    %rdi,%r9
140046960:	0f b6 02             	movzbl (%rdx),%eax
140046963:	41 0f b6 0c 11       	movzbl (%r9,%rdx,1),%ecx
140046968:	41 88 04 11          	mov    %al,(%r9,%rdx,1)
14004696c:	88 0a                	mov    %cl,(%rdx)
14004696e:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140046972:	49 83 e8 01          	sub    $0x1,%r8
140046976:	75 e8                	jne    0x140046960
140046978:	48 3b f7             	cmp    %rdi,%rsi
14004697b:	48 8b c3             	mov    %rbx,%rax
14004697e:	48 0f 45 c6          	cmovne %rsi,%rax
140046982:	48 8b f0             	mov    %rax,%rsi
140046985:	e9 46 ff ff ff       	jmp    0x1400468d0
14004698a:	48 3b f5             	cmp    %rbp,%rsi
14004698d:	73 28                	jae    0x1400469b7
14004698f:	90                   	nop
140046990:	49 2b ee             	sub    %r14,%rbp
140046993:	48 3b ee             	cmp    %rsi,%rbp
140046996:	76 1f                	jbe    0x1400469b7
140046998:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
14004699f:	b7 75 93
1400469a2:	48 8b d6             	mov    %rsi,%rdx
1400469a5:	48 8b cd             	mov    %rbp,%rcx
1400469a8:	49 8b c4             	mov    %r12,%rax
1400469ab:	ff 15 9f 5a 00 00    	call   *0x5a9f(%rip)        # 0x14004c450
1400469b1:	85 c0                	test   %eax,%eax
1400469b3:	74 db                	je     0x140046990
1400469b5:	eb 25                	jmp    0x1400469dc
1400469b7:	49 2b ee             	sub    %r14,%rbp
1400469ba:	49 3b ed             	cmp    %r13,%rbp
1400469bd:	76 1d                	jbe    0x1400469dc
1400469bf:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
1400469c6:	b7 75 93
1400469c9:	48 8b d6             	mov    %rsi,%rdx
1400469cc:	48 8b cd             	mov    %rbp,%rcx
1400469cf:	49 8b c4             	mov    %r12,%rax
1400469d2:	ff 15 78 5a 00 00    	call   *0x5a78(%rip)        # 0x14004c450
1400469d8:	85 c0                	test   %eax,%eax
1400469da:	74 db                	je     0x1400469b7
1400469dc:	49 8b cf             	mov    %r15,%rcx
1400469df:	48 8b c5             	mov    %rbp,%rax
1400469e2:	48 2b cb             	sub    %rbx,%rcx
1400469e5:	49 2b c5             	sub    %r13,%rax
1400469e8:	48 3b c1             	cmp    %rcx,%rax
1400469eb:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1400469f0:	7c 2b                	jl     0x140046a1d
1400469f2:	4c 3b ed             	cmp    %rbp,%r13
1400469f5:	73 15                	jae    0x140046a0c
1400469f7:	4c 89 6c cc 30       	mov    %r13,0x30(%rsp,%rcx,8)
1400469fc:	48 89 ac cc 20 02 00 	mov    %rbp,0x220(%rsp,%rcx,8)
140046a03:	00
140046a04:	48 ff c1             	inc    %rcx
140046a07:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140046a0c:	49 3b df             	cmp    %r15,%rbx
140046a0f:	0f 83 9e fd ff ff    	jae    0x1400467b3
140046a15:	4c 8b eb             	mov    %rbx,%r13
140046a18:	e9 03 fd ff ff       	jmp    0x140046720
140046a1d:	49 3b df             	cmp    %r15,%rbx
140046a20:	73 15                	jae    0x140046a37
140046a22:	48 89 5c cc 30       	mov    %rbx,0x30(%rsp,%rcx,8)
140046a27:	4c 89 bc cc 20 02 00 	mov    %r15,0x220(%rsp,%rcx,8)
140046a2e:	00
140046a2f:	48 ff c1             	inc    %rcx
140046a32:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140046a37:	4c 3b ed             	cmp    %rbp,%r13
140046a3a:	0f 83 73 fd ff ff    	jae    0x1400467b3
140046a40:	4c 8b fd             	mov    %rbp,%r15
140046a43:	e9 d8 fc ff ff       	jmp    0x140046720
140046a48:	48 8b bc 24 30 04 00 	mov    0x430(%rsp),%rdi
140046a4f:	00
140046a50:	48 8b b4 24 38 04 00 	mov    0x438(%rsp),%rsi
140046a57:	00
140046a58:	48 8b ac 24 40 04 00 	mov    0x440(%rsp),%rbp
140046a5f:	00
140046a60:	48 8b 9c 24 48 04 00 	mov    0x448(%rsp),%rbx
140046a67:	00
140046a68:	4c 8b bc 24 28 04 00 	mov    0x428(%rsp),%r15
140046a6f:	00
140046a70:	48 8b 8c 24 10 04 00 	mov    0x410(%rsp),%rcx
140046a77:	00
140046a78:	48 33 cc             	xor    %rsp,%rcx
140046a7b:	e8 80 e0 fd ff       	call   0x140024b00
140046a80:	48 81 c4 50 04 00 00 	add    $0x450,%rsp
140046a87:	41 5e                	pop    %r14
140046a89:	41 5d                	pop    %r13
140046a8b:	41 5c                	pop    %r12
140046a8d:	c3                   	ret
140046a8e:	cc                   	int3
140046a8f:	cc                   	int3
140046a90:	48 83 ec 28          	sub    $0x28,%rsp
140046a94:	e8 77 92 ff ff       	call   0x14003fd10
140046a99:	33 c9                	xor    %ecx,%ecx
140046a9b:	84 c0                	test   %al,%al
140046a9d:	0f 94 c1             	sete   %cl
140046aa0:	8b c1                	mov    %ecx,%eax
140046aa2:	48 83 c4 28          	add    $0x28,%rsp
140046aa6:	c3                   	ret
140046aa7:	cc                   	int3
140046aa8:	48 83 ec 28          	sub    $0x28,%rsp
140046aac:	83 3d 15 15 03 00 00 	cmpl   $0x0,0x31515(%rip)        # 0x140077fc8
140046ab3:	75 36                	jne    0x140046aeb
140046ab5:	48 85 c9             	test   %rcx,%rcx
140046ab8:	75 1a                	jne    0x140046ad4
140046aba:	e8 79 4f fe ff       	call   0x14002ba38
140046abf:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140046ac5:	e8 da 4a fe ff       	call   0x14002b5a4
140046aca:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140046acf:	48 83 c4 28          	add    $0x28,%rsp
140046ad3:	c3                   	ret
140046ad4:	48 85 d2             	test   %rdx,%rdx
140046ad7:	74 e1                	je     0x140046aba
140046ad9:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
140046ae0:	77 d8                	ja     0x140046aba
140046ae2:	48 83 c4 28          	add    $0x28,%rsp
140046ae6:	e9 6d 02 00 00       	jmp    0x140046d58
140046aeb:	45 33 c9             	xor    %r9d,%r9d
140046aee:	48 83 c4 28          	add    $0x28,%rsp
140046af2:	e9 01 00 00 00       	jmp    0x140046af8
140046af7:	cc                   	int3
140046af8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140046afd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140046b02:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140046b07:	57                   	push   %rdi
140046b08:	48 83 ec 50          	sub    $0x50,%rsp
140046b0c:	49 8b f8             	mov    %r8,%rdi
140046b0f:	48 8b f2             	mov    %rdx,%rsi
140046b12:	48 8b e9             	mov    %rcx,%rbp
140046b15:	4d 85 c0             	test   %r8,%r8
140046b18:	75 07                	jne    0x140046b21
140046b1a:	33 c0                	xor    %eax,%eax
140046b1c:	e9 b2 00 00 00       	jmp    0x140046bd3
140046b21:	48 85 ed             	test   %rbp,%rbp
140046b24:	75 1a                	jne    0x140046b40
140046b26:	e8 0d 4f fe ff       	call   0x14002ba38
140046b2b:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140046b31:	e8 6e 4a fe ff       	call   0x14002b5a4
140046b36:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140046b3b:	e9 93 00 00 00       	jmp    0x140046bd3
140046b40:	48 85 f6             	test   %rsi,%rsi
140046b43:	74 e1                	je     0x140046b26
140046b45:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
140046b4a:	48 3b fb             	cmp    %rbx,%rdi
140046b4d:	76 12                	jbe    0x140046b61
140046b4f:	e8 e4 4e fe ff       	call   0x14002ba38
140046b54:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140046b5a:	e8 45 4a fe ff       	call   0x14002b5a4
140046b5f:	eb 70                	jmp    0x140046bd1
140046b61:	49 8b d1             	mov    %r9,%rdx
140046b64:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140046b69:	e8 02 53 fe ff       	call   0x14002be70
140046b6e:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140046b73:	48 8b 88 30 01 00 00 	mov    0x130(%rax),%rcx
140046b7a:	48 85 c9             	test   %rcx,%rcx
140046b7d:	75 12                	jne    0x140046b91
140046b7f:	4c 8b c7             	mov    %rdi,%r8
140046b82:	48 8b d6             	mov    %rsi,%rdx
140046b85:	48 8b cd             	mov    %rbp,%rcx
140046b88:	e8 cb 01 00 00       	call   0x140046d58
140046b8d:	8b d8                	mov    %eax,%ebx
140046b8f:	eb 2d                	jmp    0x140046bbe
140046b91:	89 7c 24 28          	mov    %edi,0x28(%rsp)
140046b95:	44 8b cf             	mov    %edi,%r9d
140046b98:	4c 8b c5             	mov    %rbp,%r8
140046b9b:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140046ba0:	ba 01 10 00 00       	mov    $0x1001,%edx
140046ba5:	e8 72 10 00 00       	call   0x140047c1c
140046baa:	85 c0                	test   %eax,%eax
140046bac:	75 0d                	jne    0x140046bbb
140046bae:	e8 85 4e fe ff       	call   0x14002ba38
140046bb3:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140046bb9:	eb 03                	jmp    0x140046bbe
140046bbb:	8d 58 fe             	lea    -0x2(%rax),%ebx
140046bbe:	80 7c 24 48 00       	cmpb   $0x0,0x48(%rsp)
140046bc3:	74 0c                	je     0x140046bd1
140046bc5:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140046bca:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140046bd1:	8b c3                	mov    %ebx,%eax
140046bd3:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140046bd8:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140046bdd:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140046be2:	48 83 c4 50          	add    $0x50,%rsp
140046be6:	5f                   	pop    %rdi
140046be7:	c3                   	ret
140046be8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140046bed:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140046bf2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140046bf7:	57                   	push   %rdi
140046bf8:	41 56                	push   %r14
140046bfa:	41 57                	push   %r15
140046bfc:	48 83 ec 20          	sub    $0x20,%rsp
140046c00:	45 33 ff             	xor    %r15d,%r15d
140046c03:	41 8b e9             	mov    %r9d,%ebp
140046c06:	49 8b f0             	mov    %r8,%rsi
140046c09:	48 8b da             	mov    %rdx,%rbx
140046c0c:	44 8b d1             	mov    %ecx,%r10d
140046c0f:	4c 8b da             	mov    %rdx,%r11
140046c12:	41 8b ff             	mov    %r15d,%edi
140046c15:	44 38 7c 24 60       	cmp    %r15b,0x60(%rsp)
140046c1a:	74 11                	je     0x140046c2d
140046c1c:	41 8d 47 2d          	lea    0x2d(%r15),%eax
140046c20:	41 f7 da             	neg    %r10d
140046c23:	66 89 02             	mov    %ax,(%rdx)
140046c26:	8d 78 d4             	lea    -0x2c(%rax),%edi
140046c29:	4c 8d 5a 02          	lea    0x2(%rdx),%r11
140046c2d:	4d 8b c3             	mov    %r11,%r8
140046c30:	33 d2                	xor    %edx,%edx
140046c32:	41 8b c2             	mov    %r10d,%eax
140046c35:	f7 f5                	div    %ebp
140046c37:	41 8b c2             	mov    %r10d,%eax
140046c3a:	4d 8b cb             	mov    %r11,%r9
140046c3d:	8b ca                	mov    %edx,%ecx
140046c3f:	33 d2                	xor    %edx,%edx
140046c41:	f7 f5                	div    %ebp
140046c43:	83 f9 09             	cmp    $0x9,%ecx
140046c46:	49 8d 53 02          	lea    0x2(%r11),%rdx
140046c4a:	44 8b d0             	mov    %eax,%r10d
140046c4d:	b8 57 00 00 00       	mov    $0x57,%eax
140046c52:	44 8d 70 d9          	lea    -0x27(%rax),%r14d
140046c56:	66 41 0f 46 c6       	cmovbe %r14w,%ax
140046c5b:	48 ff c7             	inc    %rdi
140046c5e:	66 03 c1             	add    %cx,%ax
140046c61:	66 41 89 03          	mov    %ax,(%r11)
140046c65:	45 85 d2             	test   %r10d,%r10d
140046c68:	74 08                	je     0x140046c72
140046c6a:	4c 8b da             	mov    %rdx,%r11
140046c6d:	48 3b fe             	cmp    %rsi,%rdi
140046c70:	72 be                	jb     0x140046c30
140046c72:	48 3b fe             	cmp    %rsi,%rdi
140046c75:	72 19                	jb     0x140046c90
140046c77:	66 44 89 3b          	mov    %r15w,(%rbx)
140046c7b:	e8 b8 4d fe ff       	call   0x14002ba38
140046c80:	bb 22 00 00 00       	mov    $0x22,%ebx
140046c85:	89 18                	mov    %ebx,(%rax)
140046c87:	e8 18 49 fe ff       	call   0x14002b5a4
140046c8c:	8b c3                	mov    %ebx,%eax
140046c8e:	eb 23                	jmp    0x140046cb3
140046c90:	66 44 89 3a          	mov    %r15w,(%rdx)
140046c94:	41 0f b7 00          	movzwl (%r8),%eax
140046c98:	41 0f b7 09          	movzwl (%r9),%ecx
140046c9c:	66 41 89 01          	mov    %ax,(%r9)
140046ca0:	49 83 e9 02          	sub    $0x2,%r9
140046ca4:	66 41 89 08          	mov    %cx,(%r8)
140046ca8:	49 83 c0 02          	add    $0x2,%r8
140046cac:	4d 3b c1             	cmp    %r9,%r8
140046caf:	72 e3                	jb     0x140046c94
140046cb1:	33 c0                	xor    %eax,%eax
140046cb3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140046cb8:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140046cbd:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140046cc2:	48 83 c4 20          	add    $0x20,%rsp
140046cc6:	41 5f                	pop    %r15
140046cc8:	41 5e                	pop    %r14
140046cca:	5f                   	pop    %rdi
140046ccb:	c3                   	ret
140046ccc:	40 53                	rex push %rbx
140046cce:	48 83 ec 30          	sub    $0x30,%rsp
140046cd2:	33 c0                	xor    %eax,%eax
140046cd4:	44 8b d1             	mov    %ecx,%r10d
140046cd7:	48 85 d2             	test   %rdx,%rdx
140046cda:	75 19                	jne    0x140046cf5
140046cdc:	e8 57 4d fe ff       	call   0x14002ba38
140046ce1:	bb 16 00 00 00       	mov    $0x16,%ebx
140046ce6:	89 18                	mov    %ebx,(%rax)
140046ce8:	e8 b7 48 fe ff       	call   0x14002b5a4
140046ced:	8b c3                	mov    %ebx,%eax
140046cef:	48 83 c4 30          	add    $0x30,%rsp
140046cf3:	5b                   	pop    %rbx
140046cf4:	c3                   	ret
140046cf5:	4d 85 c0             	test   %r8,%r8
140046cf8:	74 e2                	je     0x140046cdc
140046cfa:	0f b6 4c 24 60       	movzbl 0x60(%rsp),%ecx
140046cff:	66 89 02             	mov    %ax,(%rdx)
140046d02:	48 8d 41 01          	lea    0x1(%rcx),%rax
140046d06:	4c 3b c0             	cmp    %rax,%r8
140046d09:	77 0c                	ja     0x140046d17
140046d0b:	e8 28 4d fe ff       	call   0x14002ba38
140046d10:	bb 22 00 00 00       	mov    $0x22,%ebx
140046d15:	eb cf                	jmp    0x140046ce6
140046d17:	41 8d 41 fe          	lea    -0x2(%r9),%eax
140046d1b:	bb 22 00 00 00       	mov    $0x22,%ebx
140046d20:	3b c3                	cmp    %ebx,%eax
140046d22:	77 b8                	ja     0x140046cdc
140046d24:	88 4c 24 60          	mov    %cl,0x60(%rsp)
140046d28:	41 8b ca             	mov    %r10d,%ecx
140046d2b:	48 83 c4 30          	add    $0x30,%rsp
140046d2f:	5b                   	pop    %rbx
140046d30:	e9 b3 fe ff ff       	jmp    0x140046be8
140046d35:	cc                   	int3
140046d36:	cc                   	int3
140046d37:	cc                   	int3