140022644:	e8 53 fc ff ff       	call   0x14002229c
140022649:	eb 12                	jmp    0x14002265d
14002264b:	48 3b f5             	cmp    %rbp,%rsi
14002264e:	0f 84 7e fd ff ff    	je     0x1400223d2
140022654:	41 8d 47 30          	lea    0x30(%r15),%eax
140022658:	4d 8b ee             	mov    %r14,%r13
14002265b:	88 06                	mov    %al,(%rsi)
14002265d:	44 8b cb             	mov    %ebx,%r9d
140022660:	89 9c 24 98 00 00 00 	mov    %ebx,0x98(%rsp)
140022667:	33 db                	xor    %ebx,%ebx
140022669:	49 03 f5             	add    %r13,%rsi
14002266c:	44 8b 6c 24 20       	mov    0x20(%rsp),%r13d
140022671:	8b 44 24 2c          	mov    0x2c(%rsp),%eax
140022675:	45 2b ee             	sub    %r14d,%r13d
140022678:	83 6c 24 24 09       	subl   $0x9,0x24(%rsp)
14002267d:	41 2b c6             	sub    %r14d,%eax
140022680:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
140022685:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
140022689:	45 85 ed             	test   %r13d,%r13d
14002268c:	78 1b                	js     0x1400226a9
14002268e:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
140022693:	48 8d 15 66 d9 fd ff 	lea    -0x2269a(%rip),%rdx        # 0x140000000
14002269a:	44 8b 5c 24 30       	mov    0x30(%rsp),%r11d
14002269f:	e9 7a fe ff ff       	jmp    0x14002251e
1400226a4:	bb 09 00 00 00       	mov    $0x9,%ebx
1400226a9:	4c 8b 54 24 38       	mov    0x38(%rsp),%r10
1400226ae:	44 8b 9c 24 90 00 00 	mov    0x90(%rsp),%r11d
1400226b5:	00
1400226b6:	eb 03                	jmp    0x1400226bb
1400226b8:	44 8b cb             	mov    %ebx,%r9d
1400226bb:	4c 8d 2d 3e d9 fd ff 	lea    -0x226c2(%rip),%r13        # 0x140000000
1400226c2:	45 85 db             	test   %r11d,%r11d
1400226c5:	0f 89 95 02 00 00    	jns    0x140022960
1400226cb:	0f ae e8             	lfence
1400226ce:	85 db                	test   %ebx,%ebx
1400226d0:	0f 85 8a 02 00 00    	jne    0x140022960
1400226d6:	41 8b c3             	mov    %r11d,%eax
1400226d9:	99                   	cltd
1400226da:	83 e2 0f             	and    $0xf,%edx
1400226dd:	03 c2                	add    %edx,%eax
1400226df:	c1 f8 04             	sar    $0x4,%eax
1400226e2:	f7 d8                	neg    %eax
1400226e4:	4c 63 d8             	movslq %eax,%r11
1400226e7:	44 89 5c 24 2c       	mov    %r11d,0x2c(%rsp)
1400226ec:	43 0f b6 94 2b d0 fa 	movzbl 0x24fad0(%r11,%r13,1),%edx
1400226f3:	24 00
1400226f5:	81 fa c8 00 00 00    	cmp    $0xc8,%edx
1400226fb:	0f 83 d7 01 00 00    	jae    0x1400228d8
140022701:	47 0f b7 84 5d 42 fa 	movzwl 0x24fa42(%r13,%r11,2),%r8d
140022708:	24 00
14002270a:	8d 04 d2             	lea    (%rdx,%rdx,8),%eax
14002270d:	43 0f b7 8c 5d 40 fa 	movzwl 0x24fa40(%r13,%r11,2),%ecx
140022714:	24 00
140022716:	44 89 44 24 30       	mov    %r8d,0x30(%rsp)
14002271b:	89 44 24 24          	mov    %eax,0x24(%rsp)
14002271f:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
140022723:	41 3b c8             	cmp    %r8d,%ecx
140022726:	72 05                	jb     0x14002272d
140022728:	45 33 ff             	xor    %r15d,%r15d
14002272b:	eb 46                	jmp    0x140022773
14002272d:	0f ae e8             	lfence
140022730:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
140022734:	41 b8 08 00 00 00    	mov    $0x8,%r8d
14002273a:	48 8d 14 cd f0 2e 22 	lea    0x222ef0(,%rcx,8),%rdx
140022741:	00
140022742:	45 2b c3             	sub    %r11d,%r8d
140022745:	41 c1 e0 04          	shl    $0x4,%r8d
140022749:	49 8b ca             	mov    %r10,%rcx
14002274c:	44 2b 84 24 90 00 00 	sub    0x90(%rsp),%r8d
140022753:	00
140022754:	49 03 d5             	add    %r13,%rdx
140022757:	48 c1 e1 08          	shl    $0x8,%rcx
14002275b:	e8 e0 f9 ff ff       	call   0x140022140
140022760:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
140022764:	44 8b f8             	mov    %eax,%r15d
140022767:	8b 44 24 24          	mov    0x24(%rsp),%eax
14002276b:	44 8b 8c 24 98 00 00 	mov    0x98(%rsp),%r9d
140022772:	00
140022773:	45 85 c9             	test   %r9d,%r9d
140022776:	74 3c                	je     0x1400227b4
140022778:	45 8d 69 09          	lea    0x9(%r9),%r13d
14002277c:	45 3b ec             	cmp    %r12d,%r13d
14002277f:	0f 87 4e 01 00 00    	ja     0x1400228d3
140022785:	48 8b c5             	mov    %rbp,%rax
140022788:	48 2b c6             	sub    %rsi,%rax
14002278b:	48 83 f8 09          	cmp    $0x9,%rax
14002278f:	0f 8c 3d fc ff ff    	jl     0x1400223d2
140022795:	48 8b d6             	mov    %rsi,%rdx
140022798:	41 8b cf             	mov    %r15d,%ecx
14002279b:	e8 40 13 00 00       	call   0x140023ae0
1400227a0:	48 83 c6 09          	add    $0x9,%rsi
1400227a4:	44 89 ac 24 98 00 00 	mov    %r13d,0x98(%rsp)
1400227ab:	00
1400227ac:	45 8b cd             	mov    %r13d,%r9d
1400227af:	e9 e7 00 00 00       	jmp    0x14002289b
1400227b4:	45 85 ff             	test   %r15d,%r15d
1400227b7:	0f 84 ed 00 00 00    	je     0x1400228aa
1400227bd:	41 81 ff 00 e1 f5 05 	cmp    $0x5f5e100,%r15d
1400227c4:	72 07                	jb     0x1400227cd
1400227c6:	bb 09 00 00 00       	mov    $0x9,%ebx
1400227cb:	eb 66                	jmp    0x140022833
1400227cd:	41 81 ff 80 96 98 00 	cmp    $0x989680,%r15d
1400227d4:	72 07                	jb     0x1400227dd
1400227d6:	bb 08 00 00 00       	mov    $0x8,%ebx
1400227db:	eb 56                	jmp    0x140022833
1400227dd:	41 81 ff 40 42 0f 00 	cmp    $0xf4240,%r15d
1400227e4:	72 07                	jb     0x1400227ed
1400227e6:	bb 07 00 00 00       	mov    $0x7,%ebx
1400227eb:	eb 46                	jmp    0x140022833
1400227ed:	41 81 ff a0 86 01 00 	cmp    $0x186a0,%r15d
1400227f4:	72 07                	jb     0x1400227fd
1400227f6:	bb 06 00 00 00       	mov    $0x6,%ebx
1400227fb:	eb 36                	jmp    0x140022833
1400227fd:	41 81 ff 10 27 00 00 	cmp    $0x2710,%r15d
140022804:	72 07                	jb     0x14002280d
140022806:	bb 05 00 00 00       	mov    $0x5,%ebx
14002280b:	eb 26                	jmp    0x140022833
14002280d:	41 81 ff e8 03 00 00 	cmp    $0x3e8,%r15d
140022814:	72 07                	jb     0x14002281d
140022816:	bb 04 00 00 00       	mov    $0x4,%ebx
14002281b:	eb 16                	jmp    0x140022833
14002281d:	41 83 ff 64          	cmp    $0x64,%r15d
140022821:	72 07                	jb     0x14002282a
140022823:	bb 03 00 00 00       	mov    $0x3,%ebx
140022828:	eb 09                	jmp    0x140022833
14002282a:	41 83 ff 0a          	cmp    $0xa,%r15d
14002282e:	1b db                	sbb    %ebx,%ebx
140022830:	83 c3 02             	add    $0x2,%ebx
140022833:	44 8b eb             	mov    %ebx,%r13d
140022836:	44 2b e8             	sub    %eax,%r13d
140022839:	41 83 ed 0a          	sub    $0xa,%r13d
14002283d:	44 89 ac 24 a8 00 00 	mov    %r13d,0xa8(%rsp)
140022844:	00
140022845:	41 3b dc             	cmp    %r12d,%ebx
140022848:	0f 87 92 00 00 00    	ja     0x1400228e0
14002284e:	83 7c 24 28 00       	cmpl   $0x0,0x28(%rsp)
140022853:	76 25                	jbe    0x14002287a
140022855:	48 8b c5             	mov    %rbp,%rax
140022858:	44 8d 6b 01          	lea    0x1(%rbx),%r13d
14002285c:	48 2b c6             	sub    %rsi,%rax
14002285f:	49 3b c5             	cmp    %r13,%rax
140022862:	0f 8c 6a fb ff ff    	jl     0x1400223d2
140022868:	0f ae e8             	lfence
14002286b:	4c 8b c6             	mov    %rsi,%r8
14002286e:	41 8b d7             	mov    %r15d,%edx
140022871:	8b cb                	mov    %ebx,%ecx
140022873:	e8 24 fa ff ff       	call   0x14002229c
140022878:	eb 12                	jmp    0x14002288c
14002287a:	48 3b f5             	cmp    %rbp,%rsi
14002287d:	0f 84 4f fb ff ff    	je     0x1400223d2
140022883:	41 8d 47 30          	lea    0x30(%r15),%eax
140022887:	4d 8b ee             	mov    %r14,%r13
14002288a:	88 06                	mov    %al,(%rsi)
14002288c:	44 8b cb             	mov    %ebx,%r9d
14002288f:	89 9c 24 98 00 00 00 	mov    %ebx,0x98(%rsp)
140022896:	33 db                	xor    %ebx,%ebx
140022898:	49 03 f5             	add    %r13,%rsi
14002289b:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
14002289f:	4c 8d 2d 5a d7 fd ff 	lea    -0x228a6(%rip),%r13        # 0x140000000
1400228a6:	8b 44 24 24          	mov    0x24(%rsp),%eax
1400228aa:	41 03 ce             	add    %r14d,%ecx
1400228ad:	83 c0 09             	add    $0x9,%eax
1400228b0:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
1400228b4:	89 44 24 24          	mov    %eax,0x24(%rsp)
1400228b8:	3d 08 07 00 00       	cmp    $0x708,%eax
1400228bd:	7d 19                	jge    0x1400228d8
1400228bf:	4c 8b 54 24 38       	mov    0x38(%rsp),%r10
1400228c4:	44 8b 44 24 30       	mov    0x30(%rsp),%r8d
1400228c9:	44 8b 5c 24 2c       	mov    0x2c(%rsp),%r11d
1400228ce:	e9 50 fe ff ff       	jmp    0x140022723
1400228d3:	bb 09 00 00 00       	mov    $0x9,%ebx
1400228d8:	44 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%r13d
1400228df:	00
1400228e0:	44 8b 9c 24 90 00 00 	mov    0x90(%rsp),%r11d
1400228e7:	00
1400228e8:	45 8b d4             	mov    %r12d,%r10d
1400228eb:	8b c3                	mov    %ebx,%eax
1400228ed:	45 2b d1             	sub    %r9d,%r10d
1400228f0:	f7 d8                	neg    %eax
1400228f2:	1b c9                	sbb    %ecx,%ecx
1400228f4:	45 33 c0             	xor    %r8d,%r8d
1400228f7:	41 23 cf             	and    %r15d,%ecx
1400228fa:	44 8b c9             	mov    %ecx,%r9d
1400228fd:	41 3b da             	cmp    %r10d,%ebx
140022900:	0f 86 c8 00 00 00    	jbe    0x1400229ce
140022906:	41 2b da             	sub    %r10d,%ebx
140022909:	0f 84 bf 00 00 00    	je     0x1400229ce
14002290f:	8b cb                	mov    %ebx,%ecx
140022911:	45 8b c1             	mov    %r9d,%r8d
140022914:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140022919:	41 f7 e1             	mul    %r9d
14002291c:	c1 ea 03             	shr    $0x3,%edx
14002291f:	44 8b ca             	mov    %edx,%r9d
140022922:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140022925:	03 c0                	add    %eax,%eax
140022927:	44 2b c0             	sub    %eax,%r8d
14002292a:	49 2b ce             	sub    %r14,%rcx
14002292d:	75 e2                	jne    0x140022911
14002292f:	41 83 f8 05          	cmp    $0x5,%r8d
140022933:	0f 85 95 00 00 00    	jne    0x1400229ce
140022939:	45 2b e5             	sub    %r13d,%r12d
14002293c:	43 8d 0c 1c          	lea    (%r12,%r11,1),%ecx
140022940:	f7 d9                	neg    %ecx
140022942:	85 c9                	test   %ecx,%ecx
140022944:	7e 30                	jle    0x140022976
140022946:	83 f9 3c             	cmp    $0x3c,%ecx
140022949:	7d 22                	jge    0x14002296d
14002294b:	49 8b c6             	mov    %r14,%rax
14002294e:	48 d3 e0             	shl    %cl,%rax
140022951:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140022956:	49 2b c6             	sub    %r14,%rax
140022959:	48 85 c1             	test   %rax,%rcx
14002295c:	74 1d                	je     0x14002297b
14002295e:	eb 12                	jmp    0x140022972
140022960:	44 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%r13d
140022967:	00
140022968:	e9 7b ff ff ff       	jmp    0x1400228e8
14002296d:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140022972:	32 c0                	xor    %al,%al
140022974:	eb 08                	jmp    0x14002297e
140022976:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14002297b:	41 8a c6             	mov    %r14b,%al
14002297e:	45 85 e4             	test   %r12d,%r12d
140022981:	79 43                	jns    0x1400229c6
140022983:	41 f7 dc             	neg    %r12d
140022986:	84 c0                	test   %al,%al
140022988:	74 3a                	je     0x1400229c4
14002298a:	48 bb cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rbx
140022991:	cc cc cc
140022994:	45 33 db             	xor    %r11d,%r11d
140022997:	48 8b c3             	mov    %rbx,%rax
14002299a:	48 f7 e1             	mul    %rcx
14002299d:	eb 0c                	jmp    0x1400229ab
14002299f:	45 03 de             	add    %r14d,%r11d
1400229a2:	48 8b c3             	mov    %rbx,%rax
1400229a5:	49 f7 e0             	mul    %r8
1400229a8:	49 8b c8             	mov    %r8,%rcx
1400229ab:	4c 8b c2             	mov    %rdx,%r8
1400229ae:	49 c1 e8 02          	shr    $0x2,%r8
1400229b2:	43 8d 04 80          	lea    (%r8,%r8,4),%eax
1400229b6:	3b c8                	cmp    %eax,%ecx
1400229b8:	74 e5                	je     0x14002299f
1400229ba:	45 3b dc             	cmp    %r12d,%r11d
1400229bd:	72 05                	jb     0x1400229c4
1400229bf:	41 8a c6             	mov    %r14b,%al
1400229c2:	eb 02                	jmp    0x1400229c6
1400229c4:	32 c0                	xor    %al,%al
1400229c6:	0f b6 d8             	movzbl %al,%ebx
1400229c9:	41 03 de             	add    %r14d,%ebx
1400229cc:	eb 09                	jmp    0x1400229d7
1400229ce:	33 db                	xor    %ebx,%ebx
1400229d0:	41 83 f8 05          	cmp    $0x5,%r8d
1400229d4:	0f 97 c3             	seta   %bl
1400229d7:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
1400229de:	00
1400229df:	74 3b                	je     0x140022a1c
1400229e1:	48 8b c5             	mov    %rbp,%rax
1400229e4:	45 8b fa             	mov    %r10d,%r15d
1400229e7:	48 2b c6             	sub    %rsi,%rax
1400229ea:	49 3b c7             	cmp    %r15,%rax
1400229ed:	0f 8c df f9 ff ff    	jl     0x1400223d2
1400229f3:	45 85 c9             	test   %r9d,%r9d
1400229f6:	75 11                	jne    0x140022a09
1400229f8:	45 8b c7             	mov    %r15d,%r8d
1400229fb:	41 8d 51 30          	lea    0x30(%r9),%edx
1400229ff:	48 8b ce             	mov    %rsi,%rcx
140022a02:	e8 fb 2f 1e 00       	call   0x140205a02
140022a07:	eb 53                	jmp    0x140022a5c
140022a09:	0f ae e8             	lfence
140022a0c:	4c 8b c6             	mov    %rsi,%r8
140022a0f:	41 8b d1             	mov    %r9d,%edx
140022a12:	41 8b ca             	mov    %r10d,%ecx
140022a15:	e8 ea f7 ff ff       	call   0x140022204
140022a1a:	eb 40                	jmp    0x140022a5c
140022a1c:	83 7c 24 28 00       	cmpl   $0x0,0x28(%rsp)
140022a21:	76 26                	jbe    0x140022a49
140022a23:	48 8b c5             	mov    %rbp,%rax
140022a26:	45 8d 7a 01          	lea    0x1(%r10),%r15d
140022a2a:	48 2b c6             	sub    %rsi,%rax
140022a2d:	49 3b c7             	cmp    %r15,%rax
140022a30:	0f 8c 9c f9 ff ff    	jl     0x1400223d2
140022a36:	0f ae e8             	lfence
140022a39:	4c 8b c6             	mov    %rsi,%r8
140022a3c:	41 8b d1             	mov    %r9d,%edx
140022a3f:	41 8b ca             	mov    %r10d,%ecx
140022a42:	e8 55 f8 ff ff       	call   0x14002229c
140022a47:	eb 13                	jmp    0x140022a5c
140022a49:	48 3b f5             	cmp    %rbp,%rsi
140022a4c:	0f 84 80 f9 ff ff    	je     0x1400223d2
140022a52:	41 80 c1 30          	add    $0x30,%r9b
140022a56:	4d 8b fe             	mov    %r14,%r15
140022a59:	44 88 0e             	mov    %r9b,(%rsi)
140022a5c:	4a 8d 14 3e          	lea    (%rsi,%r15,1),%rdx
140022a60:	85 db                	test   %ebx,%ebx
140022a62:	74 31                	je     0x140022a95
140022a64:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140022a69:	48 8b c2             	mov    %rdx,%rax
140022a6c:	49 3b d0             	cmp    %r8,%rdx
140022a6f:	74 1e                	je     0x140022a8f
140022a71:	49 2b c6             	sub    %r14,%rax
140022a74:	8a 08                	mov    (%rax),%cl
140022a76:	80 f9 2e             	cmp    $0x2e,%cl
140022a79:	74 0f                	je     0x140022a8a
140022a7b:	80 f9 39             	cmp    $0x39,%cl
140022a7e:	0f 85 9b 00 00 00    	jne    0x140022b1f
140022a84:	c6 00 30             	movb   $0x30,(%rax)
140022a87:	41 8b de             	mov    %r14d,%ebx
140022a8a:	49 3b c0             	cmp    %r8,%rax
140022a8d:	75 e2                	jne    0x140022a71
140022a8f:	c6 00 31             	movb   $0x31,(%rax)
140022a92:	45 03 ee             	add    %r14d,%r13d
140022a95:	45 8b c5             	mov    %r13d,%r8d
140022a98:	48 8b c5             	mov    %rbp,%rax
140022a9b:	41 f7 d8             	neg    %r8d
140022a9e:	45 0f 48 c5          	cmovs  %r13d,%r8d
140022aa2:	33 c9                	xor    %ecx,%ecx
140022aa4:	41 83 f8 64          	cmp    $0x64,%r8d
140022aa8:	0f 9d c1             	setge  %cl
140022aab:	48 2b c2             	sub    %rdx,%rax
140022aae:	48 83 c1 04          	add    $0x4,%rcx
140022ab2:	48 3b c1             	cmp    %rcx,%rax
140022ab5:	0f 8c 17 f9 ff ff    	jl     0x1400223d2
140022abb:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
140022abf:	c6 02 65             	movb   $0x65,(%rdx)
140022ac2:	b8 2d 00 00 00       	mov    $0x2d,%eax
140022ac7:	4c 8d 15 32 d5 fd ff 	lea    -0x22ace(%rip),%r10        # 0x140000000
140022ace:	45 85 ed             	test   %r13d,%r13d
140022ad1:	8d 50 fe             	lea    -0x2(%rax),%edx
140022ad4:	0f 49 c2             	cmovns %edx,%eax
140022ad7:	88 01                	mov    %al,(%rcx)
140022ad9:	49 03 ce             	add    %r14,%rcx
140022adc:	41 83 f8 64          	cmp    $0x64,%r8d
140022ae0:	7c 55                	jl     0x140022b37
140022ae2:	b8 67 66 66 66       	mov    $0x66666667,%eax
140022ae7:	41 f7 e8             	imul   %r8d
140022aea:	c1 fa 02             	sar    $0x2,%edx
140022aed:	8b c2                	mov    %edx,%eax
140022aef:	c1 e8 1f             	shr    $0x1f,%eax
140022af2:	03 d0                	add    %eax,%edx
140022af4:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
140022af7:	48 98                	cltq
140022af9:	42 0f b7 84 10 f0 fd 	movzwl 0x24fdf0(%rax,%r10,1),%eax
140022b00:	24 00
140022b02:	66 89 01             	mov    %ax,(%rcx)
140022b05:	8a c2                	mov    %dl,%al
140022b07:	c0 e2 02             	shl    $0x2,%dl
140022b0a:	02 c2                	add    %dl,%al
140022b0c:	02 c0                	add    %al,%al
140022b0e:	44 2a c0             	sub    %al,%r8b
140022b11:	41 80 c0 30          	add    $0x30,%r8b