1401a55ab:	83 e1 3f             	and    $0x3f,%ecx
1401a55ae:	48 33 1d 43 81 17 00 	xor    0x178143(%rip),%rbx        # 0x14031d6f8
1401a55b5:	48 d3 cb             	ror    %cl,%rbx
1401a55b8:	8b 0f                	mov    (%rdi),%ecx
1401a55ba:	e8 dd 9e ff ff       	call   0x14019f49c
1401a55bf:	48 8b c3             	mov    %rbx,%rax
1401a55c2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401a55c7:	48 83 c4 20          	add    $0x20,%rsp
1401a55cb:	5f                   	pop    %rdi
1401a55cc:	c3                   	ret
1401a55cd:	cc                   	int3
1401a55ce:	cc                   	int3
1401a55cf:	cc                   	int3
1401a55d0:	4c 8b dc             	mov    %rsp,%r11
1401a55d3:	48 83 ec 28          	sub    $0x28,%rsp
1401a55d7:	b8 03 00 00 00       	mov    $0x3,%eax
1401a55dc:	4d 8d 4b 10          	lea    0x10(%r11),%r9
1401a55e0:	4d 8d 43 08          	lea    0x8(%r11),%r8
1401a55e4:	89 44 24 38          	mov    %eax,0x38(%rsp)
1401a55e8:	49 8d 53 18          	lea    0x18(%r11),%rdx
1401a55ec:	89 44 24 40          	mov    %eax,0x40(%rsp)
1401a55f0:	49 8d 4b 08          	lea    0x8(%r11),%rcx
1401a55f4:	e8 8f ff ff ff       	call   0x1401a5588
1401a55f9:	48 83 c4 28          	add    $0x28,%rsp
1401a55fd:	c3                   	ret
1401a55fe:	cc                   	int3
1401a55ff:	cc                   	int3
1401a5600:	48 89 0d e1 80 17 00 	mov    %rcx,0x1780e1(%rip)        # 0x14031d6e8
1401a5607:	48 89 0d e2 80 17 00 	mov    %rcx,0x1780e2(%rip)        # 0x14031d6f0
1401a560e:	48 89 0d e3 80 17 00 	mov    %rcx,0x1780e3(%rip)        # 0x14031d6f8
1401a5615:	48 89 0d e4 80 17 00 	mov    %rcx,0x1780e4(%rip)        # 0x14031d700
1401a561c:	c3                   	ret
1401a561d:	cc                   	int3
1401a561e:	cc                   	int3
1401a561f:	cc                   	int3
1401a5620:	48 8b c4             	mov    %rsp,%rax
1401a5623:	53                   	push   %rbx
1401a5624:	56                   	push   %rsi
1401a5625:	57                   	push   %rdi
1401a5626:	41 54                	push   %r12
1401a5628:	41 55                	push   %r13
1401a562a:	41 57                	push   %r15
1401a562c:	48 83 ec 48          	sub    $0x48,%rsp
1401a5630:	8b f9                	mov    %ecx,%edi
1401a5632:	45 33 ed             	xor    %r13d,%r13d
1401a5635:	44 21 68 18          	and    %r13d,0x18(%rax)
1401a5639:	40 b6 01             	mov    $0x1,%sil
1401a563c:	40 88 b4 24 80 00 00 	mov    %sil,0x80(%rsp)
1401a5643:	00
1401a5644:	83 f9 02             	cmp    $0x2,%ecx
1401a5647:	0f 84 8e 00 00 00    	je     0x1401a56db
1401a564d:	83 f9 04             	cmp    $0x4,%ecx
1401a5650:	74 22                	je     0x1401a5674
1401a5652:	83 f9 06             	cmp    $0x6,%ecx
1401a5655:	0f 84 80 00 00 00    	je     0x1401a56db
1401a565b:	83 f9 08             	cmp    $0x8,%ecx
1401a565e:	74 14                	je     0x1401a5674
1401a5660:	83 f9 0b             	cmp    $0xb,%ecx
1401a5663:	74 0f                	je     0x1401a5674
1401a5665:	83 f9 0f             	cmp    $0xf,%ecx
1401a5668:	74 71                	je     0x1401a56db
1401a566a:	8d 41 eb             	lea    -0x15(%rcx),%eax
1401a566d:	83 f8 01             	cmp    $0x1,%eax
1401a5670:	76 69                	jbe    0x1401a56db
1401a5672:	eb 44                	jmp    0x1401a56b8
1401a5674:	e8 0f fe ff ff       	call   0x1401a5488
1401a5679:	4c 8b e8             	mov    %rax,%r13
1401a567c:	48 85 c0             	test   %rax,%rax
1401a567f:	75 08                	jne    0x1401a5689
1401a5681:	83 c8 ff             	or     $0xffffffff,%eax
1401a5684:	e9 22 02 00 00       	jmp    0x1401a58ab
1401a5689:	48 8b 08             	mov    (%rax),%rcx
1401a568c:	48 8b 15 0d f9 07 00 	mov    0x7f90d(%rip),%rdx        # 0x140224fa0
1401a5693:	48 c1 e2 04          	shl    $0x4,%rdx
1401a5697:	48 03 d1             	add    %rcx,%rdx
1401a569a:	eb 09                	jmp    0x1401a56a5
1401a569c:	39 79 04             	cmp    %edi,0x4(%rcx)
1401a569f:	74 0b                	je     0x1401a56ac
1401a56a1:	48 83 c1 10          	add    $0x10,%rcx
1401a56a5:	48 3b ca             	cmp    %rdx,%rcx
1401a56a8:	75 f2                	jne    0x1401a569c
1401a56aa:	33 c9                	xor    %ecx,%ecx
1401a56ac:	33 c0                	xor    %eax,%eax
1401a56ae:	48 85 c9             	test   %rcx,%rcx
1401a56b1:	0f 95 c0             	setne  %al
1401a56b4:	85 c0                	test   %eax,%eax
1401a56b6:	75 12                	jne    0x1401a56ca
1401a56b8:	e8 4f a8 fe ff       	call   0x14018ff0c
1401a56bd:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1401a56c3:	e8 9c 5e fe ff       	call   0x14018b564
1401a56c8:	eb b7                	jmp    0x1401a5681
1401a56ca:	48 8d 59 08          	lea    0x8(%rcx),%rbx
1401a56ce:	40 32 f6             	xor    %sil,%sil
1401a56d1:	40 88 b4 24 80 00 00 	mov    %sil,0x80(%rsp)
1401a56d8:	00
1401a56d9:	eb 3f                	jmp    0x1401a571a
1401a56db:	83 e9 02             	sub    $0x2,%ecx
1401a56de:	74 33                	je     0x1401a5713
1401a56e0:	83 e9 04             	sub    $0x4,%ecx
1401a56e3:	74 13                	je     0x1401a56f8
1401a56e5:	83 e9 09             	sub    $0x9,%ecx
1401a56e8:	74 20                	je     0x1401a570a
1401a56ea:	83 e9 06             	sub    $0x6,%ecx
1401a56ed:	74 12                	je     0x1401a5701
1401a56ef:	83 f9 01             	cmp    $0x1,%ecx
1401a56f2:	74 04                	je     0x1401a56f8
1401a56f4:	33 db                	xor    %ebx,%ebx
1401a56f6:	eb 22                	jmp    0x1401a571a
1401a56f8:	48 8d 1d f9 7f 17 00 	lea    0x177ff9(%rip),%rbx        # 0x14031d6f8
1401a56ff:	eb 19                	jmp    0x1401a571a
1401a5701:	48 8d 1d e8 7f 17 00 	lea    0x177fe8(%rip),%rbx        # 0x14031d6f0
1401a5708:	eb 10                	jmp    0x1401a571a
1401a570a:	48 8d 1d ef 7f 17 00 	lea    0x177fef(%rip),%rbx        # 0x14031d700
1401a5711:	eb 07                	jmp    0x1401a571a
1401a5713:	48 8d 1d ce 7f 17 00 	lea    0x177fce(%rip),%rbx        # 0x14031d6e8
1401a571a:	48 83 a4 24 98 00 00 	andq   $0x0,0x98(%rsp)
1401a5721:	00 00
1401a5723:	40 84 f6             	test   %sil,%sil
1401a5726:	74 0b                	je     0x1401a5733
1401a5728:	b9 03 00 00 00       	mov    $0x3,%ecx
1401a572d:	e8 16 9d ff ff       	call   0x14019f448
1401a5732:	90                   	nop
1401a5733:	40 84 f6             	test   %sil,%sil
1401a5736:	74 17                	je     0x1401a574f
1401a5738:	48 8b 15 31 5b 10 00 	mov    0x105b31(%rip),%rdx        # 0x1402ab270
1401a573f:	8b ca                	mov    %edx,%ecx
1401a5741:	83 e1 3f             	and    $0x3f,%ecx
1401a5744:	48 33 13             	xor    (%rbx),%rdx
1401a5747:	48 d3 ca             	ror    %cl,%rdx
1401a574a:	4c 8b fa             	mov    %rdx,%r15
1401a574d:	eb 03                	jmp    0x1401a5752
1401a574f:	4c 8b 3b             	mov    (%rbx),%r15
1401a5752:	49 83 ff 01          	cmp    $0x1,%r15
1401a5756:	0f 94 c0             	sete   %al
1401a5759:	88 84 24 88 00 00 00 	mov    %al,0x88(%rsp)
1401a5760:	84 c0                	test   %al,%al
1401a5762:	0f 85 bf 00 00 00    	jne    0x1401a5827
1401a5768:	4d 85 ff             	test   %r15,%r15
1401a576b:	75 18                	jne    0x1401a5785
1401a576d:	40 84 f6             	test   %sil,%sil
1401a5770:	74 09                	je     0x1401a577b
1401a5772:	41 8d 4f 03          	lea    0x3(%r15),%ecx
1401a5776:	e8 21 9d ff ff       	call   0x14019f49c
1401a577b:	b9 03 00 00 00       	mov    $0x3,%ecx
1401a5780:	e8 d7 d4 ff ff       	call   0x1401a2c5c
1401a5785:	41 bc 10 09 00 00    	mov    $0x910,%r12d
1401a578b:	83 ff 0b             	cmp    $0xb,%edi
1401a578e:	77 40                	ja     0x1401a57d0
1401a5790:	41 0f a3 fc          	bt     %edi,%r12d
1401a5794:	73 3a                	jae    0x1401a57d0
1401a5796:	49 8b 45 08          	mov    0x8(%r13),%rax
1401a579a:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
1401a57a1:	00
1401a57a2:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401a57a7:	49 83 65 08 00       	andq   $0x0,0x8(%r13)
1401a57ac:	83 ff 08             	cmp    $0x8,%edi
1401a57af:	75 56                	jne    0x1401a5807
1401a57b1:	e8 3e fc ff ff       	call   0x1401a53f4
1401a57b6:	8b 40 10             	mov    0x10(%rax),%eax
1401a57b9:	89 84 24 90 00 00 00 	mov    %eax,0x90(%rsp)
1401a57c0:	89 44 24 20          	mov    %eax,0x20(%rsp)
1401a57c4:	e8 2b fc ff ff       	call   0x1401a53f4
1401a57c9:	c7 40 10 8c 00 00 00 	movl   $0x8c,0x10(%rax)
1401a57d0:	83 ff 08             	cmp    $0x8,%edi
1401a57d3:	75 32                	jne    0x1401a5807
1401a57d5:	48 8b 05 cc f7 07 00 	mov    0x7f7cc(%rip),%rax        # 0x140224fa8
1401a57dc:	48 c1 e0 04          	shl    $0x4,%rax
1401a57e0:	49 03 45 00          	add    0x0(%r13),%rax
1401a57e4:	48 8b 0d c5 f7 07 00 	mov    0x7f7c5(%rip),%rcx        # 0x140224fb0
1401a57eb:	48 c1 e1 04          	shl    $0x4,%rcx
1401a57ef:	48 03 c8             	add    %rax,%rcx
1401a57f2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401a57f7:	48 3b c1             	cmp    %rcx,%rax
1401a57fa:	74 31                	je     0x1401a582d
1401a57fc:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
1401a5801:	48 83 c0 10          	add    $0x10,%rax
1401a5805:	eb eb                	jmp    0x1401a57f2
1401a5807:	48 8b 15 62 5a 10 00 	mov    0x105a62(%rip),%rdx        # 0x1402ab270
1401a580e:	8b c2                	mov    %edx,%eax
1401a5810:	83 e0 3f             	and    $0x3f,%eax
1401a5813:	b9 40 00 00 00       	mov    $0x40,%ecx
1401a5818:	2b c8                	sub    %eax,%ecx
1401a581a:	33 c0                	xor    %eax,%eax
1401a581c:	48 d3 c8             	ror    %cl,%rax
1401a581f:	48 33 c2             	xor    %rdx,%rax
1401a5822:	48 89 03             	mov    %rax,(%rbx)
1401a5825:	eb 06                	jmp    0x1401a582d
1401a5827:	41 bc 10 09 00 00    	mov    $0x910,%r12d
1401a582d:	40 84 f6             	test   %sil,%sil
1401a5830:	74 0a                	je     0x1401a583c
1401a5832:	b9 03 00 00 00       	mov    $0x3,%ecx
1401a5837:	e8 60 9c ff ff       	call   0x14019f49c
1401a583c:	80 bc 24 88 00 00 00 	cmpb   $0x0,0x88(%rsp)
1401a5843:	00
1401a5844:	74 04                	je     0x1401a584a
1401a5846:	33 c0                	xor    %eax,%eax
1401a5848:	eb 61                	jmp    0x1401a58ab
1401a584a:	83 ff 08             	cmp    $0x8,%edi
1401a584d:	75 1e                	jne    0x1401a586d
1401a584f:	e8 a0 fb ff ff       	call   0x1401a53f4
1401a5854:	48 8b d8             	mov    %rax,%rbx
1401a5857:	49 8b cf             	mov    %r15,%rcx
1401a585a:	48 8b 15 af 8d 05 00 	mov    0x58daf(%rip),%rdx        # 0x1401fe610
1401a5861:	ff d2                	call   *%rdx
1401a5863:	8b 53 10             	mov    0x10(%rbx),%edx
1401a5866:	8b cf                	mov    %edi,%ecx
1401a5868:	41 ff d7             	call   *%r15
1401a586b:	eb 11                	jmp    0x1401a587e
1401a586d:	49 8b cf             	mov    %r15,%rcx
1401a5870:	48 8b 05 99 8d 05 00 	mov    0x58d99(%rip),%rax        # 0x1401fe610
1401a5877:	ff d0                	call   *%rax
1401a5879:	8b cf                	mov    %edi,%ecx
1401a587b:	41 ff d7             	call   *%r15
1401a587e:	83 ff 0b             	cmp    $0xb,%edi
1401a5881:	77 c3                	ja     0x1401a5846
1401a5883:	41 0f a3 fc          	bt     %edi,%r12d
1401a5887:	73 bd                	jae    0x1401a5846
1401a5889:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
1401a5890:	00
1401a5891:	49 89 45 08          	mov    %rax,0x8(%r13)
1401a5895:	83 ff 08             	cmp    $0x8,%edi
1401a5898:	75 ac                	jne    0x1401a5846
1401a589a:	e8 55 fb ff ff       	call   0x1401a53f4
1401a589f:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
1401a58a6:	89 48 10             	mov    %ecx,0x10(%rax)
1401a58a9:	eb 9b                	jmp    0x1401a5846
1401a58ab:	48 83 c4 48          	add    $0x48,%rsp
1401a58af:	41 5f                	pop    %r15
1401a58b1:	41 5d                	pop    %r13
1401a58b3:	41 5c                	pop    %r12
1401a58b5:	5f                   	pop    %rdi
1401a58b6:	5e                   	pop    %rsi
1401a58b7:	5b                   	pop    %rbx
1401a58b8:	c3                   	ret
1401a58b9:	cc                   	int3
1401a58ba:	cc                   	int3
1401a58bb:	cc                   	int3
1401a58bc:	48 83 ec 28          	sub    $0x28,%rsp
1401a58c0:	48 85 c9             	test   %rcx,%rcx
1401a58c3:	75 15                	jne    0x1401a58da
1401a58c5:	e8 42 a6 fe ff       	call   0x14018ff0c
1401a58ca:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1401a58d0:	e8 8f 5c fe ff       	call   0x14018b564
1401a58d5:	83 c8 ff             	or     $0xffffffff,%eax
1401a58d8:	eb 03                	jmp    0x1401a58dd
1401a58da:	8b 41 18             	mov    0x18(%rcx),%eax
1401a58dd:	48 83 c4 28          	add    $0x28,%rsp
1401a58e1:	c3                   	ret
1401a58e2:	cc                   	int3
1401a58e3:	cc                   	int3
1401a58e4:	48 8b c4             	mov    %rsp,%rax
1401a58e7:	48 89 58 18          	mov    %rbx,0x18(%rax)
1401a58eb:	48 89 70 20          	mov    %rsi,0x20(%rax)
1401a58ef:	48 89 50 10          	mov    %rdx,0x10(%rax)
1401a58f3:	88 48 08             	mov    %cl,0x8(%rax)
1401a58f6:	57                   	push   %rdi
1401a58f7:	48 83 ec 20          	sub    $0x20,%rsp
1401a58fb:	48 8b ca             	mov    %rdx,%rcx
1401a58fe:	e8 b9 ff ff ff       	call   0x1401a58bc
1401a5903:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a5908:	4c 63 c8             	movslq %eax,%r9
1401a590b:	8b 51 14             	mov    0x14(%rcx),%edx
1401a590e:	f6 c2 c0             	test   $0xc0,%dl
1401a5911:	0f 84 a8 00 00 00    	je     0x1401a59bf
1401a5917:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a591c:	33 db                	xor    %ebx,%ebx
1401a591e:	8b f3                	mov    %ebx,%esi
1401a5920:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401a5924:	8b 39                	mov    (%rcx),%edi
1401a5926:	48 ff c0             	inc    %rax
1401a5929:	2b 79 08             	sub    0x8(%rcx),%edi
1401a592c:	48 89 01             	mov    %rax,(%rcx)
1401a592f:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1401a5934:	8b 48 20             	mov    0x20(%rax),%ecx
1401a5937:	ff c9                	dec    %ecx
1401a5939:	89 48 10             	mov    %ecx,0x10(%rax)
1401a593c:	85 ff                	test   %edi,%edi
1401a593e:	7e 29                	jle    0x1401a5969
1401a5940:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
1401a5945:	44 8b c7             	mov    %edi,%r8d
1401a5948:	41 8b c9             	mov    %r9d,%ecx
1401a594b:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1401a594f:	e8 98 0c 00 00       	call   0x1401a65ec
1401a5954:	8b f0                	mov    %eax,%esi
1401a5956:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1401a595b:	3b f7                	cmp    %edi,%esi
1401a595d:	48 8b 48 08          	mov    0x8(%rax),%rcx
1401a5961:	8a 44 24 30          	mov    0x30(%rsp),%al
1401a5965:	88 01                	mov    %al,(%rcx)
1401a5967:	eb 6c                	jmp    0x1401a59d5
1401a5969:	41 8d 41 02          	lea    0x2(%r9),%eax
1401a596d:	83 f8 01             	cmp    $0x1,%eax
1401a5970:	76 1e                	jbe    0x1401a5990
1401a5972:	49 8b c9             	mov    %r9,%rcx
1401a5975:	48 8d 15 94 7d 17 00 	lea    0x177d94(%rip),%rdx        # 0x14031d710
1401a597c:	83 e1 3f             	and    $0x3f,%ecx
1401a597f:	49 8b c1             	mov    %r9,%rax
1401a5982:	48 c1 f8 06          	sar    $0x6,%rax
1401a5986:	48 c1 e1 06          	shl    $0x6,%rcx
1401a598a:	48 03 0c c2          	add    (%rdx,%rax,8),%rcx
1401a598e:	eb 07                	jmp    0x1401a5997
1401a5990:	48 8d 0d 39 5b 10 00 	lea    0x105b39(%rip),%rcx        # 0x1402ab4d0
1401a5997:	f6 41 38 20          	testb  $0x20,0x38(%rcx)
1401a599b:	74 b9                	je     0x1401a5956
1401a599d:	33 d2                	xor    %edx,%edx
1401a599f:	41 8b c9             	mov    %r9d,%ecx
1401a59a2:	44 8d 42 02          	lea    0x2(%rdx),%r8d
1401a59a6:	e8 5d 45 00 00       	call   0x1401a9f08
1401a59ab:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1401a59af:	75 a5                	jne    0x1401a5956
1401a59b1:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a59b6:	f0 83 49 14 10       	lock orl $0x10,0x14(%rcx)
1401a59bb:	b0 01                	mov    $0x1,%al
1401a59bd:	eb 19                	jmp    0x1401a59d8
1401a59bf:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1401a59c5:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1401a59ca:	41 8b c9             	mov    %r9d,%ecx
1401a59cd:	e8 1a 0c 00 00       	call   0x1401a65ec
1401a59d2:	83 f8 01             	cmp    $0x1,%eax
1401a59d5:	0f 94 c0             	sete   %al
1401a59d8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401a59dd:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1401a59e2:	48 83 c4 20          	add    $0x20,%rsp
1401a59e6:	5f                   	pop    %rdi
1401a59e7:	c3                   	ret
1401a59e8:	48 8b c4             	mov    %rsp,%rax
1401a59eb:	48 89 58 18          	mov    %rbx,0x18(%rax)
1401a59ef:	48 89 70 20          	mov    %rsi,0x20(%rax)
1401a59f3:	48 89 50 10          	mov    %rdx,0x10(%rax)
1401a59f7:	66 89 48 08          	mov    %cx,0x8(%rax)
1401a59fb:	57                   	push   %rdi
1401a59fc:	48 83 ec 20          	sub    $0x20,%rsp
1401a5a00:	48 8b ca             	mov    %rdx,%rcx
1401a5a03:	e8 b4 fe ff ff       	call   0x1401a58bc
1401a5a08:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a5a0d:	4c 63 c8             	movslq %eax,%r9
1401a5a10:	8b 51 14             	mov    0x14(%rcx),%edx
1401a5a13:	f6 c2 c0             	test   $0xc0,%dl
1401a5a16:	0f 84 ac 00 00 00    	je     0x1401a5ac8
1401a5a1c:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a5a21:	33 db                	xor    %ebx,%ebx
1401a5a23:	8b f3                	mov    %ebx,%esi
1401a5a25:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401a5a29:	8b 39                	mov    (%rcx),%edi
1401a5a2b:	48 83 c0 02          	add    $0x2,%rax
1401a5a2f:	2b 79 08             	sub    0x8(%rcx),%edi
1401a5a32:	48 89 01             	mov    %rax,(%rcx)
1401a5a35:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1401a5a3a:	8b 48 20             	mov    0x20(%rax),%ecx
1401a5a3d:	83 e9 02             	sub    $0x2,%ecx