140026694:	48 83 ec 30          	sub    $0x30,%rsp
140026698:	49 63 f8             	movslq %r8d,%rdi
14002669b:	44 8b c1             	mov    %ecx,%r8d
14002669e:	48 8b f2             	mov    %rdx,%rsi
1400266a1:	f7 c1 ff f3 ff ff    	test   $0xfffff3ff,%ecx
1400266a7:	75 0c                	jne    0x1400266b5
1400266a9:	81 f9 00 0c 00 00    	cmp    $0xc00,%ecx
1400266af:	0f 85 96 00 00 00    	jne    0x14002674b
1400266b5:	48 85 f6             	test   %rsi,%rsi
1400266b8:	75 08                	jne    0x1400266c2
1400266ba:	85 ff                	test   %edi,%edi
1400266bc:	0f 8f 89 00 00 00    	jg     0x14002674b
1400266c2:	85 ff                	test   %edi,%edi
1400266c4:	0f 88 81 00 00 00    	js     0x14002674b
1400266ca:	45 33 c9             	xor    %r9d,%r9d
1400266cd:	48 8d 2d ac 2e 01 00 	lea    0x12eac(%rip),%rbp        # 0x140039580
1400266d4:	41 ba e3 00 00 00    	mov    $0xe3,%r10d
1400266da:	43 8d 04 0a          	lea    (%r10,%r9,1),%eax
1400266de:	99                   	cltd
1400266df:	2b c2                	sub    %edx,%eax
1400266e1:	41 8b d0             	mov    %r8d,%edx
1400266e4:	d1 f8                	sar    $1,%eax
1400266e6:	48 63 c8             	movslq %eax,%rcx
1400266e9:	48 c1 e1 04          	shl    $0x4,%rcx
1400266ed:	2b 14 29             	sub    (%rcx,%rbp,1),%edx
1400266f0:	74 1c                	je     0x14002670e
1400266f2:	85 d2                	test   %edx,%edx
1400266f4:	8d 48 ff             	lea    -0x1(%rax),%ecx
1400266f7:	41 0f 49 ca          	cmovns %r10d,%ecx
1400266fb:	ff c0                	inc    %eax
1400266fd:	85 d2                	test   %edx,%edx
1400266ff:	44 8b d1             	mov    %ecx,%r10d
140026702:	44 0f 49 c8          	cmovns %eax,%r9d
140026706:	44 3b c9             	cmp    %ecx,%r9d
140026709:	7e cf                	jle    0x1400266da
14002670b:	83 c8 ff             	or     $0xffffffff,%eax
14002670e:	85 c0                	test   %eax,%eax
140026710:	78 39                	js     0x14002674b
140026712:	48 98                	cltq
140026714:	ba 55 00 00 00       	mov    $0x55,%edx
140026719:	48 03 c0             	add    %rax,%rax
14002671c:	48 8b 6c c5 08       	mov    0x8(%rbp,%rax,8),%rbp
140026721:	48 8b cd             	mov    %rbp,%rcx
140026724:	e8 7f 0e ff ff       	call   0x1400175a8
140026729:	48 8b d8             	mov    %rax,%rbx
14002672c:	85 ff                	test   %edi,%edi
14002672e:	7e 16                	jle    0x140026746
140026730:	3b df                	cmp    %edi,%ebx
140026732:	7d 17                	jge    0x14002674b
140026734:	48 8b d7             	mov    %rdi,%rdx
140026737:	4c 8b c5             	mov    %rbp,%r8
14002673a:	48 8b ce             	mov    %rsi,%rcx
14002673d:	e8 3e 10 ff ff       	call   0x140017780
140026742:	85 c0                	test   %eax,%eax
140026744:	75 1c                	jne    0x140026762
140026746:	8d 43 01             	lea    0x1(%rbx),%eax
140026749:	eb 02                	jmp    0x14002674d
14002674b:	33 c0                	xor    %eax,%eax
14002674d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140026752:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140026757:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14002675c:	48 83 c4 30          	add    $0x30,%rsp
140026760:	5f                   	pop    %rdi
140026761:	c3                   	ret
140026762:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140026768:	45 33 c9             	xor    %r9d,%r9d
14002676b:	45 33 c0             	xor    %r8d,%r8d
14002676e:	33 d2                	xor    %edx,%edx
140026770:	33 c9                	xor    %ecx,%ecx
140026772:	e8 71 a0 fe ff       	call   0x1400107e8
140026777:	cc                   	int3
140026778:	48 83 ec 28          	sub    $0x28,%rsp
14002677c:	48 85 c9             	test   %rcx,%rcx
14002677f:	74 21                	je     0x1400267a2
140026781:	e8 16 fe ff ff       	call   0x14002659c
140026786:	85 c0                	test   %eax,%eax
140026788:	78 18                	js     0x1400267a2
14002678a:	3d e4 00 00 00       	cmp    $0xe4,%eax
14002678f:	73 11                	jae    0x1400267a2
140026791:	48 98                	cltq
140026793:	48 8d 0d e6 2d 01 00 	lea    0x12de6(%rip),%rcx        # 0x140039580
14002679a:	48 03 c0             	add    %rax,%rax
14002679d:	8b 04 c1             	mov    (%rcx,%rax,8),%eax
1400267a0:	eb 02                	jmp    0x1400267a4
1400267a2:	33 c0                	xor    %eax,%eax
1400267a4:	48 83 c4 28          	add    $0x28,%rsp
1400267a8:	c3                   	ret
1400267a9:	cc                   	int3
1400267aa:	cc                   	int3
1400267ab:	cc                   	int3
1400267ac:	48 83 ec 28          	sub    $0x28,%rsp
1400267b0:	45 33 c9             	xor    %r9d,%r9d
1400267b3:	4d 8b d0             	mov    %r8,%r10
1400267b6:	44 39 0d ff 02 02 00 	cmp    %r9d,0x202ff(%rip)        # 0x140046abc
1400267bd:	0f 85 8a 00 00 00    	jne    0x14002684d
1400267c3:	4d 85 c0             	test   %r8,%r8
1400267c6:	74 7d                	je     0x140026845
1400267c8:	48 85 c9             	test   %rcx,%rcx
1400267cb:	75 1a                	jne    0x1400267e7
1400267cd:	e8 1a e2 fe ff       	call   0x1400149ec
1400267d2:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400267d8:	e8 bb 9f fe ff       	call   0x140010798
1400267dd:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
1400267e2:	48 83 c4 28          	add    $0x28,%rsp
1400267e6:	c3                   	ret
1400267e7:	48 85 d2             	test   %rdx,%rdx
1400267ea:	74 e1                	je     0x1400267cd
1400267ec:	48 2b ca             	sub    %rdx,%rcx
1400267ef:	0f b7 04 11          	movzwl (%rcx,%rdx,1),%eax
1400267f3:	44 0f b7 04 11       	movzwl (%rcx,%rdx,1),%r8d
1400267f8:	66 83 e8 41          	sub    $0x41,%ax
1400267fc:	44 0f b7 1a          	movzwl (%rdx),%r11d
140026800:	66 41 83 c0 20       	add    $0x20,%r8w
140026805:	66 83 f8 19          	cmp    $0x19,%ax
140026809:	0f b7 02             	movzwl (%rdx),%eax
14002680c:	66 44 0f 47 04 11    	cmova  (%rcx,%rdx,1),%r8w
140026812:	66 41 83 c3 20       	add    $0x20,%r11w
140026817:	66 83 e8 41          	sub    $0x41,%ax
14002681b:	66 83 f8 19          	cmp    $0x19,%ax
14002681f:	66 44 0f 47 1a       	cmova  (%rdx),%r11w
140026824:	48 8d 52 02          	lea    0x2(%rdx),%rdx
140026828:	49 83 ea 01          	sub    $0x1,%r10
14002682c:	74 0c                	je     0x14002683a
14002682e:	66 45 85 c0          	test   %r8w,%r8w
140026832:	74 06                	je     0x14002683a
140026834:	66 45 3b c3          	cmp    %r11w,%r8w
140026838:	74 b5                	je     0x1400267ef
14002683a:	41 0f b7 c3          	movzwl %r11w,%eax
14002683e:	45 0f b7 c8          	movzwl %r8w,%r9d
140026842:	44 2b c8             	sub    %eax,%r9d
140026845:	41 8b c1             	mov    %r9d,%eax
140026848:	48 83 c4 28          	add    $0x28,%rsp
14002684c:	c3                   	ret
14002684d:	48 83 c4 28          	add    $0x28,%rsp
140026851:	e9 02 00 00 00       	jmp    0x140026858
140026856:	cc                   	int3
140026857:	cc                   	int3
140026858:	48 8b c4             	mov    %rsp,%rax
14002685b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14002685f:	48 89 68 10          	mov    %rbp,0x10(%rax)
140026863:	48 89 70 18          	mov    %rsi,0x18(%rax)
140026867:	48 89 78 20          	mov    %rdi,0x20(%rax)
14002686b:	41 56                	push   %r14
14002686d:	48 83 ec 40          	sub    $0x40,%rsp
140026871:	45 33 f6             	xor    %r14d,%r14d
140026874:	49 8b e8             	mov    %r8,%rbp
140026877:	48 8b f2             	mov    %rdx,%rsi
14002687a:	48 8b f9             	mov    %rcx,%rdi
14002687d:	41 8b c6             	mov    %r14d,%eax
140026880:	4d 85 c0             	test   %r8,%r8
140026883:	0f 84 da 00 00 00    	je     0x140026963
140026889:	48 85 c9             	test   %rcx,%rcx
14002688c:	75 1a                	jne    0x1400268a8
14002688e:	e8 59 e1 fe ff       	call   0x1400149ec
140026893:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140026899:	e8 fa 9e fe ff       	call   0x140010798
14002689e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
1400268a3:	e9 bb 00 00 00       	jmp    0x140026963
1400268a8:	48 85 f6             	test   %rsi,%rsi
1400268ab:	74 e1                	je     0x14002688e
1400268ad:	49 8b d1             	mov    %r9,%rdx
1400268b0:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1400268b5:	e8 e6 a6 fe ff       	call   0x140010fa0
1400268ba:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1400268bf:	4c 39 b0 38 01 00 00 	cmp    %r14,0x138(%rax)
1400268c6:	75 48                	jne    0x140026910
1400268c8:	48 2b fe             	sub    %rsi,%rdi
1400268cb:	0f b7 04 37          	movzwl (%rdi,%rsi,1),%eax
1400268cf:	0f b7 1c 37          	movzwl (%rdi,%rsi,1),%ebx
1400268d3:	66 83 e8 41          	sub    $0x41,%ax
1400268d7:	0f b7 0e             	movzwl (%rsi),%ecx
1400268da:	66 83 c3 20          	add    $0x20,%bx
1400268de:	66 83 f8 19          	cmp    $0x19,%ax
1400268e2:	0f b7 06             	movzwl (%rsi),%eax
1400268e5:	66 0f 47 1c 37       	cmova  (%rdi,%rsi,1),%bx
1400268ea:	66 83 c1 20          	add    $0x20,%cx
1400268ee:	66 83 e8 41          	sub    $0x41,%ax
1400268f2:	66 83 f8 19          	cmp    $0x19,%ax
1400268f6:	66 0f 47 0e          	cmova  (%rsi),%cx
1400268fa:	48 8d 76 02          	lea    0x2(%rsi),%rsi
1400268fe:	48 83 ed 01          	sub    $0x1,%rbp
140026902:	74 44                	je     0x140026948
140026904:	66 85 db             	test   %bx,%bx
140026907:	74 3f                	je     0x140026948
140026909:	66 3b d9             	cmp    %cx,%bx
14002690c:	74 bd                	je     0x1400268cb
14002690e:	eb 38                	jmp    0x140026948
140026910:	0f b7 0f             	movzwl (%rdi),%ecx
140026913:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140026918:	e8 8f 2c 00 00       	call   0x1400295ac
14002691d:	0f b7 0e             	movzwl (%rsi),%ecx
140026920:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140026925:	0f b7 d8             	movzwl %ax,%ebx
140026928:	e8 7f 2c 00 00       	call   0x1400295ac
14002692d:	48 8d 7f 02          	lea    0x2(%rdi),%rdi
140026931:	0f b7 c8             	movzwl %ax,%ecx
140026934:	48 8d 76 02          	lea    0x2(%rsi),%rsi
140026938:	48 83 ed 01          	sub    $0x1,%rbp
14002693c:	74 0a                	je     0x140026948
14002693e:	66 85 db             	test   %bx,%bx
140026941:	74 05                	je     0x140026948
140026943:	66 3b d8             	cmp    %ax,%bx
140026946:	74 c8                	je     0x140026910
140026948:	0f b7 c9             	movzwl %cx,%ecx
14002694b:	0f b7 c3             	movzwl %bx,%eax
14002694e:	2b c1                	sub    %ecx,%eax
140026950:	44 38 74 24 38       	cmp    %r14b,0x38(%rsp)
140026955:	74 0c                	je     0x140026963
140026957:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
14002695c:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140026963:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140026968:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14002696d:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140026972:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140026977:	48 83 c4 40          	add    $0x40,%rsp
14002697b:	41 5e                	pop    %r14
14002697d:	c3                   	ret
14002697e:	cc                   	int3
14002697f:	cc                   	int3
140026980:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140026985:	4d 8b d0             	mov    %r8,%r10
140026988:	4c 8b da             	mov    %rdx,%r11
14002698b:	48 8b d9             	mov    %rcx,%rbx
14002698e:	4d 85 c0             	test   %r8,%r8
140026991:	74 41                	je     0x1400269d4
140026993:	44 0f b6 0b          	movzbl (%rbx),%r9d
140026997:	48 ff c3             	inc    %rbx
14002699a:	41 0f b6 0b          	movzbl (%r11),%ecx
14002699e:	41 8d 41 bf          	lea    -0x41(%r9),%eax
1400269a2:	83 f8 19             	cmp    $0x19,%eax
1400269a5:	41 8d 51 20          	lea    0x20(%r9),%edx
1400269a9:	8d 41 bf             	lea    -0x41(%rcx),%eax
1400269ac:	41 0f 47 d1          	cmova  %r9d,%edx
1400269b0:	44 8d 41 20          	lea    0x20(%rcx),%r8d
1400269b4:	49 ff c3             	inc    %r11
1400269b7:	83 f8 19             	cmp    $0x19,%eax
1400269ba:	44 0f 47 c1          	cmova  %ecx,%r8d
1400269be:	49 83 ea 01          	sub    $0x1,%r10
1400269c2:	74 09                	je     0x1400269cd
1400269c4:	85 d2                	test   %edx,%edx
1400269c6:	74 05                	je     0x1400269cd
1400269c8:	41 3b d0             	cmp    %r8d,%edx
1400269cb:	74 c6                	je     0x140026993
1400269cd:	41 2b d0             	sub    %r8d,%edx
1400269d0:	8b c2                	mov    %edx,%eax
1400269d2:	eb 02                	jmp    0x1400269d6
1400269d4:	33 c0                	xor    %eax,%eax
1400269d6:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1400269db:	c3                   	ret
1400269dc:	48 83 ec 28          	sub    $0x28,%rsp
1400269e0:	83 3d d5 00 02 00 00 	cmpl   $0x0,0x200d5(%rip)        # 0x140046abc
1400269e7:	75 36                	jne    0x140026a1f
1400269e9:	48 85 c9             	test   %rcx,%rcx
1400269ec:	75 1a                	jne    0x140026a08
1400269ee:	e8 f9 df fe ff       	call   0x1400149ec
1400269f3:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400269f9:	e8 9a 9d fe ff       	call   0x140010798
1400269fe:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140026a03:	48 83 c4 28          	add    $0x28,%rsp
140026a07:	c3                   	ret
140026a08:	48 85 d2             	test   %rdx,%rdx
140026a0b:	74 e1                	je     0x1400269ee
140026a0d:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
140026a14:	77 d8                	ja     0x1400269ee
140026a16:	48 83 c4 28          	add    $0x28,%rsp
140026a1a:	e9 61 ff ff ff       	jmp    0x140026980
140026a1f:	45 33 c9             	xor    %r9d,%r9d
140026a22:	48 83 c4 28          	add    $0x28,%rsp
140026a26:	e9 01 00 00 00       	jmp    0x140026a2c
140026a2b:	cc                   	int3
140026a2c:	48 8b c4             	mov    %rsp,%rax
140026a2f:	48 89 58 08          	mov    %rbx,0x8(%rax)
140026a33:	48 89 68 10          	mov    %rbp,0x10(%rax)
140026a37:	48 89 70 18          	mov    %rsi,0x18(%rax)
140026a3b:	57                   	push   %rdi
140026a3c:	48 83 ec 40          	sub    $0x40,%rsp
140026a40:	49 8b e8             	mov    %r8,%rbp
140026a43:	48 8b fa             	mov    %rdx,%rdi
140026a46:	48 8b f1             	mov    %rcx,%rsi
140026a49:	4d 85 c0             	test   %r8,%r8
140026a4c:	0f 84 9d 00 00 00    	je     0x140026aef
140026a52:	49 8b d1             	mov    %r9,%rdx
140026a55:	48 8d 48 d8          	lea    -0x28(%rax),%rcx
140026a59:	e8 42 a5 fe ff       	call   0x140010fa0
140026a5e:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
140026a63:	48 85 f6             	test   %rsi,%rsi
140026a66:	74 0a                	je     0x140026a72
140026a68:	48 85 ff             	test   %rdi,%rdi
140026a6b:	74 05                	je     0x140026a72
140026a6d:	48 3b eb             	cmp    %rbx,%rbp
140026a70:	76 12                	jbe    0x140026a84
140026a72:	e8 75 df fe ff       	call   0x1400149ec
140026a77:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140026a7d:	e8 16 9d fe ff       	call   0x140010798
140026a82:	eb 54                	jmp    0x140026ad8
140026a84:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140026a89:	48 83 b8 38 01 00 00 	cmpq   $0x0,0x138(%rax)
140026a90:	00
140026a91:	75 12                	jne    0x140026aa5
140026a93:	4c 8b c5             	mov    %rbp,%r8
140026a96:	48 8b d7             	mov    %rdi,%rdx
140026a99:	48 8b ce             	mov    %rsi,%rcx
140026a9c:	e8 df fe ff ff       	call   0x140026980
140026aa1:	8b d8                	mov    %eax,%ebx
140026aa3:	eb 33                	jmp    0x140026ad8
140026aa5:	48 2b f7             	sub    %rdi,%rsi
140026aa8:	0f b6 0c 3e          	movzbl (%rsi,%rdi,1),%ecx
140026aac:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140026ab1:	e8 1e 10 ff ff       	call   0x140017ad4
140026ab6:	0f b6 0f             	movzbl (%rdi),%ecx
140026ab9:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140026abe:	8b d8                	mov    %eax,%ebx
140026ac0:	e8 0f 10 ff ff       	call   0x140017ad4
140026ac5:	48 ff c7             	inc    %rdi
140026ac8:	48 83 ed 01          	sub    $0x1,%rbp
140026acc:	74 08                	je     0x140026ad6
140026ace:	85 db                	test   %ebx,%ebx
140026ad0:	74 04                	je     0x140026ad6
140026ad2:	3b d8                	cmp    %eax,%ebx
140026ad4:	74 d2                	je     0x140026aa8
140026ad6:	2b d8                	sub    %eax,%ebx
140026ad8:	80 7c 24 38 00       	cmpb   $0x0,0x38(%rsp)
140026add:	74 0c                	je     0x140026aeb
140026adf:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140026ae4:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140026aeb:	8b c3                	mov    %ebx,%eax
140026aed:	eb 02                	jmp    0x140026af1
140026aef:	33 c0                	xor    %eax,%eax
140026af1:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140026af6:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140026afb:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140026b00:	48 83 c4 40          	add    $0x40,%rsp
140026b04:	5f                   	pop    %rdi
140026b05:	c3                   	ret
140026b06:	cc                   	int3
140026b07:	cc                   	int3
140026b08:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140026b0d:	57                   	push   %rdi
140026b0e:	48 83 ec 50          	sub    $0x50,%rsp
140026b12:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140026b19:	00
140026b1a:	48 85 db             	test   %rbx,%rbx
140026b1d:	75 1e                	jne    0x140026b3d
140026b1f:	e8 c8 de fe ff       	call   0x1400149ec
140026b24:	bb 16 00 00 00       	mov    $0x16,%ebx
140026b29:	89 18                	mov    %ebx,(%rax)
140026b2b:	e8 68 9c fe ff       	call   0x140010798
140026b30:	8b c3                	mov    %ebx,%eax
140026b32:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140026b37:	48 83 c4 50          	add    $0x50,%rsp