140a57532:	41 57                	push   %r15
140a57534:	48 83 ec 20          	sub    $0x20,%rsp
140a57538:	4c 8b fa             	mov    %rdx,%r15
140a5753b:	48 8b d9             	mov    %rcx,%rbx
140a5753e:	33 ff                	xor    %edi,%edi
140a57540:	48 89 7a 10          	mov    %rdi,0x10(%rdx)
140a57544:	48 8b c2             	mov    %rdx,%rax
140a57547:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140a5754c:	76 03                	jbe    0x140a57551
140a5754e:	48 8b 02             	mov    (%rdx),%rax
140a57551:	40 88 38             	mov    %dil,(%rax)
140a57554:	40 32 f6             	xor    %sil,%sil
140a57557:	8b ef                	mov    %edi,%ebp
140a57559:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140a57560:	48 8b 43 10          	mov    0x10(%rbx),%rax
140a57564:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a57568:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140a5756c:	77 0f                	ja     0x140a5757d
140a5756e:	0f b6 30             	movzbl (%rax),%esi
140a57571:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a57575:	b0 01                	mov    $0x1,%al
140a57577:	4c 8d 73 08          	lea    0x8(%rbx),%r14
140a5757b:	eb 2f                	jmp    0x140a575ac
140a5757d:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57583:	b2 18                	mov    $0x18,%dl
140a57585:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a5758a:	e8 51 fa fa ff       	call   0x140a06fe0
140a5758f:	4c 8d 73 08          	lea    0x8(%rbx),%r14
140a57593:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a57598:	49 8b ce             	mov    %r14,%rcx
140a5759b:	e8 50 77 f6 ff       	call   0x1409becf0
140a575a0:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a575a5:	e8 46 7c f6 ff       	call   0x1409bf1f0
140a575aa:	32 c0                	xor    %al,%al
140a575ac:	84 c0                	test   %al,%al
140a575ae:	74 4b                	je     0x140a575fb
140a575b0:	40 8b c6             	rex mov %esi,%eax
140a575b3:	83 e0 7f             	and    $0x7f,%eax
140a575b6:	8b cd                	mov    %ebp,%ecx
140a575b8:	d3 e0                	shl    %cl,%eax
140a575ba:	0b f8                	or     %eax,%edi
140a575bc:	83 c5 07             	add    $0x7,%ebp
140a575bf:	40 84 f6             	test   %sil,%sil
140a575c2:	78 9c                	js     0x140a57560
140a575c4:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140a575c8:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
140a575cc:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a575d0:	76 44                	jbe    0x140a57616
140a575d2:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a575d8:	b2 18                	mov    $0x18,%dl
140a575da:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a575df:	e8 fc f9 fa ff       	call   0x140a06fe0
140a575e4:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a575e9:	49 8b ce             	mov    %r14,%rcx
140a575ec:	e8 ff 76 f6 ff       	call   0x1409becf0
140a575f1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a575f6:	e8 f5 7b f6 ff       	call   0x1409bf1f0
140a575fb:	32 c0                	xor    %al,%al
140a575fd:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140a57602:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140a57607:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140a5760c:	48 83 c4 20          	add    $0x20,%rsp
140a57610:	41 5f                	pop    %r15
140a57612:	41 5e                	pop    %r14
140a57614:	5f                   	pop    %rdi
140a57615:	c3                   	ret
140a57616:	4c 8b c7             	mov    %rdi,%r8
140a57619:	49 8b cf             	mov    %r15,%rcx
140a5761c:	e8 af 7d 74 ff       	call   0x14019f3d0
140a57621:	48 01 7b 10          	add    %rdi,0x10(%rbx)
140a57625:	b0 01                	mov    $0x1,%al
140a57627:	eb d4                	jmp    0x140a575fd
140a57629:	cc                   	int3
140a5762a:	cc                   	int3
140a5762b:	cc                   	int3
140a5762c:	cc                   	int3
140a5762d:	cc                   	int3
140a5762e:	cc                   	int3
140a5762f:	cc                   	int3
140a57630:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a57635:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a5763a:	56                   	push   %rsi
140a5763b:	57                   	push   %rdi
140a5763c:	41 54                	push   %r12
140a5763e:	41 56                	push   %r14
140a57640:	41 57                	push   %r15
140a57642:	48 83 ec 20          	sub    $0x20,%rsp
140a57646:	48 8b f2             	mov    %rdx,%rsi
140a57649:	48 8b f9             	mov    %rcx,%rdi
140a5764c:	45 33 e4             	xor    %r12d,%r12d
140a5764f:	4c 89 62 10          	mov    %r12,0x10(%rdx)
140a57653:	48 8b c2             	mov    %rdx,%rax
140a57656:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
140a5765b:	76 03                	jbe    0x140a57660
140a5765d:	48 8b 02             	mov    (%rdx),%rax
140a57660:	66 44 89 20          	mov    %r12w,(%rax)
140a57664:	45 8b f4             	mov    %r12d,%r14d
140a57667:	32 db                	xor    %bl,%bl
140a57669:	41 8b ec             	mov    %r12d,%ebp
140a5766c:	0f 1f 40 00          	nopl   0x0(%rax)
140a57670:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a57674:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a57678:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
140a5767c:	77 0f                	ja     0x140a5768d
140a5767e:	0f b6 18             	movzbl (%rax),%ebx
140a57681:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140a57685:	b0 01                	mov    $0x1,%al
140a57687:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a5768b:	eb 2f                	jmp    0x140a576bc
140a5768d:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57693:	b2 18                	mov    $0x18,%dl
140a57695:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a5769a:	e8 41 f9 fa ff       	call   0x140a06fe0
140a5769f:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a576a3:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a576a8:	49 8b cf             	mov    %r15,%rcx
140a576ab:	e8 40 76 f6 ff       	call   0x1409becf0
140a576b0:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a576b5:	e8 36 7b f6 ff       	call   0x1409bf1f0
140a576ba:	32 c0                	xor    %al,%al
140a576bc:	84 c0                	test   %al,%al
140a576be:	74 4a                	je     0x140a5770a
140a576c0:	8b c3                	mov    %ebx,%eax
140a576c2:	83 e0 7f             	and    $0x7f,%eax
140a576c5:	8b cd                	mov    %ebp,%ecx
140a576c7:	d3 e0                	shl    %cl,%eax
140a576c9:	44 0b f0             	or     %eax,%r14d
140a576cc:	83 c5 07             	add    $0x7,%ebp
140a576cf:	84 db                	test   %bl,%bl
140a576d1:	78 9d                	js     0x140a57670
140a576d3:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a576d7:	4a 8d 14 70          	lea    (%rax,%r14,2),%rdx
140a576db:	48 3b 57 18          	cmp    0x18(%rdi),%rdx
140a576df:	76 42                	jbe    0x140a57723
140a576e1:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a576e7:	b2 18                	mov    $0x18,%dl
140a576e9:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a576ee:	e8 ed f8 fa ff       	call   0x140a06fe0
140a576f3:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a576f8:	49 8b cf             	mov    %r15,%rcx
140a576fb:	e8 f0 75 f6 ff       	call   0x1409becf0
140a57700:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a57705:	e8 e6 7a f6 ff       	call   0x1409bf1f0
140a5770a:	32 c0                	xor    %al,%al
140a5770c:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140a57711:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140a57716:	48 83 c4 20          	add    $0x20,%rsp
140a5771a:	41 5f                	pop    %r15
140a5771c:	41 5e                	pop    %r14
140a5771e:	41 5c                	pop    %r12
140a57720:	5f                   	pop    %rdi
140a57721:	5e                   	pop    %rsi
140a57722:	c3                   	ret
140a57723:	49 8b ec             	mov    %r12,%rbp
140a57726:	4d 85 f6             	test   %r14,%r14
140a57729:	74 6e                	je     0x140a57799
140a5772b:	0f b6 5c 24 50       	movzbl 0x50(%rsp),%ebx
140a57730:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140a57734:	44 0f b7 09          	movzwl (%rcx),%r9d
140a57738:	48 8b 47 18          	mov    0x18(%rdi),%rax
140a5773c:	48 2b c1             	sub    %rcx,%rax
140a5773f:	48 83 f8 02          	cmp    $0x2,%rax
140a57743:	72 5b                	jb     0x140a577a0
140a57745:	48 8d 41 02          	lea    0x2(%rcx),%rax
140a57749:	48 89 47 10          	mov    %rax,0x10(%rdi)
140a5774d:	66 41 c1 c9 08       	ror    $0x8,%r9w
140a57752:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a57756:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140a5775a:	48 3b ca             	cmp    %rdx,%rcx
140a5775d:	73 21                	jae    0x140a57780
140a5775f:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a57763:	48 89 46 10          	mov    %rax,0x10(%rsi)
140a57767:	48 8b c6             	mov    %rsi,%rax
140a5776a:	48 83 fa 07          	cmp    $0x7,%rdx
140a5776e:	76 03                	jbe    0x140a57773
140a57770:	48 8b 06             	mov    (%rsi),%rax
140a57773:	66 44 89 0c 48       	mov    %r9w,(%rax,%rcx,2)
140a57778:	66 44 89 64 48 02    	mov    %r12w,0x2(%rax,%rcx,2)
140a5777e:	eb 11                	jmp    0x140a57791
140a57780:	44 0f b6 c3          	movzbl %bl,%r8d
140a57784:	ba 01 00 00 00       	mov    $0x1,%edx
140a57789:	48 8b ce             	mov    %rsi,%rcx
140a5778c:	e8 7f ea ff ff       	call   0x140a56210
140a57791:	48 ff c5             	inc    %rbp
140a57794:	49 3b ee             	cmp    %r14,%rbp
140a57797:	72 97                	jb     0x140a57730
140a57799:	b0 01                	mov    $0x1,%al
140a5779b:	e9 6c ff ff ff       	jmp    0x140a5770c
140a577a0:	48 8d 0d 39 79 62 00 	lea    0x627939(%rip),%rcx        # 0x14107f0e0
140a577a7:	e8 54 f7 73 ff       	call   0x140196f00
140a577ac:	48 8d 0d 2d 79 62 00 	lea    0x62792d(%rip),%rcx        # 0x14107f0e0
140a577b3:	e8 c8 ad f6 ff       	call   0x1409c2580
140a577b8:	cc                   	int3
140a577b9:	cc                   	int3
140a577ba:	cc                   	int3
140a577bb:	cc                   	int3
140a577bc:	cc                   	int3
140a577bd:	cc                   	int3
140a577be:	cc                   	int3
140a577bf:	cc                   	int3
140a577c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a577c5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a577ca:	56                   	push   %rsi
140a577cb:	57                   	push   %rdi
140a577cc:	41 54                	push   %r12
140a577ce:	41 56                	push   %r14
140a577d0:	41 57                	push   %r15
140a577d2:	48 83 ec 20          	sub    $0x20,%rsp
140a577d6:	48 8b f2             	mov    %rdx,%rsi
140a577d9:	48 8b f9             	mov    %rcx,%rdi
140a577dc:	45 33 e4             	xor    %r12d,%r12d
140a577df:	4c 89 62 10          	mov    %r12,0x10(%rdx)
140a577e3:	48 8b c2             	mov    %rdx,%rax
140a577e6:	48 83 7a 18 03       	cmpq   $0x3,0x18(%rdx)
140a577eb:	76 03                	jbe    0x140a577f0
140a577ed:	48 8b 02             	mov    (%rdx),%rax
140a577f0:	44 89 20             	mov    %r12d,(%rax)
140a577f3:	45 8b f4             	mov    %r12d,%r14d
140a577f6:	32 db                	xor    %bl,%bl
140a577f8:	41 8b ec             	mov    %r12d,%ebp
140a577fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140a57800:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a57804:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a57808:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
140a5780c:	77 0f                	ja     0x140a5781d
140a5780e:	0f b6 18             	movzbl (%rax),%ebx
140a57811:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140a57815:	b0 01                	mov    $0x1,%al
140a57817:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a5781b:	eb 2f                	jmp    0x140a5784c
140a5781d:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57823:	b2 18                	mov    $0x18,%dl
140a57825:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a5782a:	e8 b1 f7 fa ff       	call   0x140a06fe0
140a5782f:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a57833:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a57838:	49 8b cf             	mov    %r15,%rcx
140a5783b:	e8 b0 74 f6 ff       	call   0x1409becf0
140a57840:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a57845:	e8 a6 79 f6 ff       	call   0x1409bf1f0
140a5784a:	32 c0                	xor    %al,%al
140a5784c:	84 c0                	test   %al,%al
140a5784e:	74 4a                	je     0x140a5789a
140a57850:	8b c3                	mov    %ebx,%eax
140a57852:	83 e0 7f             	and    $0x7f,%eax
140a57855:	8b cd                	mov    %ebp,%ecx
140a57857:	d3 e0                	shl    %cl,%eax
140a57859:	44 0b f0             	or     %eax,%r14d
140a5785c:	83 c5 07             	add    $0x7,%ebp
140a5785f:	84 db                	test   %bl,%bl
140a57861:	78 9d                	js     0x140a57800
140a57863:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a57867:	4a 8d 14 b0          	lea    (%rax,%r14,4),%rdx
140a5786b:	48 3b 57 18          	cmp    0x18(%rdi),%rdx
140a5786f:	76 42                	jbe    0x140a578b3
140a57871:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57877:	b2 18                	mov    $0x18,%dl
140a57879:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a5787e:	e8 5d f7 fa ff       	call   0x140a06fe0
140a57883:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a57888:	49 8b cf             	mov    %r15,%rcx
140a5788b:	e8 60 74 f6 ff       	call   0x1409becf0
140a57890:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a57895:	e8 56 79 f6 ff       	call   0x1409bf1f0
140a5789a:	32 c0                	xor    %al,%al
140a5789c:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140a578a1:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140a578a6:	48 83 c4 20          	add    $0x20,%rsp
140a578aa:	41 5f                	pop    %r15
140a578ac:	41 5e                	pop    %r14
140a578ae:	41 5c                	pop    %r12
140a578b0:	5f                   	pop    %rdi
140a578b1:	5e                   	pop    %rsi
140a578b2:	c3                   	ret
140a578b3:	49 8b ec             	mov    %r12,%rbp
140a578b6:	4d 85 f6             	test   %r14,%r14
140a578b9:	74 69                	je     0x140a57924
140a578bb:	0f b6 5c 24 50       	movzbl 0x50(%rsp),%ebx
140a578c0:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140a578c4:	44 8b 09             	mov    (%rcx),%r9d
140a578c7:	48 8b 47 18          	mov    0x18(%rdi),%rax
140a578cb:	48 2b c1             	sub    %rcx,%rax
140a578ce:	48 83 f8 04          	cmp    $0x4,%rax
140a578d2:	72 57                	jb     0x140a5792b
140a578d4:	48 8d 41 04          	lea    0x4(%rcx),%rax
140a578d8:	48 89 47 10          	mov    %rax,0x10(%rdi)
140a578dc:	41 0f c9             	bswap  %r9d
140a578df:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a578e3:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140a578e7:	48 3b ca             	cmp    %rdx,%rcx
140a578ea:	73 1f                	jae    0x140a5790b
140a578ec:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a578f0:	48 89 46 10          	mov    %rax,0x10(%rsi)
140a578f4:	48 8b c6             	mov    %rsi,%rax
140a578f7:	48 83 fa 03          	cmp    $0x3,%rdx
140a578fb:	76 03                	jbe    0x140a57900
140a578fd:	48 8b 06             	mov    (%rsi),%rax
140a57900:	44 89 0c 88          	mov    %r9d,(%rax,%rcx,4)
140a57904:	44 89 64 88 04       	mov    %r12d,0x4(%rax,%rcx,4)
140a57909:	eb 11                	jmp    0x140a5791c
140a5790b:	44 0f b6 c3          	movzbl %bl,%r8d
140a5790f:	ba 01 00 00 00       	mov    $0x1,%edx
140a57914:	48 8b ce             	mov    %rsi,%rcx
140a57917:	e8 84 ea ff ff       	call   0x140a563a0
140a5791c:	48 ff c5             	inc    %rbp
140a5791f:	49 3b ee             	cmp    %r14,%rbp
140a57922:	72 9c                	jb     0x140a578c0
140a57924:	b0 01                	mov    $0x1,%al
140a57926:	e9 71 ff ff ff       	jmp    0x140a5789c
140a5792b:	48 8d 0d ae 77 62 00 	lea    0x6277ae(%rip),%rcx        # 0x14107f0e0
140a57932:	e8 c9 f5 73 ff       	call   0x140196f00
140a57937:	48 8d 0d a2 77 62 00 	lea    0x6277a2(%rip),%rcx        # 0x14107f0e0
140a5793e:	e8 3d ac f6 ff       	call   0x1409c2580
140a57943:	cc                   	int3
140a57944:	cc                   	int3
140a57945:	cc                   	int3
140a57946:	cc                   	int3
140a57947:	cc                   	int3
140a57948:	cc                   	int3
140a57949:	cc                   	int3
140a5794a:	cc                   	int3
140a5794b:	cc                   	int3
140a5794c:	cc                   	int3
140a5794d:	cc                   	int3
140a5794e:	cc                   	int3
140a5794f:	cc                   	int3
140a57950:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a57955:	57                   	push   %rdi
140a57956:	48 83 ec 20          	sub    $0x20,%rsp
140a5795a:	48 8b fa             	mov    %rdx,%rdi
140a5795d:	48 8b d9             	mov    %rcx,%rbx
140a57960:	48 c7 44 24 40 00 00 	movq   $0x0,0x40(%rsp)
140a57967:	00 00
140a57969:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a5796d:	48 8d 41 08          	lea    0x8(%rcx),%rax
140a57971:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a57975:	76 33                	jbe    0x140a579aa
140a57977:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5797d:	b2 18                	mov    $0x18,%dl
140a5797f:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a57984:	e8 57 f6 fa ff       	call   0x140a06fe0
140a57989:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a5798d:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140a57992:	e8 59 73 f6 ff       	call   0x1409becf0
140a57997:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a5799c:	e8 4f 78 f6 ff       	call   0x1409bf1f0
140a579a1:	32 c0                	xor    %al,%al
140a579a3:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a579a8:	eb 0a                	jmp    0x140a579b4
140a579aa:	48 8b 09             	mov    (%rcx),%rcx