1404a8540:	4d 8b c8             	mov    %r8,%r9
1404a8543:	48 8b da             	mov    %rdx,%rbx
1404a8546:	48 8b f1             	mov    %rcx,%rsi
1404a8549:	48 ff c2             	inc    %rdx
1404a854c:	49 3b d0             	cmp    %r8,%rdx
1404a854f:	0f 87 5c 01 00 00    	ja     0x1404a86b1
1404a8555:	48 3b d3             	cmp    %rbx,%rdx
1404a8558:	0f 82 53 01 00 00    	jb     0x1404a86b1
1404a855e:	0f b6 03             	movzbl (%rbx),%eax
1404a8561:	88 01                	mov    %al,(%rcx)
1404a8563:	44 8b c0             	mov    %eax,%r8d
1404a8566:	48 8d 7b 01          	lea    0x1(%rbx),%rdi
1404a856a:	48 03 f8             	add    %rax,%rdi
1404a856d:	49 3b f9             	cmp    %r9,%rdi
1404a8570:	0f 87 12 01 00 00    	ja     0x1404a8688
1404a8576:	48 3b fa             	cmp    %rdx,%rdi
1404a8579:	0f 82 09 01 00 00    	jb     0x1404a8688
1404a857f:	48 83 c1 08          	add    $0x8,%rcx
1404a8583:	e8 d8 5d d0 ff       	call   0x1401ae360
1404a8588:	2b fb                	sub    %ebx,%edi
1404a858a:	4d 8b 76 08          	mov    0x8(%r14),%r14
1404a858e:	48 8b 5e 18          	mov    0x18(%rsi),%rbx
1404a8592:	48 8b 0d 2f 14 f8 00 	mov    0xf8142f(%rip),%rcx        # 0x1414299c8
1404a8599:	48 85 c9             	test   %rcx,%rcx
1404a859c:	0f 84 c5 00 00 00    	je     0x1404a8667
1404a85a2:	e8 89 cf 36 00       	call   0x140815530
1404a85a7:	84 c0                	test   %al,%al
1404a85a9:	0f 84 b8 00 00 00    	je     0x1404a8667
1404a85af:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
1404a85b4:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1404a85b9:	44 8b 46 10          	mov    0x10(%rsi),%r8d
1404a85bd:	41 c1 e0 03          	shl    $0x3,%r8d
1404a85c1:	48 8d 56 08          	lea    0x8(%rsi),%rdx
1404a85c5:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1404a85ca:	e8 a1 23 00 00       	call   0x1404aa970
1404a85cf:	48 8b 08             	mov    (%rax),%rcx
1404a85d2:	33 ed                	xor    %ebp,%ebp
1404a85d4:	48 89 28             	mov    %rbp,(%rax)
1404a85d7:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1404a85dc:	48 8b 08             	mov    (%rax),%rcx
1404a85df:	48 85 c9             	test   %rcx,%rcx
1404a85e2:	74 24                	je     0x1404a8608
1404a85e4:	8b 41 10             	mov    0x10(%rcx),%eax
1404a85e7:	ff c8                	dec    %eax
1404a85e9:	89 41 10             	mov    %eax,0x10(%rcx)
1404a85ec:	85 c0                	test   %eax,%eax
1404a85ee:	7f 18                	jg     0x1404a8608
1404a85f0:	0f 88 e7 00 00 00    	js     0x1404a86dd
1404a85f6:	48 8b 01             	mov    (%rcx),%rax
1404a85f9:	ba 01 00 00 00       	mov    $0x1,%edx
1404a85fe:	48 8b 00             	mov    (%rax),%rax
1404a8601:	ff 15 19 b4 ad 00    	call   *0xadb419(%rip)        # 0x140f83a20
1404a8607:	90                   	nop
1404a8608:	48 8b d3             	mov    %rbx,%rdx
1404a860b:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1404a8610:	e8 ab de ff ff       	call   0x1404a64c0
1404a8615:	48 8b 08             	mov    (%rax),%rcx
1404a8618:	48 89 28             	mov    %rbp,(%rax)
1404a861b:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1404a8620:	48 8b 08             	mov    (%rax),%rcx
1404a8623:	48 85 c9             	test   %rcx,%rcx
1404a8626:	74 24                	je     0x1404a864c
1404a8628:	8b 41 10             	mov    0x10(%rcx),%eax
1404a862b:	ff c8                	dec    %eax
1404a862d:	89 41 10             	mov    %eax,0x10(%rcx)
1404a8630:	85 c0                	test   %eax,%eax
1404a8632:	7f 18                	jg     0x1404a864c
1404a8634:	0f 88 ae 00 00 00    	js     0x1404a86e8
1404a863a:	48 8b 01             	mov    (%rcx),%rax
1404a863d:	ba 01 00 00 00       	mov    $0x1,%edx
1404a8642:	48 8b 00             	mov    (%rax),%rax
1404a8645:	ff 15 d5 b3 ad 00    	call   *0xadb3d5(%rip)        # 0x140f83a20
1404a864b:	90                   	nop
1404a864c:	49 8b 4e 20          	mov    0x20(%r14),%rcx
1404a8650:	48 8b 49 20          	mov    0x20(%rcx),%rcx
1404a8654:	4c 8d 4c 24 20       	lea    0x20(%rsp),%r9
1404a8659:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
1404a865e:	48 8b 51 28          	mov    0x28(%rcx),%rdx
1404a8662:	e8 b9 55 00 00       	call   0x1404adc20
1404a8667:	c6 46 24 01          	movb   $0x1,0x24(%rsi)
1404a866b:	8b c7                	mov    %edi,%eax
1404a866d:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1404a8672:	48 33 cc             	xor    %rsp,%rcx
1404a8675:	e8 86 2e 97 00       	call   0x140e1b500
1404a867a:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1404a8681:	41 5e                	pop    %r14
1404a8683:	5f                   	pop    %rdi
1404a8684:	5e                   	pop    %rsi
1404a8685:	5d                   	pop    %rbp
1404a8686:	5b                   	pop    %rbx
1404a8687:	c3                   	ret
1404a8688:	44 2b cb             	sub    %ebx,%r9d
1404a868b:	41 ff c0             	inc    %r8d
1404a868e:	48 8d 15 3b 60 b5 00 	lea    0xb5603b(%rip),%rdx        # 0x140ffe6d0
1404a8695:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a869a:	e8 51 0a d0 ff       	call   0x1401a90f0
1404a869f:	48 8d 15 2a 83 ef 00 	lea    0xef832a(%rip),%rdx        # 0x1413a09d0
1404a86a6:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a86ab:	e8 68 41 97 00       	call   0x140e1c818
1404a86b0:	cc                   	int3
1404a86b1:	44 2b cb             	sub    %ebx,%r9d
1404a86b4:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1404a86ba:	48 8d 15 ef 5f b5 00 	lea    0xb55fef(%rip),%rdx        # 0x140ffe6b0
1404a86c1:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a86c6:	e8 25 0a d0 ff       	call   0x1401a90f0
1404a86cb:	48 8d 15 fe 82 ef 00 	lea    0xef82fe(%rip),%rdx        # 0x1413a09d0
1404a86d2:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a86d7:	e8 3c 41 97 00       	call   0x140e1c818
1404a86dc:	90                   	nop
1404a86dd:	b9 02 00 00 00       	mov    $0x2,%ecx
1404a86e2:	e8 19 20 2e 00       	call   0x14078a700
1404a86e7:	90                   	nop
1404a86e8:	b9 02 00 00 00       	mov    $0x2,%ecx
1404a86ed:	e8 0e 20 2e 00       	call   0x14078a700
1404a86f2:	cc                   	int3
1404a86f3:	cc                   	int3
1404a86f4:	cc                   	int3
1404a86f5:	cc                   	int3
1404a86f6:	cc                   	int3
1404a86f7:	cc                   	int3
1404a86f8:	cc                   	int3
1404a86f9:	cc                   	int3
1404a86fa:	cc                   	int3
1404a86fb:	cc                   	int3
1404a86fc:	cc                   	int3
1404a86fd:	cc                   	int3
1404a86fe:	cc                   	int3
1404a86ff:	cc                   	int3
1404a8700:	40 53                	rex push %rbx
1404a8702:	55                   	push   %rbp
1404a8703:	56                   	push   %rsi
1404a8704:	57                   	push   %rdi
1404a8705:	41 56                	push   %r14
1404a8707:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1404a870e:	48 8b 05 eb 07 f1 00 	mov    0xf107eb(%rip),%rax        # 0x1413b8f00
1404a8715:	48 33 c4             	xor    %rsp,%rax
1404a8718:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1404a871d:	4d 8b f1             	mov    %r9,%r14
1404a8720:	4d 8b c8             	mov    %r8,%r9
1404a8723:	48 8b da             	mov    %rdx,%rbx
1404a8726:	48 8b f1             	mov    %rcx,%rsi
1404a8729:	48 ff c2             	inc    %rdx
1404a872c:	49 3b d0             	cmp    %r8,%rdx
1404a872f:	0f 87 5c 01 00 00    	ja     0x1404a8891
1404a8735:	48 3b d3             	cmp    %rbx,%rdx
1404a8738:	0f 82 53 01 00 00    	jb     0x1404a8891
1404a873e:	0f b6 03             	movzbl (%rbx),%eax
1404a8741:	88 01                	mov    %al,(%rcx)
1404a8743:	44 8b c0             	mov    %eax,%r8d
1404a8746:	48 8d 7b 01          	lea    0x1(%rbx),%rdi
1404a874a:	48 03 f8             	add    %rax,%rdi
1404a874d:	49 3b f9             	cmp    %r9,%rdi
1404a8750:	0f 87 12 01 00 00    	ja     0x1404a8868
1404a8756:	48 3b fa             	cmp    %rdx,%rdi
1404a8759:	0f 82 09 01 00 00    	jb     0x1404a8868
1404a875f:	48 83 c1 08          	add    $0x8,%rcx
1404a8763:	e8 f8 5b d0 ff       	call   0x1401ae360
1404a8768:	2b fb                	sub    %ebx,%edi
1404a876a:	4d 8b 76 08          	mov    0x8(%r14),%r14
1404a876e:	48 8b 5e 18          	mov    0x18(%rsi),%rbx
1404a8772:	48 8b 0d 17 12 f8 00 	mov    0xf81217(%rip),%rcx        # 0x141429990
1404a8779:	48 85 c9             	test   %rcx,%rcx
1404a877c:	0f 84 c5 00 00 00    	je     0x1404a8847
1404a8782:	e8 a9 cd 36 00       	call   0x140815530
1404a8787:	84 c0                	test   %al,%al
1404a8789:	0f 84 b8 00 00 00    	je     0x1404a8847
1404a878f:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
1404a8794:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1404a8799:	44 8b 46 10          	mov    0x10(%rsi),%r8d
1404a879d:	41 c1 e0 03          	shl    $0x3,%r8d
1404a87a1:	48 8d 56 08          	lea    0x8(%rsi),%rdx
1404a87a5:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1404a87aa:	e8 c1 21 00 00       	call   0x1404aa970
1404a87af:	48 8b 08             	mov    (%rax),%rcx
1404a87b2:	33 ed                	xor    %ebp,%ebp
1404a87b4:	48 89 28             	mov    %rbp,(%rax)
1404a87b7:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1404a87bc:	48 8b 08             	mov    (%rax),%rcx
1404a87bf:	48 85 c9             	test   %rcx,%rcx
1404a87c2:	74 24                	je     0x1404a87e8
1404a87c4:	8b 41 10             	mov    0x10(%rcx),%eax
1404a87c7:	ff c8                	dec    %eax
1404a87c9:	89 41 10             	mov    %eax,0x10(%rcx)
1404a87cc:	85 c0                	test   %eax,%eax
1404a87ce:	7f 18                	jg     0x1404a87e8
1404a87d0:	0f 88 e7 00 00 00    	js     0x1404a88bd
1404a87d6:	48 8b 01             	mov    (%rcx),%rax
1404a87d9:	ba 01 00 00 00       	mov    $0x1,%edx
1404a87de:	48 8b 00             	mov    (%rax),%rax
1404a87e1:	ff 15 39 b2 ad 00    	call   *0xadb239(%rip)        # 0x140f83a20
1404a87e7:	90                   	nop
1404a87e8:	48 8b d3             	mov    %rbx,%rdx
1404a87eb:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1404a87f0:	e8 cb dc ff ff       	call   0x1404a64c0
1404a87f5:	48 8b 08             	mov    (%rax),%rcx
1404a87f8:	48 89 28             	mov    %rbp,(%rax)
1404a87fb:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1404a8800:	48 8b 08             	mov    (%rax),%rcx
1404a8803:	48 85 c9             	test   %rcx,%rcx
1404a8806:	74 24                	je     0x1404a882c
1404a8808:	8b 41 10             	mov    0x10(%rcx),%eax
1404a880b:	ff c8                	dec    %eax
1404a880d:	89 41 10             	mov    %eax,0x10(%rcx)
1404a8810:	85 c0                	test   %eax,%eax
1404a8812:	7f 18                	jg     0x1404a882c
1404a8814:	0f 88 ae 00 00 00    	js     0x1404a88c8
1404a881a:	48 8b 01             	mov    (%rcx),%rax
1404a881d:	ba 01 00 00 00       	mov    $0x1,%edx
1404a8822:	48 8b 00             	mov    (%rax),%rax
1404a8825:	ff 15 f5 b1 ad 00    	call   *0xadb1f5(%rip)        # 0x140f83a20
1404a882b:	90                   	nop
1404a882c:	49 8b 4e 20          	mov    0x20(%r14),%rcx
1404a8830:	48 8b 49 20          	mov    0x20(%rcx),%rcx
1404a8834:	4c 8d 4c 24 20       	lea    0x20(%rsp),%r9
1404a8839:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
1404a883e:	48 8b 51 28          	mov    0x28(%rcx),%rdx
1404a8842:	e8 09 57 00 00       	call   0x1404adf50
1404a8847:	c6 46 24 01          	movb   $0x1,0x24(%rsi)
1404a884b:	8b c7                	mov    %edi,%eax
1404a884d:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1404a8852:	48 33 cc             	xor    %rsp,%rcx
1404a8855:	e8 a6 2c 97 00       	call   0x140e1b500
1404a885a:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1404a8861:	41 5e                	pop    %r14
1404a8863:	5f                   	pop    %rdi
1404a8864:	5e                   	pop    %rsi
1404a8865:	5d                   	pop    %rbp
1404a8866:	5b                   	pop    %rbx
1404a8867:	c3                   	ret
1404a8868:	44 2b cb             	sub    %ebx,%r9d
1404a886b:	41 ff c0             	inc    %r8d
1404a886e:	48 8d 15 bb 5e b5 00 	lea    0xb55ebb(%rip),%rdx        # 0x140ffe730
1404a8875:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a887a:	e8 71 08 d0 ff       	call   0x1401a90f0
1404a887f:	48 8d 15 4a 81 ef 00 	lea    0xef814a(%rip),%rdx        # 0x1413a09d0
1404a8886:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a888b:	e8 88 3f 97 00       	call   0x140e1c818
1404a8890:	cc                   	int3
1404a8891:	44 2b cb             	sub    %ebx,%r9d
1404a8894:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1404a889a:	48 8d 15 67 5e b5 00 	lea    0xb55e67(%rip),%rdx        # 0x140ffe708
1404a88a1:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a88a6:	e8 45 08 d0 ff       	call   0x1401a90f0
1404a88ab:	48 8d 15 1e 81 ef 00 	lea    0xef811e(%rip),%rdx        # 0x1413a09d0
1404a88b2:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1404a88b7:	e8 5c 3f 97 00       	call   0x140e1c818
1404a88bc:	90                   	nop
1404a88bd:	b9 02 00 00 00       	mov    $0x2,%ecx
1404a88c2:	e8 39 1e 2e 00       	call   0x14078a700
1404a88c7:	90                   	nop
1404a88c8:	b9 02 00 00 00       	mov    $0x2,%ecx
1404a88cd:	e8 2e 1e 2e 00       	call   0x14078a700
1404a88d2:	cc                   	int3
1404a88d3:	cc                   	int3
1404a88d4:	cc                   	int3
1404a88d5:	cc                   	int3
1404a88d6:	cc                   	int3
1404a88d7:	cc                   	int3
1404a88d8:	cc                   	int3
1404a88d9:	cc                   	int3
1404a88da:	cc                   	int3
1404a88db:	cc                   	int3
1404a88dc:	cc                   	int3
1404a88dd:	cc                   	int3
1404a88de:	cc                   	int3
1404a88df:	cc                   	int3
1404a88e0:	40 53                	rex push %rbx
1404a88e2:	57                   	push   %rdi
1404a88e3:	41 55                	push   %r13
1404a88e5:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1404a88ec:	48 8b 05 0d 06 f1 00 	mov    0xf1060d(%rip),%rax        # 0x1413b8f00
1404a88f3:	48 33 c4             	xor    %rsp,%rax
1404a88f6:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1404a88fb:	48 8d 5a 04          	lea    0x4(%rdx),%rbx
1404a88ff:	4d 8b e9             	mov    %r9,%r13
1404a8902:	4d 8b c8             	mov    %r8,%r9
1404a8905:	4c 8b d2             	mov    %rdx,%r10
1404a8908:	48 8b f9             	mov    %rcx,%rdi
1404a890b:	49 3b d8             	cmp    %r8,%rbx
1404a890e:	0f 87 89 01 00 00    	ja     0x1404a8a9d
1404a8914:	48 8d 4a 02          	lea    0x2(%rdx),%rcx
1404a8918:	48 3b d9             	cmp    %rcx,%rbx
1404a891b:	0f 82 7c 01 00 00    	jb     0x1404a8a9d
1404a8921:	83 7f 20 01          	cmpl   $0x1,0x20(%rdi)
1404a8925:	0f b7 02             	movzwl (%rdx),%eax
1404a8928:	48 89 74 24 70       	mov    %rsi,0x70(%rsp)
1404a892d:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
1404a8932:	75 08                	jne    0x1404a893c
1404a8934:	66 89 07             	mov    %ax,(%rdi)
1404a8937:	0f b7 01             	movzwl (%rcx),%eax
1404a893a:	eb 0e                	jmp    0x1404a894a
1404a893c:	66 c1 c8 08          	ror    $0x8,%ax
1404a8940:	66 89 07             	mov    %ax,(%rdi)
1404a8943:	0f b7 01             	movzwl (%rcx),%eax
1404a8946:	66 c1 c8 08          	ror    $0x8,%ax
1404a894a:	0f b7 f0             	movzwl %ax,%esi
1404a894d:	66 89 47 02          	mov    %ax,0x2(%rdi)
1404a8951:	44 8d 3c 36          	lea    (%rsi,%rsi,1),%r15d
1404a8955:	41 8b cf             	mov    %r15d,%ecx
1404a8958:	48 83 c1 04          	add    $0x4,%rcx
1404a895c:	49 03 ca             	add    %r10,%rcx
1404a895f:	49 3b c9             	cmp    %r9,%rcx
1404a8962:	0f 87 0b 01 00 00    	ja     0x1404a8a73
1404a8968:	48 3b cb             	cmp    %rbx,%rcx
1404a896b:	0f 82 02 01 00 00    	jb     0x1404a8a73
1404a8971:	48 8b c1             	mov    %rcx,%rax
1404a8974:	48 89 6c 24 78       	mov    %rbp,0x78(%rsp)
1404a8979:	49 2b c2             	sub    %r10,%rax
1404a897c:	48 63 ee             	movslq %esi,%rbp
1404a897f:	48 83 e8 04          	sub    $0x4,%rax
1404a8983:	48 99                	cqto
1404a8985:	48 2b c2             	sub    %rdx,%rax
1404a8988:	48 d1 f8             	sar    $1,%rax
1404a898b:	48 3b e8             	cmp    %rax,%rbp
1404a898e:	0f 8f 35 01 00 00    	jg     0x1404a8ac9
1404a8994:	4c 89 64 24 68       	mov    %r12,0x68(%rsp)
1404a8999:	b9 18 00 00 00       	mov    $0x18,%ecx
1404a899e:	45 33 e4             	xor    %r12d,%r12d
1404a89a1:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
1404a89a6:	66 44 89 67 10       	mov    %r12w,0x10(%rdi)
1404a89ab:	e8 58 27 97 00       	call   0x140e1b108
1404a89b0:	48 8b c8             	mov    %rax,%rcx
1404a89b3:	48 85 c0             	test   %rax,%rax
1404a89b6:	74 0d                	je     0x1404a89c5
1404a89b8:	4c 89 20             	mov    %r12,(%rax)
1404a89bb:	4c 89 60 08          	mov    %r12,0x8(%rax)
1404a89bf:	4c 89 60 10          	mov    %r12,0x10(%rax)
1404a89c3:	eb 03                	jmp    0x1404a89c8
1404a89c5:	49 8b cc             	mov    %r12,%rcx
1404a89c8:	4c 8b 64 24 68       	mov    0x68(%rsp),%r12
1404a89cd:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
1404a89d1:	48 8b 41 10          	mov    0x10(%rcx),%rax
1404a89d5:	48 2b 01             	sub    (%rcx),%rax
1404a89d8:	48 d1 f8             	sar    $1,%rax
1404a89db:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1404a89e0:	48 3b e8             	cmp    %rax,%rbp
1404a89e3:	76 0a                	jbe    0x1404a89ef
1404a89e5:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1404a89ea:	e8 f1 f3 d0 ff       	call   0x1401b7de0
1404a89ef:	85 f6                	test   %esi,%esi
1404a89f1:	74 3c                	je     0x1404a8a2f
1404a89f3:	83 7f 20 01          	cmpl   $0x1,0x20(%rdi)
1404a89f7:	0f b7 03             	movzwl (%rbx),%eax
1404a89fa:	74 04                	je     0x1404a8a00
1404a89fc:	66 c1 c8 08          	ror    $0x8,%ax
1404a8a00:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1404a8a04:	66 89 47 10          	mov    %ax,0x10(%rdi)
1404a8a08:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1404a8a0c:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
1404a8a10:	74 0a                	je     0x1404a8a1c