14041082d:	48 8b 05 cc 86 fa 00 	mov    0xfa86cc(%rip),%rax        # 0x1413b8f00
140410834:	48 33 c4             	xor    %rsp,%rax
140410837:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14041083c:	48 8d 5a 02          	lea    0x2(%rdx),%rbx
140410840:	4d 8b e9             	mov    %r9,%r13
140410843:	4c 8b f1             	mov    %rcx,%r14
140410846:	49 3b d8             	cmp    %r8,%rbx
140410849:	0f 87 81 01 00 00    	ja     0x1404109d0
14041084f:	48 3b da             	cmp    %rdx,%rbx
140410852:	0f 82 78 01 00 00    	jb     0x1404109d0
140410858:	0f b7 02             	movzwl (%rdx),%eax
14041085b:	48 89 74 24 70       	mov    %rsi,0x70(%rsp)
140410860:	4c 89 64 24 60       	mov    %r12,0x60(%rsp)
140410865:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
14041086a:	44 8b bc 24 c0 00 00 	mov    0xc0(%rsp),%r15d
140410871:	00
140410872:	41 83 ff 01          	cmp    $0x1,%r15d
140410876:	74 04                	je     0x14041087c
140410878:	66 c1 c8 08          	ror    $0x8,%ax
14041087c:	44 0f b7 e0          	movzwl %ax,%r12d
140410880:	41 83 c4 02          	add    $0x2,%r12d
140410884:	66 89 01             	mov    %ax,(%rcx)
140410887:	41 8b f4             	mov    %r12d,%esi
14041088a:	48 03 f2             	add    %rdx,%rsi
14041088d:	49 3b f0             	cmp    %r8,%rsi
140410890:	0f 87 0e 01 00 00    	ja     0x1404109a4
140410896:	48 3b f2             	cmp    %rdx,%rsi
140410899:	0f 82 05 01 00 00    	jb     0x1404109a4
14041089f:	48 89 6c 24 78       	mov    %rbp,0x78(%rsp)
1404108a4:	33 ed                	xor    %ebp,%ebp
1404108a6:	48 89 69 10          	mov    %rbp,0x10(%rcx)
1404108aa:	b9 18 00 00 00       	mov    $0x18,%ecx
1404108af:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
1404108b4:	e8 4f a8 a0 00       	call   0x140e1b108
1404108b9:	48 85 c0             	test   %rax,%rax
1404108bc:	74 0d                	je     0x1404108cb
1404108be:	48 89 28             	mov    %rbp,(%rax)
1404108c1:	48 89 68 08          	mov    %rbp,0x8(%rax)
1404108c5:	48 89 68 10          	mov    %rbp,0x10(%rax)
1404108c9:	eb 03                	jmp    0x1404108ce
1404108cb:	48 8b c5             	mov    %rbp,%rax
1404108ce:	49 89 46 08          	mov    %rax,0x8(%r14)
1404108d2:	48 3b de             	cmp    %rsi,%rbx
1404108d5:	73 7e                	jae    0x140410955
1404108d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1404108de:	00 00
1404108e0:	b9 20 00 00 00       	mov    $0x20,%ecx
1404108e5:	e8 1e a8 a0 00       	call   0x140e1b108
1404108ea:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1404108ef:	48 85 c0             	test   %rax,%rax
1404108f2:	74 13                	je     0x140410907
1404108f4:	48 89 68 10          	mov    %rbp,0x10(%rax)
1404108f8:	48 89 68 18          	mov    %rbp,0x18(%rax)
1404108fc:	66 c7 00 00 ff       	movw   $0xff00,(%rax)
140410901:	48 89 68 08          	mov    %rbp,0x8(%rax)
140410905:	eb 03                	jmp    0x14041090a
140410907:	48 8b c5             	mov    %rbp,%rax
14041090a:	45 8b cf             	mov    %r15d,%r9d
14041090d:	49 89 46 10          	mov    %rax,0x10(%r14)
140410911:	4c 8b c6             	mov    %rsi,%r8
140410914:	48 8b d3             	mov    %rbx,%rdx
140410917:	48 8b c8             	mov    %rax,%rcx
14041091a:	e8 51 fd ff ff       	call   0x140410670
14041091f:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140410923:	48 63 e8             	movslq %eax,%rbp
140410926:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14041092a:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
14041092e:	74 0e                	je     0x14041093e
140410930:	49 8b 46 10          	mov    0x10(%r14),%rax
140410934:	48 89 02             	mov    %rax,(%rdx)
140410937:	48 83 41 08 08       	addq   $0x8,0x8(%rcx)
14041093c:	eb 09                	jmp    0x140410947
14041093e:	4d 8d 46 10          	lea    0x10(%r14),%r8
140410942:	e8 79 a6 f6 ff       	call   0x14037afc0
140410947:	48 03 dd             	add    %rbp,%rbx
14041094a:	33 ed                	xor    %ebp,%ebp
14041094c:	49 89 6e 10          	mov    %rbp,0x10(%r14)
140410950:	48 3b de             	cmp    %rsi,%rbx
140410953:	72 8b                	jb     0x1404108e0
140410955:	49 89 6e 10          	mov    %rbp,0x10(%r14)
140410959:	4d 8b 46 08          	mov    0x8(%r14),%r8
14041095d:	49 8b 56 18          	mov    0x18(%r14),%rdx
140410961:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140410965:	e8 b6 37 00 00       	call   0x140414120
14041096a:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
14041096f:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140410974:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140410979:	4c 8b 7c 24 58       	mov    0x58(%rsp),%r15
14041097e:	41 88 46 20          	mov    %al,0x20(%r14)
140410982:	41 8b c4             	mov    %r12d,%eax
140410985:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
14041098a:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
14041098f:	48 33 cc             	xor    %rsp,%rcx
140410992:	e8 69 ab a0 00       	call   0x140e1b500
140410997:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
14041099e:	41 5e                	pop    %r14
1404109a0:	41 5d                	pop    %r13
1404109a2:	5b                   	pop    %rbx
1404109a3:	c3                   	ret
1404109a4:	44 2b c2             	sub    %edx,%r8d
1404109a7:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1404109ac:	45 8b c8             	mov    %r8d,%r9d
1404109af:	48 8d 15 da 05 be 00 	lea    0xbe05da(%rip),%rdx        # 0x140ff0f90
1404109b6:	45 8b c4             	mov    %r12d,%r8d
1404109b9:	e8 32 87 d9 ff       	call   0x1401a90f0
1404109be:	48 8d 15 0b 00 f9 00 	lea    0xf9000b(%rip),%rdx        # 0x1413a09d0
1404109c5:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1404109ca:	e8 49 be a0 00       	call   0x140e1c818
1404109cf:	cc                   	int3
1404109d0:	44 2b c2             	sub    %edx,%r8d
1404109d3:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1404109d8:	45 8b c8             	mov    %r8d,%r9d
1404109db:	48 8d 15 96 05 be 00 	lea    0xbe0596(%rip),%rdx        # 0x140ff0f78
1404109e2:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1404109e8:	e8 03 87 d9 ff       	call   0x1401a90f0
1404109ed:	48 8d 15 dc ff f8 00 	lea    0xf8ffdc(%rip),%rdx        # 0x1413a09d0
1404109f4:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1404109f9:	e8 1a be a0 00       	call   0x140e1c818
1404109fe:	cc                   	int3
1404109ff:	cc                   	int3
140410a00:	40 53                	rex push %rbx
140410a02:	55                   	push   %rbp
140410a03:	41 54                	push   %r12
140410a05:	41 56                	push   %r14
140410a07:	41 57                	push   %r15
140410a09:	48 83 ec 70          	sub    $0x70,%rsp
140410a0d:	48 8b 05 ec 84 fa 00 	mov    0xfa84ec(%rip),%rax        # 0x1413b8f00
140410a14:	48 33 c4             	xor    %rsp,%rax
140410a17:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140410a1c:	48 8d 5a 02          	lea    0x2(%rdx),%rbx
140410a20:	4d 8b e1             	mov    %r9,%r12
140410a23:	49 8b e8             	mov    %r8,%rbp
140410a26:	4c 8b fa             	mov    %rdx,%r15
140410a29:	4c 8b f1             	mov    %rcx,%r14
140410a2c:	49 3b d8             	cmp    %r8,%rbx
140410a2f:	0f 87 4c 01 00 00    	ja     0x140410b81
140410a35:	48 3b da             	cmp    %rdx,%rbx
140410a38:	0f 82 43 01 00 00    	jb     0x140410b81
140410a3e:	83 bc 24 c0 00 00 00 	cmpl   $0x1,0xc0(%rsp)
140410a45:	01
140410a46:	0f b7 02             	movzwl (%rdx),%eax
140410a49:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
140410a4e:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
140410a53:	74 04                	je     0x140410a59
140410a55:	66 c1 c8 08          	ror    $0x8,%ax
140410a59:	66 89 01             	mov    %ax,(%rcx)
140410a5c:	45 33 ed             	xor    %r13d,%r13d
140410a5f:	4c 89 69 10          	mov    %r13,0x10(%rcx)
140410a63:	b9 18 00 00 00       	mov    $0x18,%ecx
140410a68:	e8 9b a6 a0 00       	call   0x140e1b108
140410a6d:	48 85 c0             	test   %rax,%rax
140410a70:	74 0d                	je     0x140410a7f
140410a72:	4c 89 28             	mov    %r13,(%rax)
140410a75:	4c 89 68 08          	mov    %r13,0x8(%rax)
140410a79:	4c 89 68 10          	mov    %r13,0x10(%rax)
140410a7d:	eb 03                	jmp    0x140410a82
140410a7f:	49 8b c5             	mov    %r13,%rax
140410a82:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
140410a87:	49 89 46 08          	mov    %rax,0x8(%r14)
140410a8b:	48 3b dd             	cmp    %rbp,%rbx
140410a8e:	73 7c                	jae    0x140410b0c
140410a90:	48 8d 7b 02          	lea    0x2(%rbx),%rdi
140410a94:	b9 02 00 00 00       	mov    $0x2,%ecx
140410a99:	e8 6a a6 a0 00       	call   0x140e1b108
140410a9e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140410aa3:	48 8b c8             	mov    %rax,%rcx
140410aa6:	48 85 c0             	test   %rax,%rax
140410aa9:	74 06                	je     0x140410ab1
140410aab:	66 44 89 28          	mov    %r13w,(%rax)
140410aaf:	eb 03                	jmp    0x140410ab4
140410ab1:	49 8b cd             	mov    %r13,%rcx
140410ab4:	49 89 4e 10          	mov    %rcx,0x10(%r14)
140410ab8:	48 3b fd             	cmp    %rbp,%rdi
140410abb:	0f 87 92 00 00 00    	ja     0x140410b53
140410ac1:	48 3b fb             	cmp    %rbx,%rdi
140410ac4:	0f 82 89 00 00 00    	jb     0x140410b53
140410aca:	0f b6 03             	movzbl (%rbx),%eax
140410acd:	88 01                	mov    %al,(%rcx)
140410acf:	0f b6 47 ff          	movzbl -0x1(%rdi),%eax
140410ad3:	88 41 01             	mov    %al,0x1(%rcx)
140410ad6:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140410ada:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140410ade:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
140410ae2:	74 0e                	je     0x140410af2
140410ae4:	49 8b 46 10          	mov    0x10(%r14),%rax
140410ae8:	48 89 02             	mov    %rax,(%rdx)
140410aeb:	48 83 41 08 08       	addq   $0x8,0x8(%rcx)
140410af0:	eb 09                	jmp    0x140410afb
140410af2:	4d 8d 46 10          	lea    0x10(%r14),%r8
140410af6:	e8 c5 a4 f6 ff       	call   0x14037afc0
140410afb:	48 83 c3 02          	add    $0x2,%rbx
140410aff:	4d 89 6e 10          	mov    %r13,0x10(%r14)
140410b03:	48 83 c7 02          	add    $0x2,%rdi
140410b07:	48 3b dd             	cmp    %rbp,%rbx
140410b0a:	72 88                	jb     0x140410a94
140410b0c:	4d 89 6e 10          	mov    %r13,0x10(%r14)
140410b10:	4d 8b 46 08          	mov    0x8(%r14),%r8
140410b14:	49 8b 56 18          	mov    0x18(%r14),%rdx
140410b18:	49 8b 0c 24          	mov    (%r12),%rcx
140410b1c:	e8 7f 38 00 00       	call   0x1404143a0
140410b21:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140410b26:	41 2b df             	sub    %r15d,%ebx
140410b29:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140410b2e:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
140410b33:	41 88 46 20          	mov    %al,0x20(%r14)
140410b37:	8b c3                	mov    %ebx,%eax
140410b39:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140410b3e:	48 33 cc             	xor    %rsp,%rcx
140410b41:	e8 ba a9 a0 00       	call   0x140e1b500
140410b46:	48 83 c4 70          	add    $0x70,%rsp
140410b4a:	41 5f                	pop    %r15
140410b4c:	41 5e                	pop    %r14
140410b4e:	41 5c                	pop    %r12
140410b50:	5d                   	pop    %rbp
140410b51:	5b                   	pop    %rbx
140410b52:	c3                   	ret
140410b53:	2b eb                	sub    %ebx,%ebp
140410b55:	48 8d 15 84 60 bd 00 	lea    0xbd6084(%rip),%rdx        # 0x140fe6be0
140410b5c:	44 8b cd             	mov    %ebp,%r9d
140410b5f:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140410b64:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140410b6a:	e8 81 85 d9 ff       	call   0x1401a90f0
140410b6f:	48 8d 15 5a fe f8 00 	lea    0xf8fe5a(%rip),%rdx        # 0x1413a09d0
140410b76:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140410b7b:	e8 98 bc a0 00       	call   0x140e1c818
140410b80:	cc                   	int3
140410b81:	41 2b ef             	sub    %r15d,%ebp
140410b84:	48 8d 15 8d 06 be 00 	lea    0xbe068d(%rip),%rdx        # 0x140ff1218
140410b8b:	44 8b cd             	mov    %ebp,%r9d
140410b8e:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140410b93:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140410b99:	e8 52 85 d9 ff       	call   0x1401a90f0
140410b9e:	48 8d 15 2b fe f8 00 	lea    0xf8fe2b(%rip),%rdx        # 0x1413a09d0
140410ba5:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140410baa:	e8 69 bc a0 00       	call   0x140e1c818
140410baf:	cc                   	int3
140410bb0:	48 83 ec 58          	sub    $0x58,%rsp
140410bb4:	48 8b 05 45 83 fa 00 	mov    0xfa8345(%rip),%rax        # 0x1413b8f00
140410bbb:	48 33 c4             	xor    %rsp,%rax
140410bbe:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140410bc3:	48 8d 42 02          	lea    0x2(%rdx),%rax
140410bc7:	49 3b c0             	cmp    %r8,%rax
140410bca:	77 28                	ja     0x140410bf4
140410bcc:	48 3b c2             	cmp    %rdx,%rax
140410bcf:	72 23                	jb     0x140410bf4
140410bd1:	0f b6 02             	movzbl (%rdx),%eax
140410bd4:	88 01                	mov    %al,(%rcx)
140410bd6:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140410bda:	88 41 01             	mov    %al,0x1(%rcx)
140410bdd:	b8 02 00 00 00       	mov    $0x2,%eax
140410be2:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140410be7:	48 33 cc             	xor    %rsp,%rcx
140410bea:	e8 11 a9 a0 00       	call   0x140e1b500
140410bef:	48 83 c4 58          	add    $0x58,%rsp
140410bf3:	c3                   	ret
140410bf4:	44 2b c2             	sub    %edx,%r8d
140410bf7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140410bfc:	45 8b c8             	mov    %r8d,%r9d
140410bff:	48 8d 15 da 5f bd 00 	lea    0xbd5fda(%rip),%rdx        # 0x140fe6be0
140410c06:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140410c0c:	e8 df 84 d9 ff       	call   0x1401a90f0
140410c11:	48 8d 15 b8 fd f8 00 	lea    0xf8fdb8(%rip),%rdx        # 0x1413a09d0
140410c18:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140410c1d:	e8 f6 bb a0 00       	call   0x140e1c818
140410c22:	cc                   	int3
140410c23:	cc                   	int3
140410c24:	cc                   	int3
140410c25:	cc                   	int3
140410c26:	cc                   	int3
140410c27:	cc                   	int3
140410c28:	cc                   	int3
140410c29:	cc                   	int3
140410c2a:	cc                   	int3
140410c2b:	cc                   	int3
140410c2c:	cc                   	int3
140410c2d:	cc                   	int3
140410c2e:	cc                   	int3
140410c2f:	cc                   	int3
140410c30:	4c 8b dc             	mov    %rsp,%r11
140410c33:	57                   	push   %rdi
140410c34:	41 56                	push   %r14
140410c36:	48 81 ec a8 00 00 00 	sub    $0xa8,%rsp
140410c3d:	48 8b 05 bc 82 fa 00 	mov    0xfa82bc(%rip),%rax        # 0x1413b8f00
140410c44:	48 33 c4             	xor    %rsp,%rax
140410c47:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140410c4c:	48 8b fa             	mov    %rdx,%rdi
140410c4f:	4c 89 4c 24 40       	mov    %r9,0x40(%rsp)
140410c54:	48 83 c2 03          	add    $0x3,%rdx
140410c58:	4c 8b f1             	mov    %rcx,%r14
140410c5b:	49 3b d0             	cmp    %r8,%rdx
140410c5e:	0f 87 53 02 00 00    	ja     0x140410eb7
140410c64:	48 8d 4f 02          	lea    0x2(%rdi),%rcx
140410c68:	48 3b d1             	cmp    %rcx,%rdx
140410c6b:	0f 82 46 02 00 00    	jb     0x140410eb7
140410c71:	83 bc 24 e0 00 00 00 	cmpl   $0x1,0xe0(%rsp)
140410c78:	01
140410c79:	0f b7 07             	movzwl (%rdi),%eax
140410c7c:	49 89 5b e8          	mov    %rbx,-0x18(%r11)
140410c80:	4d 89 6b c8          	mov    %r13,-0x38(%r11)
140410c84:	74 04                	je     0x140410c8a
140410c86:	66 c1 c8 08          	ror    $0x8,%ax
140410c8a:	44 0f b7 e8          	movzwl %ax,%r13d
140410c8e:	41 83 c5 02          	add    $0x2,%r13d
140410c92:	66 41 89 06          	mov    %ax,(%r14)
140410c96:	41 8b dd             	mov    %r13d,%ebx
140410c99:	48 03 df             	add    %rdi,%rbx
140410c9c:	49 3b d8             	cmp    %r8,%rbx
140410c9f:	0f 87 e6 01 00 00    	ja     0x140410e8b
140410ca5:	48 3b df             	cmp    %rdi,%rbx
140410ca8:	0f 82 dd 01 00 00    	jb     0x140410e8b
140410cae:	0f b6 01             	movzbl (%rcx),%eax
140410cb1:	48 89 b4 24 90 00 00 	mov    %rsi,0x90(%rsp)
140410cb8:	00
140410cb9:	48 8d 77 23          	lea    0x23(%rdi),%rsi
140410cbd:	41 88 46 02          	mov    %al,0x2(%r14)
140410cc1:	48 3b f3             	cmp    %rbx,%rsi
140410cc4:	0f 87 d9 02 00 00    	ja     0x140410fa3
140410cca:	48 3b f2             	cmp    %rdx,%rsi
140410ccd:	0f 82 d0 02 00 00    	jb     0x140410fa3
140410cd3:	49 8d 4e 08          	lea    0x8(%r14),%rcx
140410cd7:	41 b8 20 00 00 00    	mov    $0x20,%r8d
140410cdd:	e8 7e d6 d9 ff       	call   0x1401ae360
140410ce2:	48 8d 56 0a          	lea    0xa(%rsi),%rdx
140410ce6:	48 3b d3             	cmp    %rbx,%rdx
140410ce9:	0f 87 86 02 00 00    	ja     0x140410f75
140410cef:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140410cf3:	48 3b d1             	cmp    %rcx,%rdx
140410cf6:	0f 82 79 02 00 00    	jb     0x140410f75
140410cfc:	83 bc 24 e0 00 00 00 	cmpl   $0x1,0xe0(%rsp)
140410d03:	01
140410d04:	48 8b 06             	mov    (%rsi),%rax
140410d07:	48 89 ac 24 98 00 00 	mov    %rbp,0x98(%rsp)
140410d0e:	00
140410d0f:	75 09                	jne    0x140410d1a
140410d11:	49 89 46 18          	mov    %rax,0x18(%r14)
140410d15:	0f b7 01             	movzwl (%rcx),%eax
140410d18:	eb 0e                	jmp    0x140410d28
140410d1a:	48 0f c8             	bswap  %rax
140410d1d:	49 89 46 18          	mov    %rax,0x18(%r14)
140410d21:	0f b7 01             	movzwl (%rcx),%eax
140410d24:	66 c1 c8 08          	ror    $0x8,%ax
140410d28:	44 0f b7 c0          	movzwl %ax,%r8d
140410d2c:	48 8d 6e 0a          	lea    0xa(%rsi),%rbp
140410d30:	49 03 e8             	add    %r8,%rbp
140410d33:	66 41 89 46 20       	mov    %ax,0x20(%r14)
140410d38:	48 3b eb             	cmp    %rbx,%rbp
140410d3b:	0f 87 04 02 00 00    	ja     0x140410f45
140410d41:	48 3b ea             	cmp    %rdx,%rbp
140410d44:	0f 82 fb 01 00 00    	jb     0x140410f45
140410d4a:	49 8d 4e 28          	lea    0x28(%r14),%rcx