140162575:	4c 8d 25 24 9b 1d 00 	lea    0x1d9b24(%rip),%r12        # 0x14033c0a0
14016257c:	0f 1f 40 00          	nopl   0x0(%rax)
140162580:	3c 80                	cmp    $0x80,%al
140162582:	73 2b                	jae    0x1401625af
140162584:	0f b6 c0             	movzbl %al,%eax
140162587:	42 0f b6 0c 20       	movzbl (%rax,%r12,1),%ecx
14016258c:	0f ba e1 02          	bt     $0x2,%ecx
140162590:	73 1d                	jae    0x1401625af
140162592:	81 fa 80 00 00 00    	cmp    $0x80,%edx
140162598:	7d 0c                	jge    0x1401625a6
14016259a:	0f be 03             	movsbl (%rbx),%eax
14016259d:	8d 14 92             	lea    (%rdx,%rdx,4),%edx
1401625a0:	8d 52 e8             	lea    -0x18(%rdx),%edx
1401625a3:	8d 14 50             	lea    (%rax,%rdx,2),%edx
1401625a6:	0f b6 43 01          	movzbl 0x1(%rbx),%eax
1401625aa:	48 ff c3             	inc    %rbx
1401625ad:	eb d1                	jmp    0x140162580
1401625af:	4c 8b 64 24 38       	mov    0x38(%rsp),%r12
1401625b4:	81 fa 80 00 00 00    	cmp    $0x80,%edx
1401625ba:	7f 0d                	jg     0x1401625c9
1401625bc:	80 3b 24             	cmpb   $0x24,(%rbx)
1401625bf:	75 08                	jne    0x1401625c9
1401625c1:	85 d2                	test   %edx,%edx
1401625c3:	74 04                	je     0x1401625c9
1401625c5:	ff ca                	dec    %edx
1401625c7:	eb 03                	jmp    0x1401625cc
1401625c9:	41 8b d6             	mov    %r14d,%edx
1401625cc:	48 63 c2             	movslq %edx,%rax
1401625cf:	45 8d 4e 01          	lea    0x1(%r14),%r9d
1401625d3:	4c 8d 34 40          	lea    (%rax,%rax,2),%r14
1401625d7:	42 8b 74 f4 64       	mov    0x64(%rsp,%r14,8),%esi
1401625dc:	4e 63 54 f4 68       	movslq 0x68(%rsp,%r14,8),%r10
1401625e1:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
1401625e6:	0f ba e6 0e          	bt     $0xe,%esi
1401625ea:	73 1c                	jae    0x140162608
1401625ec:	4b 8d 0c 52          	lea    (%r10,%r10,2),%rcx
1401625f0:	8b 5c cc 70          	mov    0x70(%rsp,%rcx,8),%ebx
1401625f4:	85 db                	test   %ebx,%ebx
1401625f6:	79 18                	jns    0x140162610
1401625f8:	f7 db                	neg    %ebx
1401625fa:	0f ba f6 08          	btr    $0x8,%esi
1401625fe:	83 ce 04             	or     $0x4,%esi
140162601:	42 89 74 f4 64       	mov    %esi,0x64(%rsp,%r14,8)
140162606:	eb 08                	jmp    0x140162610
140162608:	44 8b 4c 24 20       	mov    0x20(%rsp),%r9d
14016260d:	41 8b da             	mov    %r10d,%ebx
140162610:	44 8b de             	mov    %esi,%r11d
140162613:	41 8d 51 01          	lea    0x1(%r9),%edx
140162617:	41 81 e3 00 00 01 00 	and    $0x10000,%r11d
14016261e:	74 17                	je     0x140162637
140162620:	4a 63 44 f4 6c       	movslq 0x6c(%rsp,%r14,8),%rax
140162625:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140162629:	44 8b 44 cc 70       	mov    0x70(%rsp,%rcx,8),%r8d
14016262e:	45 85 c0             	test   %r8d,%r8d
140162631:	45 0f 48 c5          	cmovs  %r13d,%r8d
140162635:	eb 13                	jmp    0x14016264a
140162637:	41 8b d1             	mov    %r9d,%edx
14016263a:	0f ba e6 0f          	bt     $0xf,%esi
14016263e:	73 07                	jae    0x140162647
140162640:	46 8b 44 f4 6c       	mov    0x6c(%rsp,%r14,8),%r8d
140162645:	eb 03                	jmp    0x14016264a
140162647:	45 8b c5             	mov    %r13d,%r8d
14016264a:	4d 8b ce             	mov    %r14,%r9
14016264d:	44 8b ee             	mov    %esi,%r13d
140162650:	44 8d 72 01          	lea    0x1(%rdx),%r14d
140162654:	41 c1 ed 03          	shr    $0x3,%r13d
140162658:	8b d6                	mov    %esi,%edx
14016265a:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
14016265f:	81 e2 00 80 00 00    	and    $0x8000,%edx
140162665:	41 83 e5 01          	and    $0x1,%r13d
140162669:	42 8b 4c cc 60       	mov    0x60(%rsp,%r9,8),%ecx
14016266e:	83 e9 01             	sub    $0x1,%ecx
140162671:	0f 84 7a 06 00 00    	je     0x140162cf1
140162677:	83 e9 01             	sub    $0x1,%ecx
14016267a:	0f 84 cb 03 00 00    	je     0x140162a4b
140162680:	83 e9 01             	sub    $0x1,%ecx
140162683:	0f 84 76 02 00 00    	je     0x1401628ff
140162689:	49 c7 c5 ff ff ff ff 	mov    $0xffffffffffffffff,%r13
140162690:	83 e9 01             	sub    $0x1,%ecx
140162693:	0f 84 2e 02 00 00    	je     0x1401628c7
140162699:	83 f9 03             	cmp    $0x3,%ecx
14016269c:	0f 85 8c 07 00 00    	jne    0x140162e2e
1401626a2:	b8 25 00 00 00       	mov    $0x25,%eax
1401626a7:	48 8d 8d 60 0f 00 00 	lea    0xf60(%rbp),%rcx
1401626ae:	66 89 85 60 0f 00 00 	mov    %ax,0xf60(%rbp)
1401626b5:	0f 57 c0             	xorps  %xmm0,%xmm0
1401626b8:	33 c0                	xor    %eax,%eax
1401626ba:	48 89 85 72 0f 00 00 	mov    %rax,0xf72(%rbp)
1401626c1:	89 85 7a 0f 00 00    	mov    %eax,0xf7a(%rbp)
1401626c7:	66 89 85 7e 0f 00 00 	mov    %ax,0xf7e(%rbp)
1401626ce:	49 8b c5             	mov    %r13,%rax
1401626d1:	0f 11 85 62 0f 00 00 	movups %xmm0,0xf62(%rbp)
1401626d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401626df:	00
1401626e0:	48 ff c0             	inc    %rax
1401626e3:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1)
1401626e7:	75 f7                	jne    0x1401626e0
1401626e9:	41 bc 20 00 00 00    	mov    $0x20,%r12d
1401626ef:	45 8b f5             	mov    %r13d,%r14d
1401626f2:	4c 2b e0             	sub    %rax,%r12
1401626f5:	0f ba e6 0d          	bt     $0xd,%esi
1401626f9:	73 05                	jae    0x140162700
1401626fb:	45 8b f2             	mov    %r10d,%r14d
1401626fe:	eb 0f                	jmp    0x14016270f
140162700:	0f ba e6 0e          	bt     $0xe,%esi
140162704:	73 09                	jae    0x14016270f
140162706:	4b 8d 0c 52          	lea    (%r10,%r10,2),%rcx
14016270a:	44 8b 74 cc 70       	mov    0x70(%rsp,%rcx,8),%r14d
14016270f:	45 8b fd             	mov    %r13d,%r15d
140162712:	85 d2                	test   %edx,%edx
140162714:	74 07                	je     0x14016271d
140162716:	46 8b 7c cc 6c       	mov    0x6c(%rsp,%r9,8),%r15d
14016271b:	eb 13                	jmp    0x140162730
14016271d:	45 85 db             	test   %r11d,%r11d
140162720:	74 0e                	je     0x140162730
140162722:	4a 63 44 cc 6c       	movslq 0x6c(%rsp,%r9,8),%rax
140162727:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
14016272b:	44 8b 7c cc 70       	mov    0x70(%rsp,%rcx,8),%r15d
140162730:	8b c6                	mov    %esi,%eax
140162732:	83 e0 04             	and    $0x4,%eax
140162735:	74 07                	je     0x14016273e
140162737:	c6 85 61 0f 00 00 2d 	movb   $0x2d,0xf61(%rbp)
14016273e:	85 c0                	test   %eax,%eax
140162740:	48 8d 9d 61 0f 00 00 	lea    0xf61(%rbp),%rbx
140162747:	48 8d 8d 62 0f 00 00 	lea    0xf62(%rbp),%rcx
14016274e:	48 0f 45 d9          	cmovne %rcx,%rbx
140162752:	40 f6 c6 02          	test   $0x2,%sil
140162756:	74 06                	je     0x14016275e
140162758:	c6 03 2b             	movb   $0x2b,(%rbx)
14016275b:	48 ff c3             	inc    %rbx
14016275e:	40 f6 c6 01          	test   $0x1,%sil
140162762:	74 06                	je     0x14016276a
140162764:	c6 03 20             	movb   $0x20,(%rbx)
140162767:	48 ff c3             	inc    %rbx
14016276a:	40 f6 c6 08          	test   $0x8,%sil
14016276e:	74 06                	je     0x140162776
140162770:	c6 03 23             	movb   $0x23,(%rbx)
140162773:	48 ff c3             	inc    %rbx
140162776:	c6 03 00             	movb   $0x0,(%rbx)
140162779:	45 85 f6             	test   %r14d,%r14d
14016277c:	78 33                	js     0x1401627b1
14016277e:	b8 45 01 00 00       	mov    $0x145,%eax
140162783:	4c 8d 05 f2 b0 1d 00 	lea    0x1db0f2(%rip),%r8        # 0x14033d87c
14016278a:	41 81 fe 46 01 00 00 	cmp    $0x146,%r14d
140162791:	49 8b d4             	mov    %r12,%rdx
140162794:	48 8b cb             	mov    %rbx,%rcx
140162797:	44 0f 4d f0          	cmovge %eax,%r14d
14016279b:	45 8b ce             	mov    %r14d,%r9d
14016279e:	e8 3d ae ff ff       	call   0x14015d5e0
1401627a3:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
1401627a8:	48 63 c8             	movslq %eax,%rcx
1401627ab:	48 03 d9             	add    %rcx,%rbx
1401627ae:	4c 2b e1             	sub    %rcx,%r12
1401627b1:	45 85 ff             	test   %r15d,%r15d
1401627b4:	78 67                	js     0x14016281d
1401627b6:	f2 42 0f 10 44 cc 70 	movsd  0x70(%rsp,%r9,8),%xmm0
1401627bd:	b9 44 01 00 00       	mov    $0x144,%ecx
1401627c2:	45 85 f6             	test   %r14d,%r14d
1401627c5:	7e 0b                	jle    0x1401627d2
1401627c7:	45 3b fe             	cmp    %r14d,%r15d
1401627ca:	7f 06                	jg     0x1401627d2
1401627cc:	49 63 c6             	movslq %r14d,%rax
1401627cf:	48 2b c8             	sub    %rax,%rcx
1401627d2:	66 0f 2f c6          	comisd %xmm6,%xmm0
1401627d6:	72 1a                	jb     0x1401627f2
1401627d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401627df:	00
1401627e0:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
1401627e4:	48 ff c9             	dec    %rcx
1401627e7:	66 0f 2f c6          	comisd %xmm6,%xmm0
1401627eb:	73 f3                	jae    0x1401627e0
1401627ed:	42 8b 74 cc 64       	mov    0x64(%rsp,%r9,8),%esi
1401627f2:	44 3b f9             	cmp    %ecx,%r15d
1401627f5:	7e 04                	jle    0x1401627fb
1401627f7:	44 8d 79 ff          	lea    -0x1(%rcx),%r15d
1401627fb:	45 33 c9             	xor    %r9d,%r9d
1401627fe:	4c 8d 05 7b b0 1d 00 	lea    0x1db07b(%rip),%r8        # 0x14033d880
140162805:	45 85 ff             	test   %r15d,%r15d
140162808:	49 8b d4             	mov    %r12,%rdx
14016280b:	48 8b cb             	mov    %rbx,%rcx
14016280e:	45 0f 49 cf          	cmovns %r15d,%r9d
140162812:	e8 c9 ad ff ff       	call   0x14015d5e0
140162817:	48 63 c8             	movslq %eax,%rcx
14016281a:	48 03 d9             	add    %rcx,%rbx
14016281d:	40 f6 c6 20          	test   $0x20,%sil
140162821:	74 06                	je     0x140162829
140162823:	c6 03 6c             	movb   $0x6c,(%rbx)
140162826:	48 ff c3             	inc    %rbx
140162829:	0f ba e6 12          	bt     $0x12,%esi
14016282d:	73 10                	jae    0x14016283f
14016282f:	c1 ee 07             	shr    $0x7,%esi
140162832:	40 f6 d6             	not    %sil
140162835:	40 80 e6 20          	and    $0x20,%sil
140162839:	40 80 ce 45          	or     $0x45,%sil
14016283d:	eb 19                	jmp    0x140162858
14016283f:	0f ba e6 13          	bt     $0x13,%esi
140162843:	73 10                	jae    0x140162855
140162845:	c1 ee 07             	shr    $0x7,%esi
140162848:	40 f6 d6             	not    %sil
14016284b:	40 80 e6 20          	and    $0x20,%sil
14016284f:	40 80 ce 47          	or     $0x47,%sil
140162853:	eb 03                	jmp    0x140162858
140162855:	40 b6 66             	mov    $0x66,%sil
140162858:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
14016285d:	48 8d 95 60 0f 00 00 	lea    0xf60(%rbp),%rdx
140162864:	40 88 33             	mov    %sil,(%rbx)
140162867:	48 8d 8d 80 0f 00 00 	lea    0xf80(%rbp),%rcx
14016286e:	c6 43 01 00          	movb   $0x0,0x1(%rbx)
140162872:	f2 42 0f 10 54 f4 70 	movsd  0x70(%rsp,%r14,8),%xmm2
140162879:	66 49 0f 7e d0       	movq   %xmm2,%r8
14016287e:	e8 8d 33 f6 ff       	call   0x1400c5c10
140162883:	0f b6 85 80 0f 00 00 	movzbl 0xf80(%rbp),%eax
14016288a:	48 8d 9d 80 0f 00 00 	lea    0xf80(%rbp),%rbx
140162891:	4c 8b 64 24 38       	mov    0x38(%rsp),%r12
140162896:	4c 8b 7c 24 28       	mov    0x28(%rsp),%r15
14016289b:	84 c0                	test   %al,%al
14016289d:	0f 84 86 05 00 00    	je     0x140162e29
1401628a3:	0f b6 c8             	movzbl %al,%ecx
1401628a6:	49 8b d4             	mov    %r12,%rdx
1401628a9:	41 ff d7             	call   *%r15
1401628ac:	41 3b c5             	cmp    %r13d,%eax
1401628af:	0f 84 95 05 00 00    	je     0x140162e4a
1401628b5:	0f b6 43 01          	movzbl 0x1(%rbx),%eax
1401628b9:	48 ff c3             	inc    %rbx
1401628bc:	ff c7                	inc    %edi
1401628be:	84 c0                	test   %al,%al
1401628c0:	75 e1                	jne    0x1401628a3
1401628c2:	e9 62 05 00 00       	jmp    0x140162e29
1401628c7:	4a 8b 44 cc 70       	mov    0x70(%rsp,%r9,8),%rax
1401628cc:	40 f6 c6 40          	test   $0x40,%sil
1401628d0:	74 0b                	je     0x1401628dd
1401628d2:	48 63 cf             	movslq %edi,%rcx
1401628d5:	48 89 08             	mov    %rcx,(%rax)
1401628d8:	e9 51 05 00 00       	jmp    0x140162e2e
1401628dd:	40 f6 c6 20          	test   $0x20,%sil
1401628e1:	74 07                	je     0x1401628ea
1401628e3:	89 38                	mov    %edi,(%rax)
1401628e5:	e9 44 05 00 00       	jmp    0x140162e2e
1401628ea:	40 f6 c6 10          	test   $0x10,%sil
1401628ee:	75 07                	jne    0x1401628f7
1401628f0:	89 38                	mov    %edi,(%rax)
1401628f2:	e9 37 05 00 00       	jmp    0x140162e2e
1401628f7:	66 89 38             	mov    %di,(%rax)
1401628fa:	e9 2f 05 00 00       	jmp    0x140162e2e
1401628ff:	4e 8b 74 cc 70       	mov    0x70(%rsp,%r9,8),%r14
140162904:	0f ba e6 11          	bt     $0x11,%esi
140162908:	73 77                	jae    0x140162981
14016290a:	83 e6 04             	and    $0x4,%esi
14016290d:	75 22                	jne    0x140162931
14016290f:	ff cb                	dec    %ebx
140162911:	85 db                	test   %ebx,%ebx
140162913:	7e 1c                	jle    0x140162931
140162915:	49 8b d4             	mov    %r12,%rdx
140162918:	b9 20 00 00 00       	mov    $0x20,%ecx
14016291d:	41 ff d7             	call   *%r15
140162920:	83 f8 ff             	cmp    $0xffffffff,%eax
140162923:	0f 84 21 05 00 00    	je     0x140162e4a
140162929:	ff c7                	inc    %edi
14016292b:	ff cb                	dec    %ebx
14016292d:	85 db                	test   %ebx,%ebx
14016292f:	7f e4                	jg     0x140162915
140162931:	41 0f b6 ce          	movzbl %r14b,%ecx
140162935:	49 8b d4             	mov    %r12,%rdx
140162938:	41 ff d7             	call   *%r15
14016293b:	83 f8 ff             	cmp    $0xffffffff,%eax
14016293e:	0f 84 06 05 00 00    	je     0x140162e4a
140162944:	ff c7                	inc    %edi
140162946:	85 f6                	test   %esi,%esi
140162948:	0f 84 d4 04 00 00    	je     0x140162e22
14016294e:	ff cb                	dec    %ebx
140162950:	85 db                	test   %ebx,%ebx
140162952:	0f 8e ca 04 00 00    	jle    0x140162e22
140162958:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14016295f:	00
140162960:	49 8b d4             	mov    %r12,%rdx
140162963:	b9 20 00 00 00       	mov    $0x20,%ecx
140162968:	41 ff d7             	call   *%r15
14016296b:	83 f8 ff             	cmp    $0xffffffff,%eax
14016296e:	0f 84 d6 04 00 00    	je     0x140162e4a
140162974:	ff c7                	inc    %edi
140162976:	ff cb                	dec    %ebx
140162978:	85 db                	test   %ebx,%ebx
14016297a:	7f e4                	jg     0x140162960
14016297c:	e9 a1 04 00 00       	jmp    0x140162e22
140162981:	0f ba e6 0a          	bt     $0xa,%esi
140162985:	73 08                	jae    0x14016298f
140162987:	41 bc 08 00 00 00    	mov    $0x8,%r12d
14016298d:	eb 35                	jmp    0x1401629c4
14016298f:	0f ba e6 0b          	bt     $0xb,%esi
140162993:	73 23                	jae    0x1401629b8
140162995:	0f ba e6 0c          	bt     $0xc,%esi
140162999:	48 8d 05 98 56 1d 00 	lea    0x1d5698(%rip),%rax        # 0x140338038
1401629a0:	48 8d 0d b9 56 1d 00 	lea    0x1d56b9(%rip),%rcx        # 0x140338060
1401629a7:	41 bc 10 00 00 00    	mov    $0x10,%r12d
1401629ad:	48 0f 42 c1          	cmovb  %rcx,%rax
1401629b1:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401629b6:	eb 0c                	jmp    0x1401629c4
1401629b8:	41 bc 0a 00 00 00    	mov    $0xa,%r12d
1401629be:	0f ba e6 09          	bt     $0x9,%esi
1401629c2:	73 73                	jae    0x140162a37
1401629c4:	45 33 ff             	xor    %r15d,%r15d
1401629c7:	4c 8b 54 24 40       	mov    0x40(%rsp),%r10
1401629cc:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
1401629d0:	48 8d b5 c4 10 00 00 	lea    0x10c4(%rbp),%rsi
1401629d7:	b8 01 00 00 00       	mov    $0x1,%eax
1401629dc:	44 0f 44 c0          	cmove  %eax,%r8d
1401629e0:	4d 85 f6             	test   %r14,%r14
1401629e3:	74 25                	je     0x140162a0a
1401629e5:	41 8b cc             	mov    %r12d,%ecx
1401629e8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401629ef:	00
1401629f0:	33 d2                	xor    %edx,%edx
1401629f2:	49 8b c6             	mov    %r14,%rax
1401629f5:	48 f7 f1             	div    %rcx
1401629f8:	4c 8b f0             	mov    %rax,%r14
1401629fb:	42 0f b6 04 12       	movzbl (%rdx,%r10,1),%eax
140162a00:	88 06                	mov    %al,(%rsi)
140162a02:	48 ff ce             	dec    %rsi
140162a05:	4d 85 f6             	test   %r14,%r14
140162a08:	75 e6                	jne    0x1401629f0
140162a0a:	48 8d 8d c4 10 00 00 	lea    0x10c4(%rbp),%rcx
140162a11:	8b c6                	mov    %esi,%eax
140162a13:	2b c1                	sub    %ecx,%eax
140162a15:	03 d8                	add    %eax,%ebx
140162a17:	44 03 c0             	add    %eax,%r8d
140162a1a:	45 85 ed             	test   %r13d,%r13d
140162a1d:	74 69                	je     0x140162a88
140162a1f:	41 83 fc 08          	cmp    $0x8,%r12d
140162a23:	75 63                	jne    0x140162a88
140162a25:	45 85 c0             	test   %r8d,%r8d
140162a28:	7f 63                	jg     0x140162a8d
140162a2a:	c6 06 30             	movb   $0x30,(%rsi)
140162a2d:	48 ff ce             	dec    %rsi
140162a30:	ff cb                	dec    %ebx
140162a32:	e9 81 00 00 00       	jmp    0x140162ab8
140162a37:	4d 8b fe             	mov    %r14,%r15
140162a3a:	49 c1 ef 3f          	shr    $0x3f,%r15
140162a3e:	45 85 ff             	test   %r15d,%r15d
140162a41:	74 84                	je     0x1401629c7
140162a43:	49 f7 de             	neg    %r14
140162a46:	e9 7c ff ff ff       	jmp    0x1401629c7
140162a4b:	4e 8b 74 cc 70       	mov    0x70(%rsp,%r9,8),%r14
140162a50:	4d 85 f6             	test   %r14,%r14
140162a53:	0f 84 08 02 00 00    	je     0x140162c61
140162a59:	0f ba e6 0c          	bt     $0xc,%esi
140162a5d:	4c 8d 15 d4 55 1d 00 	lea    0x1d55d4(%rip),%r10        # 0x140338038
140162a64:	48 8d 05 f5 55 1d 00 	lea    0x1d55f5(%rip),%rax        # 0x140338060
140162a6b:	41 bc 10 00 00 00    	mov    $0x10,%r12d
140162a71:	4c 0f 42 d0          	cmovb  %rax,%r10
140162a75:	41 bd 01 00 00 00    	mov    $0x1,%r13d