1401a8547:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
1401a854d:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1401a8553:	8b 48 0c             	mov    0xc(%rax),%ecx
1401a8556:	33 d2                	xor    %edx,%edx
1401a8558:	89 7c 24 28          	mov    %edi,0x28(%rsp)
1401a855c:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401a8561:	ff 15 01 5b 05 00    	call   *0x55b01(%rip)        # 0x1401fe068
1401a8567:	85 c0                	test   %eax,%eax
1401a8569:	74 19                	je     0x1401a8584
1401a856b:	83 7c 24 78 00       	cmpl   $0x0,0x78(%rsp)
1401a8570:	0f 85 6a ff ff ff    	jne    0x1401a84e0
1401a8576:	48 85 db             	test   %rbx,%rbx
1401a8579:	74 02                	je     0x1401a857d
1401a857b:	89 03                	mov    %eax,(%rbx)
1401a857d:	33 db                	xor    %ebx,%ebx
1401a857f:	e9 68 ff ff ff       	jmp    0x1401a84ec
1401a8584:	ff 15 3e 5d 05 00    	call   *0x55d3e(%rip)        # 0x1401fe2c8
1401a858a:	83 f8 7a             	cmp    $0x7a,%eax
1401a858d:	0f 85 4d ff ff ff    	jne    0x1401a84e0
1401a8593:	48 85 f6             	test   %rsi,%rsi
1401a8596:	74 12                	je     0x1401a85aa
1401a8598:	48 85 ff             	test   %rdi,%rdi
1401a859b:	74 0d                	je     0x1401a85aa
1401a859d:	4c 8b c7             	mov    %rdi,%r8
1401a85a0:	33 d2                	xor    %edx,%edx
1401a85a2:	48 8b ce             	mov    %rsi,%rcx
1401a85a5:	e8 c6 04 fe ff       	call   0x140188a70
1401a85aa:	e8 5d 79 fe ff       	call   0x14018ff0c
1401a85af:	bb 22 00 00 00       	mov    $0x22,%ebx
1401a85b4:	89 18                	mov    %ebx,(%rax)
1401a85b6:	e8 a9 2f fe ff       	call   0x14018b564
1401a85bb:	e9 2c ff ff ff       	jmp    0x1401a84ec
1401a85c0:	48 83 ec 38          	sub    $0x38,%rsp
1401a85c4:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1401a85ca:	e8 6d fe ff ff       	call   0x1401a843c
1401a85cf:	48 83 c4 38          	add    $0x38,%rsp
1401a85d3:	c3                   	ret
1401a85d4:	48 8b 11             	mov    (%rcx),%rdx
1401a85d7:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
1401a85dc:	48 8b c2             	mov    %rdx,%rax
1401a85df:	48 c1 e8 34          	shr    $0x34,%rax
1401a85e3:	48 23 c1             	and    %rcx,%rax
1401a85e6:	48 3b c1             	cmp    %rcx,%rax
1401a85e9:	74 03                	je     0x1401a85ee
1401a85eb:	33 c0                	xor    %eax,%eax
1401a85ed:	c3                   	ret
1401a85ee:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
1401a85f5:	ff 0f 00
1401a85f8:	48 8b c2             	mov    %rdx,%rax
1401a85fb:	48 23 c1             	and    %rcx,%rax
1401a85fe:	75 06                	jne    0x1401a8606
1401a8600:	b8 01 00 00 00       	mov    $0x1,%eax
1401a8605:	c3                   	ret
1401a8606:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
1401a860d:	00 00 80
1401a8610:	48 85 d1             	test   %rdx,%rcx
1401a8613:	74 15                	je     0x1401a862a
1401a8615:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
1401a861c:	00 08 00
1401a861f:	48 3b c1             	cmp    %rcx,%rax
1401a8622:	75 06                	jne    0x1401a862a
1401a8624:	b8 04 00 00 00       	mov    $0x4,%eax
1401a8629:	c3                   	ret
1401a862a:	48 c1 ea 33          	shr    $0x33,%rdx
1401a862e:	f7 d2                	not    %edx
1401a8630:	83 e2 01             	and    $0x1,%edx
1401a8633:	83 ca 02             	or     $0x2,%edx
1401a8636:	8b c2                	mov    %edx,%eax
1401a8638:	c3                   	ret
1401a8639:	cc                   	int3
1401a863a:	cc                   	int3
1401a863b:	cc                   	int3
1401a863c:	48 8b c4             	mov    %rsp,%rax
1401a863f:	48 89 58 08          	mov    %rbx,0x8(%rax)
1401a8643:	48 89 68 10          	mov    %rbp,0x10(%rax)
1401a8647:	48 89 70 18          	mov    %rsi,0x18(%rax)
1401a864b:	48 89 78 20          	mov    %rdi,0x20(%rax)
1401a864f:	41 54                	push   %r12
1401a8651:	41 56                	push   %r14
1401a8653:	41 57                	push   %r15
1401a8655:	48 83 ec 70          	sub    $0x70,%rsp
1401a8659:	8b 9c 24 b8 00 00 00 	mov    0xb8(%rsp),%ebx
1401a8660:	45 33 e4             	xor    %r12d,%r12d
1401a8663:	48 8b fa             	mov    %rdx,%rdi
1401a8666:	44 88 22             	mov    %r12b,(%rdx)
1401a8669:	48 8b 94 24 d0 00 00 	mov    0xd0(%rsp),%rdx
1401a8670:	00
1401a8671:	48 8b f1             	mov    %rcx,%rsi
1401a8674:	85 db                	test   %ebx,%ebx
1401a8676:	48 8d 48 c8          	lea    -0x38(%rax),%rcx
1401a867a:	4d 8b f1             	mov    %r9,%r14
1401a867d:	49 8b e8             	mov    %r8,%rbp
1401a8680:	41 0f 48 dc          	cmovs  %r12d,%ebx
1401a8684:	e8 17 36 fe ff       	call   0x14018bca0
1401a8689:	8d 43 0b             	lea    0xb(%rbx),%eax
1401a868c:	48 63 d0             	movslq %eax,%rdx
1401a868f:	48 3b ea             	cmp    %rdx,%rbp
1401a8692:	77 16                	ja     0x1401a86aa
1401a8694:	e8 73 78 fe ff       	call   0x14018ff0c
1401a8699:	41 8d 5c 24 22       	lea    0x22(%r12),%ebx
1401a869e:	89 18                	mov    %ebx,(%rax)
1401a86a0:	e8 bf 2e fe ff       	call   0x14018b564
1401a86a5:	e9 bb 02 00 00       	jmp    0x1401a8965
1401a86aa:	48 8b 06             	mov    (%rsi),%rax
1401a86ad:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
1401a86b2:	48 c1 e8 34          	shr    $0x34,%rax
1401a86b6:	48 23 c1             	and    %rcx,%rax
1401a86b9:	48 3b c1             	cmp    %rcx,%rax
1401a86bc:	75 77                	jne    0x1401a8735
1401a86be:	8b 84 24 c8 00 00 00 	mov    0xc8(%rsp),%eax
1401a86c5:	4d 8b ce             	mov    %r14,%r9
1401a86c8:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1401a86cd:	4c 8b c5             	mov    %rbp,%r8
1401a86d0:	89 44 24 38          	mov    %eax,0x38(%rsp)
1401a86d4:	48 8b d7             	mov    %rdi,%rdx
1401a86d7:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
1401a86de:	00
1401a86df:	48 8b ce             	mov    %rsi,%rcx
1401a86e2:	44 88 64 24 30       	mov    %r12b,0x30(%rsp)
1401a86e7:	89 5c 24 28          	mov    %ebx,0x28(%rsp)
1401a86eb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401a86f0:	e8 a7 02 00 00       	call   0x1401a899c
1401a86f5:	8b d8                	mov    %eax,%ebx
1401a86f7:	85 c0                	test   %eax,%eax
1401a86f9:	74 08                	je     0x1401a8703
1401a86fb:	44 88 27             	mov    %r12b,(%rdi)
1401a86fe:	e9 62 02 00 00       	jmp    0x1401a8965
1401a8703:	ba 65 00 00 00       	mov    $0x65,%edx
1401a8708:	48 8b cf             	mov    %rdi,%rcx
1401a870b:	e8 9c dd 00 00       	call   0x1401b64ac
1401a8710:	48 85 c0             	test   %rax,%rax
1401a8713:	0f 84 49 02 00 00    	je     0x1401a8962
1401a8719:	8a 8c 24 c0 00 00 00 	mov    0xc0(%rsp),%cl
1401a8720:	f6 d9                	neg    %cl
1401a8722:	1a d2                	sbb    %dl,%dl
1401a8724:	80 e2 e0             	and    $0xe0,%dl
1401a8727:	80 c2 70             	add    $0x70,%dl
1401a872a:	88 10                	mov    %dl,(%rax)
1401a872c:	44 88 60 03          	mov    %r12b,0x3(%rax)
1401a8730:	e9 2d 02 00 00       	jmp    0x1401a8962
1401a8735:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1401a873c:	00 00 80
1401a873f:	48 85 06             	test   %rax,(%rsi)
1401a8742:	74 06                	je     0x1401a874a
1401a8744:	c6 07 2d             	movb   $0x2d,(%rdi)
1401a8747:	48 ff c7             	inc    %rdi
1401a874a:	44 8a bc 24 c0 00 00 	mov    0xc0(%rsp),%r15b
1401a8751:	00
1401a8752:	bd ff 03 00 00       	mov    $0x3ff,%ebp
1401a8757:	41 8a c7             	mov    %r15b,%al
1401a875a:	41 ba 30 00 00 00    	mov    $0x30,%r10d
1401a8760:	f6 d8                	neg    %al
1401a8762:	49 bb ff ff ff ff ff 	movabs $0xfffffffffffff,%r11
1401a8769:	ff 0f 00
1401a876c:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
1401a8773:	00 f0 7f
1401a8776:	1b d2                	sbb    %edx,%edx
1401a8778:	83 e2 e0             	and    $0xffffffe0,%edx
1401a877b:	83 ea d9             	sub    $0xffffffd9,%edx
1401a877e:	48 85 06             	test   %rax,(%rsi)
1401a8781:	75 1a                	jne    0x1401a879d
1401a8783:	44 88 17             	mov    %r10b,(%rdi)
1401a8786:	48 ff c7             	inc    %rdi
1401a8789:	48 8b 06             	mov    (%rsi),%rax
1401a878c:	49 23 c3             	and    %r11,%rax
1401a878f:	48 f7 d8             	neg    %rax
1401a8792:	48 1b ed             	sbb    %rbp,%rbp
1401a8795:	81 e5 fe 03 00 00    	and    $0x3fe,%ebp
1401a879b:	eb 06                	jmp    0x1401a87a3
1401a879d:	c6 07 31             	movb   $0x31,(%rdi)
1401a87a0:	48 ff c7             	inc    %rdi
1401a87a3:	4c 8b f7             	mov    %rdi,%r14
1401a87a6:	48 ff c7             	inc    %rdi
1401a87a9:	85 db                	test   %ebx,%ebx
1401a87ab:	75 05                	jne    0x1401a87b2
1401a87ad:	45 88 26             	mov    %r12b,(%r14)
1401a87b0:	eb 14                	jmp    0x1401a87c6
1401a87b2:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1401a87b7:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
1401a87be:	48 8b 01             	mov    (%rcx),%rax
1401a87c1:	8a 08                	mov    (%rax),%cl
1401a87c3:	41 88 0e             	mov    %cl,(%r14)
1401a87c6:	4c 85 1e             	test   %r11,(%rsi)
1401a87c9:	0f 86 8a 00 00 00    	jbe    0x1401a8859
1401a87cf:	45 0f b7 c2          	movzwl %r10w,%r8d
1401a87d3:	49 b9 00 00 00 00 00 	movabs $0xf000000000000,%r9
1401a87da:	00 0f 00
1401a87dd:	85 db                	test   %ebx,%ebx
1401a87df:	7e 2e                	jle    0x1401a880f
1401a87e1:	48 8b 06             	mov    (%rsi),%rax
1401a87e4:	41 8a c8             	mov    %r8b,%cl
1401a87e7:	49 23 c1             	and    %r9,%rax
1401a87ea:	49 23 c3             	and    %r11,%rax
1401a87ed:	48 d3 e8             	shr    %cl,%rax
1401a87f0:	66 41 03 c2          	add    %r10w,%ax
1401a87f4:	66 83 f8 39          	cmp    $0x39,%ax
1401a87f8:	76 03                	jbe    0x1401a87fd
1401a87fa:	66 03 c2             	add    %dx,%ax
1401a87fd:	88 07                	mov    %al,(%rdi)
1401a87ff:	ff cb                	dec    %ebx
1401a8801:	48 ff c7             	inc    %rdi
1401a8804:	49 c1 e9 04          	shr    $0x4,%r9
1401a8808:	66 41 83 c0 fc       	add    $0xfffc,%r8w
1401a880d:	79 ce                	jns    0x1401a87dd
1401a880f:	66 45 85 c0          	test   %r8w,%r8w
1401a8813:	78 44                	js     0x1401a8859
1401a8815:	48 8b 06             	mov    (%rsi),%rax
1401a8818:	41 8a c8             	mov    %r8b,%cl
1401a881b:	49 23 c1             	and    %r9,%rax
1401a881e:	49 23 c3             	and    %r11,%rax
1401a8821:	48 d3 e8             	shr    %cl,%rax
1401a8824:	66 83 f8 08          	cmp    $0x8,%ax
1401a8828:	76 2f                	jbe    0x1401a8859
1401a882a:	48 8d 4f ff          	lea    -0x1(%rdi),%rcx
1401a882e:	8a 01                	mov    (%rcx),%al
1401a8830:	2c 46                	sub    $0x46,%al
1401a8832:	a8 df                	test   $0xdf,%al
1401a8834:	75 08                	jne    0x1401a883e
1401a8836:	44 88 11             	mov    %r10b,(%rcx)
1401a8839:	48 ff c9             	dec    %rcx
1401a883c:	eb f0                	jmp    0x1401a882e
1401a883e:	49 3b ce             	cmp    %r14,%rcx
1401a8841:	74 13                	je     0x1401a8856
1401a8843:	8a 01                	mov    (%rcx),%al
1401a8845:	3c 39                	cmp    $0x39,%al
1401a8847:	75 07                	jne    0x1401a8850
1401a8849:	80 c2 3a             	add    $0x3a,%dl
1401a884c:	88 11                	mov    %dl,(%rcx)
1401a884e:	eb 09                	jmp    0x1401a8859
1401a8850:	fe c0                	inc    %al
1401a8852:	88 01                	mov    %al,(%rcx)
1401a8854:	eb 03                	jmp    0x1401a8859
1401a8856:	fe 41 ff             	incb   -0x1(%rcx)
1401a8859:	85 db                	test   %ebx,%ebx
1401a885b:	7e 17                	jle    0x1401a8874
1401a885d:	4c 8b c3             	mov    %rbx,%r8
1401a8860:	41 8a d2             	mov    %r10b,%dl
1401a8863:	48 8b cf             	mov    %rdi,%rcx
1401a8866:	e8 05 02 fe ff       	call   0x140188a70
1401a886b:	48 03 fb             	add    %rbx,%rdi
1401a886e:	41 ba 30 00 00 00    	mov    $0x30,%r10d
1401a8874:	45 38 26             	cmp    %r12b,(%r14)
1401a8877:	49 0f 44 fe          	cmove  %r14,%rdi
1401a887b:	41 f6 df             	neg    %r15b
1401a887e:	1a c0                	sbb    %al,%al
1401a8880:	24 e0                	and    $0xe0,%al
1401a8882:	04 70                	add    $0x70,%al
1401a8884:	88 07                	mov    %al,(%rdi)
1401a8886:	48 8b 0e             	mov    (%rsi),%rcx
1401a8889:	48 c1 e9 34          	shr    $0x34,%rcx
1401a888d:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
1401a8893:	48 2b cd             	sub    %rbp,%rcx
1401a8896:	78 0a                	js     0x1401a88a2
1401a8898:	c6 47 01 2b          	movb   $0x2b,0x1(%rdi)
1401a889c:	48 83 c7 02          	add    $0x2,%rdi
1401a88a0:	eb 0b                	jmp    0x1401a88ad
1401a88a2:	c6 47 01 2d          	movb   $0x2d,0x1(%rdi)
1401a88a6:	48 83 c7 02          	add    $0x2,%rdi
1401a88aa:	48 f7 d9             	neg    %rcx
1401a88ad:	44 88 17             	mov    %r10b,(%rdi)
1401a88b0:	4c 8b c7             	mov    %rdi,%r8
1401a88b3:	48 81 f9 e8 03 00 00 	cmp    $0x3e8,%rcx
1401a88ba:	7c 33                	jl     0x1401a88ef
1401a88bc:	48 b8 cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%rax
1401a88c3:	9b c4 20
1401a88c6:	48 f7 e9             	imul   %rcx
1401a88c9:	48 c1 fa 07          	sar    $0x7,%rdx
1401a88cd:	48 8b c2             	mov    %rdx,%rax
1401a88d0:	48 c1 e8 3f          	shr    $0x3f,%rax
1401a88d4:	48 03 d0             	add    %rax,%rdx
1401a88d7:	41 8d 04 12          	lea    (%r10,%rdx,1),%eax
1401a88db:	88 07                	mov    %al,(%rdi)
1401a88dd:	48 ff c7             	inc    %rdi
1401a88e0:	48 69 c2 18 fc ff ff 	imul   $0xfffffffffffffc18,%rdx,%rax
1401a88e7:	48 03 c8             	add    %rax,%rcx
1401a88ea:	49 3b f8             	cmp    %r8,%rdi
1401a88ed:	75 06                	jne    0x1401a88f5
1401a88ef:	48 83 f9 64          	cmp    $0x64,%rcx
1401a88f3:	7c 2e                	jl     0x1401a8923
1401a88f5:	48 b8 0b d7 a3 70 3d 	movabs $0xa3d70a3d70a3d70b,%rax
1401a88fc:	0a d7 a3
1401a88ff:	48 f7 e9             	imul   %rcx
1401a8902:	48 03 d1             	add    %rcx,%rdx
1401a8905:	48 c1 fa 06          	sar    $0x6,%rdx
1401a8909:	48 8b c2             	mov    %rdx,%rax
1401a890c:	48 c1 e8 3f          	shr    $0x3f,%rax
1401a8910:	48 03 d0             	add    %rax,%rdx
1401a8913:	41 8d 04 12          	lea    (%r10,%rdx,1),%eax
1401a8917:	88 07                	mov    %al,(%rdi)
1401a8919:	48 ff c7             	inc    %rdi
1401a891c:	48 6b c2 9c          	imul   $0xffffffffffffff9c,%rdx,%rax
1401a8920:	48 03 c8             	add    %rax,%rcx
1401a8923:	49 3b f8             	cmp    %r8,%rdi
1401a8926:	75 06                	jne    0x1401a892e
1401a8928:	48 83 f9 0a          	cmp    $0xa,%rcx
1401a892c:	7c 2b                	jl     0x1401a8959
1401a892e:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1401a8935:	66 66 66
1401a8938:	48 f7 e9             	imul   %rcx
1401a893b:	48 c1 fa 02          	sar    $0x2,%rdx
1401a893f:	48 8b c2             	mov    %rdx,%rax
1401a8942:	48 c1 e8 3f          	shr    $0x3f,%rax
1401a8946:	48 03 d0             	add    %rax,%rdx
1401a8949:	41 8d 04 12          	lea    (%r10,%rdx,1),%eax
1401a894d:	88 07                	mov    %al,(%rdi)
1401a894f:	48 ff c7             	inc    %rdi
1401a8952:	48 6b c2 f6          	imul   $0xfffffffffffffff6,%rdx,%rax
1401a8956:	48 03 c8             	add    %rax,%rcx
1401a8959:	41 02 ca             	add    %r10b,%cl
1401a895c:	88 0f                	mov    %cl,(%rdi)
1401a895e:	44 88 67 01          	mov    %r12b,0x1(%rdi)
1401a8962:	41 8b dc             	mov    %r12d,%ebx
1401a8965:	44 38 64 24 68       	cmp    %r12b,0x68(%rsp)
1401a896a:	74 0c                	je     0x1401a8978
1401a896c:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1401a8971:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
1401a8978:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1401a897d:	8b c3                	mov    %ebx,%eax
1401a897f:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1401a8983:	49 8b 6b 28          	mov    0x28(%r11),%rbp
1401a8987:	49 8b 73 30          	mov    0x30(%r11),%rsi
1401a898b:	49 8b 7b 38          	mov    0x38(%r11),%rdi
1401a898f:	49 8b e3             	mov    %r11,%rsp
1401a8992:	41 5f                	pop    %r15
1401a8994:	41 5e                	pop    %r14
1401a8996:	41 5c                	pop    %r12
1401a8998:	c3                   	ret
1401a8999:	cc                   	int3
1401a899a:	cc                   	int3
1401a899b:	cc                   	int3
1401a899c:	4c 8b dc             	mov    %rsp,%r11
1401a899f:	49 89 5b 08          	mov    %rbx,0x8(%r11)
1401a89a3:	49 89 6b 10          	mov    %rbp,0x10(%r11)
1401a89a7:	49 89 73 18          	mov    %rsi,0x18(%r11)
1401a89ab:	57                   	push   %rdi
1401a89ac:	48 83 ec 50          	sub    $0x50,%rsp
1401a89b0:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1401a89b7:	00
1401a89b8:	49 8b f0             	mov    %r8,%rsi
1401a89bb:	8b ac 24 88 00 00 00 	mov    0x88(%rsp),%ebp
1401a89c2:	4d 8d 43 e8          	lea    -0x18(%r11),%r8
1401a89c6:	48 8b 09             	mov    (%rcx),%rcx
1401a89c9:	48 8b fa             	mov    %rdx,%rdi
1401a89cc:	49 89 43 c8          	mov    %rax,-0x38(%r11)
1401a89d0:	8d 55 01             	lea    0x1(%rbp),%edx
1401a89d3:	e8 6c 9c 00 00       	call   0x1401b2644
1401a89d8:	33 c9                	xor    %ecx,%ecx
1401a89da:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
1401a89df:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
1401a89e4:	44 8d 45 01          	lea    0x1(%rbp),%r8d