1402785a7:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
1402785ac:	e8 2f 3a fb ff       	call   0x14022bfe0
1402785b1:	41 b8 40 00 00 00    	mov    $0x40,%r8d
1402785b7:	48 8b d6             	mov    %rsi,%rdx
1402785ba:	44 2b c0             	sub    %eax,%r8d
1402785bd:	4d 63 e0             	movslq %r8d,%r12
1402785c0:	49 8b cc             	mov    %r12,%rcx
1402785c3:	48 d3 e5             	shl    %cl,%rbp
1402785c6:	48 8b ce             	mov    %rsi,%rcx
1402785c9:	e8 42 dc 00 00       	call   0x140286210
1402785ce:	85 c0                	test   %eax,%eax
1402785d0:	75 09                	jne    0x1402785db
1402785d2:	49 8d 7e ff          	lea    -0x1(%r14),%rdi
1402785d6:	e9 82 00 00 00       	jmp    0x14027865d
1402785db:	8b 46 08             	mov    0x8(%rsi),%eax
1402785de:	83 e8 01             	sub    $0x1,%eax
1402785e1:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
1402785e6:	4c 63 f8             	movslq %eax,%r15
1402785e9:	78 39                	js     0x140278624
1402785eb:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
1402785f0:	48 8b 06             	mov    (%rsi),%rax
1402785f3:	4c 8b c5             	mov    %rbp,%r8
1402785f6:	49 8b ce             	mov    %r14,%rcx
1402785f9:	4a 8b 1c f8          	mov    (%rax,%r15,8),%rbx
1402785fd:	48 8b d3             	mov    %rbx,%rdx
140278600:	e8 7b 1e 04 00       	call   0x1402ba480
140278605:	48 8b c8             	mov    %rax,%rcx
140278608:	4c 8b f3             	mov    %rbx,%r14
14027860b:	48 0f af cd          	imul   %rbp,%rcx
14027860f:	4c 2b f1             	sub    %rcx,%r14
140278612:	48 8b 0e             	mov    (%rsi),%rcx
140278615:	4a 89 04 f9          	mov    %rax,(%rcx,%r15,8)
140278619:	49 83 ef 01          	sub    $0x1,%r15
14027861d:	79 d1                	jns    0x1402785f0
14027861f:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140278624:	48 63 46 08          	movslq 0x8(%rsi),%rax
140278628:	4c 8b 7c 24 58       	mov    0x58(%rsp),%r15
14027862d:	44 8b c0             	mov    %eax,%r8d
140278630:	85 c0                	test   %eax,%eax
140278632:	7e 18                	jle    0x14027864c
140278634:	48 8b d0             	mov    %rax,%rdx
140278637:	44 8d 48 ff          	lea    -0x1(%rax),%r9d
14027863b:	48 8b 06             	mov    (%rsi),%rax
14027863e:	48 39 7c d0 f8       	cmp    %rdi,-0x8(%rax,%rdx,8)
140278643:	75 07                	jne    0x14027864c
140278645:	44 89 4e 08          	mov    %r9d,0x8(%rsi)
140278649:	45 8b c1             	mov    %r9d,%r8d
14027864c:	49 8b cc             	mov    %r12,%rcx
14027864f:	49 d3 ee             	shr    %cl,%r14
140278652:	45 85 c0             	test   %r8d,%r8d
140278655:	75 03                	jne    0x14027865a
140278657:	89 7e 10             	mov    %edi,0x10(%rsi)
14027865a:	49 8b fe             	mov    %r14,%rdi
14027865d:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140278662:	48 8b ce             	mov    %rsi,%rcx
140278665:	e8 36 36 fb ff       	call   0x14022bca0
14027866a:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
14027866f:	48 8b c7             	mov    %rdi,%rax
140278672:	48 83 c4 20          	add    $0x20,%rsp
140278676:	5f                   	pop    %rdi
140278677:	5e                   	pop    %rsi
140278678:	5d                   	pop    %rbp
140278679:	c3                   	ret
14027867a:	44 8b 41 08          	mov    0x8(%rcx),%r8d
14027867e:	41 83 e8 01          	sub    $0x1,%r8d
140278682:	78 40                	js     0x1402786c4
140278684:	48 8b 09             	mov    (%rcx),%rcx
140278687:	49 63 c0             	movslq %r8d,%rax
14027868a:	4c 8d 0c c1          	lea    (%rcx,%rax,8),%r9
14027868e:	66 90                	xchg   %ax,%ax
140278690:	49 8b 09             	mov    (%r9),%rcx
140278693:	4d 8d 49 f8          	lea    -0x8(%r9),%r9
140278697:	33 d2                	xor    %edx,%edx
140278699:	48 c1 e7 20          	shl    $0x20,%rdi
14027869d:	48 8b c1             	mov    %rcx,%rax
1402786a0:	8b c9                	mov    %ecx,%ecx
1402786a2:	48 c1 e8 20          	shr    $0x20,%rax
1402786a6:	48 0b c7             	or     %rdi,%rax
1402786a9:	48 f7 f5             	div    %rbp
1402786ac:	48 8b c2             	mov    %rdx,%rax
1402786af:	33 d2                	xor    %edx,%edx
1402786b1:	48 c1 e0 20          	shl    $0x20,%rax
1402786b5:	48 0b c1             	or     %rcx,%rax
1402786b8:	48 f7 f5             	div    %rbp
1402786bb:	41 83 e8 01          	sub    $0x1,%r8d
1402786bf:	48 8b fa             	mov    %rdx,%rdi
1402786c2:	79 cc                	jns    0x140278690
1402786c4:	48 8b c7             	mov    %rdi,%rax
1402786c7:	48 83 c4 20          	add    $0x20,%rsp
1402786cb:	5f                   	pop    %rdi
1402786cc:	5e                   	pop    %rsi
1402786cd:	5d                   	pop    %rbp
1402786ce:	c3                   	ret
1402786cf:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
1402786d6:	48 83 c4 20          	add    $0x20,%rsp
1402786da:	5f                   	pop    %rdi
1402786db:	5e                   	pop    %rsi
1402786dc:	5d                   	pop    %rbp
1402786dd:	c3                   	ret
1402786de:	cc                   	int3
1402786df:	cc                   	int3
1402786e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402786e5:	57                   	push   %rdi
1402786e6:	b8 20 00 00 00       	mov    $0x20,%eax
1402786eb:	e8 f0 1e 08 00       	call   0x1402fa5e0
1402786f0:	48 2b e0             	sub    %rax,%rsp
1402786f3:	44 8b 41 08          	mov    0x8(%rcx),%r8d
1402786f7:	48 8b d9             	mov    %rcx,%rbx
1402786fa:	45 85 c0             	test   %r8d,%r8d
1402786fd:	74 5b                	je     0x14027875a
1402786ff:	48 85 d2             	test   %rdx,%rdx
140278702:	75 15                	jne    0x140278719
140278704:	e8 67 3b fb ff       	call   0x14022c270
140278709:	b8 01 00 00 00       	mov    $0x1,%eax
14027870e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140278713:	48 83 c4 20          	add    $0x20,%rsp
140278717:	5f                   	pop    %rdi
140278718:	c3                   	ret
140278719:	48 8b 09             	mov    (%rcx),%rcx
14027871c:	4c 8b ca             	mov    %rdx,%r9
14027871f:	48 8b d1             	mov    %rcx,%rdx
140278722:	e8 d9 2b 04 00       	call   0x1402bb300
140278727:	48 8b f8             	mov    %rax,%rdi
14027872a:	48 85 c0             	test   %rax,%rax
14027872d:	74 2b                	je     0x14027875a
14027872f:	8b 53 08             	mov    0x8(%rbx),%edx
140278732:	48 8b cb             	mov    %rbx,%rcx
140278735:	ff c2                	inc    %edx
140278737:	e8 c4 40 fb ff       	call   0x14022c800
14027873c:	48 85 c0             	test   %rax,%rax
14027873f:	75 0b                	jne    0x14027874c
140278741:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140278746:	48 83 c4 20          	add    $0x20,%rsp
14027874a:	5f                   	pop    %rdi
14027874b:	c3                   	ret
14027874c:	48 63 4b 08          	movslq 0x8(%rbx),%rcx
140278750:	48 8b 03             	mov    (%rbx),%rax
140278753:	48 89 3c c8          	mov    %rdi,(%rax,%rcx,8)
140278757:	ff 43 08             	incl   0x8(%rbx)
14027875a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14027875f:	b8 01 00 00 00       	mov    $0x1,%eax
140278764:	48 83 c4 20          	add    $0x20,%rsp
140278768:	5f                   	pop    %rdi
140278769:	c3                   	ret
14027876a:	cc                   	int3
14027876b:	cc                   	int3
14027876c:	cc                   	int3
14027876d:	cc                   	int3
14027876e:	cc                   	int3
14027876f:	cc                   	int3
140278770:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140278775:	57                   	push   %rdi
140278776:	b8 20 00 00 00       	mov    $0x20,%eax
14027877b:	e8 60 1e 08 00       	call   0x1402fa5e0
140278780:	48 2b e0             	sub    %rax,%rsp
140278783:	48 8b fa             	mov    %rdx,%rdi
140278786:	48 8b d9             	mov    %rcx,%rbx
140278789:	48 85 d2             	test   %rdx,%rdx
14027878c:	0f 84 e3 00 00 00    	je     0x140278875
140278792:	e8 69 36 fb ff       	call   0x14022be00
140278797:	85 c0                	test   %eax,%eax
140278799:	74 2b                	je     0x1402787c6
14027879b:	48 8b d7             	mov    %rdi,%rdx
14027879e:	48 8b cb             	mov    %rbx,%rcx
1402787a1:	e8 ca 3a fb ff       	call   0x14022c270
1402787a6:	8b f8                	mov    %eax,%edi
1402787a8:	85 c0                	test   %eax,%eax
1402787aa:	74 0d                	je     0x1402787b9
1402787ac:	ba 01 00 00 00       	mov    $0x1,%edx
1402787b1:	48 8b cb             	mov    %rbx,%rcx
1402787b4:	e8 97 3a fb ff       	call   0x14022c250
1402787b9:	8b c7                	mov    %edi,%eax
1402787bb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1402787c0:	48 83 c4 20          	add    $0x20,%rsp
1402787c4:	5f                   	pop    %rdi
1402787c5:	c3                   	ret
1402787c6:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
1402787ca:	74 22                	je     0x1402787ee
1402787cc:	33 d2                	xor    %edx,%edx
1402787ce:	48 8b cb             	mov    %rbx,%rcx
1402787d1:	89 53 10             	mov    %edx,0x10(%rbx)
1402787d4:	48 8b d7             	mov    %rdi,%rdx
1402787d7:	e8 a4 fa ff ff       	call   0x140278280
1402787dc:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
1402787e3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1402787e8:	48 83 c4 20          	add    $0x20,%rsp
1402787ec:	5f                   	pop    %rdi
1402787ed:	c3                   	ret
1402787ee:	83 7b 08 01          	cmpl   $0x1,0x8(%rbx)
1402787f2:	75 28                	jne    0x14027881c
1402787f4:	48 8b 03             	mov    (%rbx),%rax
1402787f7:	48 8b 08             	mov    (%rax),%rcx
1402787fa:	48 3b cf             	cmp    %rdi,%rcx
1402787fd:	73 1d                	jae    0x14027881c
1402787ff:	48 2b f9             	sub    %rcx,%rdi
140278802:	48 89 38             	mov    %rdi,(%rax)
140278805:	b8 01 00 00 00       	mov    $0x1,%eax
14027880a:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
140278811:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140278816:	48 83 c4 20          	add    $0x20,%rsp
14027881a:	5f                   	pop    %rdi
14027881b:	c3                   	ret
14027881c:	4c 8b 03             	mov    (%rbx),%r8
14027881f:	33 d2                	xor    %edx,%edx
140278821:	49 39 38             	cmp    %rdi,(%r8)
140278824:	73 2a                	jae    0x140278850
140278826:	8b c2                	mov    %edx,%eax
140278828:	8b ca                	mov    %edx,%ecx
14027882a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140278830:	4a 29 3c 01          	sub    %rdi,(%rcx,%r8,1)
140278834:	48 8d 40 01          	lea    0x1(%rax),%rax
140278838:	4c 8b 03             	mov    (%rbx),%r8
14027883b:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
140278842:	00
140278843:	ff c2                	inc    %edx
140278845:	bf 01 00 00 00       	mov    $0x1,%edi
14027884a:	49 39 3c 08          	cmp    %rdi,(%r8,%rcx,1)
14027884e:	72 e0                	jb     0x140278830
140278850:	48 63 c2             	movslq %edx,%rax
140278853:	48 8d 0c c5 00 00 00 	lea    0x0(,%rax,8),%rcx
14027885a:	00
14027885b:	4a 29 3c 01          	sub    %rdi,(%rcx,%r8,1)
14027885f:	48 8b 03             	mov    (%rbx),%rax
140278862:	48 83 3c 01 00       	cmpq   $0x0,(%rcx,%rax,1)
140278867:	75 0c                	jne    0x140278875
140278869:	8b 43 08             	mov    0x8(%rbx),%eax
14027886c:	ff c8                	dec    %eax
14027886e:	3b d0                	cmp    %eax,%edx
140278870:	75 03                	jne    0x140278875
140278872:	89 43 08             	mov    %eax,0x8(%rbx)
140278875:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14027887a:	b8 01 00 00 00       	mov    $0x1,%eax
14027887f:	48 83 c4 20          	add    $0x20,%rsp
140278883:	5f                   	pop    %rdi
140278884:	c3                   	ret
140278885:	cc                   	int3
140278886:	cc                   	int3
140278887:	cc                   	int3
140278888:	cc                   	int3
140278889:	cc                   	int3
14027888a:	cc                   	int3
14027888b:	cc                   	int3
14027888c:	cc                   	int3
14027888d:	cc                   	int3
14027888e:	cc                   	int3
14027888f:	cc                   	int3
140278890:	b8 38 00 00 00       	mov    $0x38,%eax
140278895:	e8 46 1d 08 00       	call   0x1402fa5e0
14027889a:	48 2b e0             	sub    %rax,%rsp
14027889d:	45 8b c8             	mov    %r8d,%r9d
1402788a0:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1402788a7:	00
1402788a8:	4c 8b c2             	mov    %rdx,%r8
1402788ab:	48 8b d1             	mov    %rcx,%rdx
1402788ae:	48 8d 0d 3b 04 00 00 	lea    0x43b(%rip),%rcx        # 0x140278cf0
1402788b5:	e8 36 00 00 00       	call   0x1402788f0
1402788ba:	48 83 c4 38          	add    $0x38,%rsp
1402788be:	c3                   	ret
1402788bf:	cc                   	int3
1402788c0:	b8 38 00 00 00       	mov    $0x38,%eax
1402788c5:	e8 16 1d 08 00       	call   0x1402fa5e0
1402788ca:	48 2b e0             	sub    %rax,%rsp
1402788cd:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
1402788d2:	45 8b c8             	mov    %r8d,%r9d
1402788d5:	4c 8b c2             	mov    %rdx,%r8
1402788d8:	48 8b d1             	mov    %rcx,%rdx
1402788db:	48 8d 0d 0e 04 00 00 	lea    0x40e(%rip),%rcx        # 0x140278cf0
1402788e2:	e8 09 00 00 00       	call   0x1402788f0
1402788e7:	48 83 c4 38          	add    $0x38,%rsp
1402788eb:	c3                   	ret
1402788ec:	cc                   	int3
1402788ed:	cc                   	int3
1402788ee:	cc                   	int3
1402788ef:	cc                   	int3
1402788f0:	40 55                	rex push %rbp
1402788f2:	41 54                	push   %r12
1402788f4:	41 55                	push   %r13
1402788f6:	41 56                	push   %r14
1402788f8:	b8 a8 01 00 00       	mov    $0x1a8,%eax
1402788fd:	e8 de 1c 08 00       	call   0x1402fa5e0
140278902:	48 2b e0             	sub    %rax,%rsp
140278905:	48 8b 05 74 f8 18 00 	mov    0x18f874(%rip),%rax        # 0x140408180
14027890c:	48 33 c4             	xor    %rsp,%rax
14027890f:	48 89 84 24 80 01 00 	mov    %rax,0x180(%rsp)
140278916:	00
140278917:	45 33 f6             	xor    %r14d,%r14d
14027891a:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
14027891f:	45 8b e1             	mov    %r9d,%r12d
140278922:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140278927:	44 8b 8c 24 f0 01 00 	mov    0x1f0(%rsp),%r9d
14027892e:	00
14027892f:	4d 8b e8             	mov    %r8,%r13
140278932:	44 89 74 24 30       	mov    %r14d,0x30(%rsp)
140278937:	45 85 c9             	test   %r9d,%r9d
14027893a:	79 05                	jns    0x140278941
14027893c:	45 33 c9             	xor    %r9d,%r9d
14027893f:	eb 0c                	jmp    0x14027894d
140278941:	b8 40 00 00 00       	mov    $0x40,%eax
140278946:	44 3b c8             	cmp    %eax,%r9d
140278949:	44 0f 4f c8          	cmovg  %eax,%r9d
14027894d:	b8 06 00 00 00       	mov    $0x6,%eax
140278952:	48 89 9c 24 e8 01 00 	mov    %rbx,0x1e8(%rsp)
140278959:	00
14027895a:	44 3b c8             	cmp    %eax,%r9d
14027895d:	48 89 b4 24 a0 01 00 	mov    %rsi,0x1a0(%rsp)
140278964:	00
140278965:	41 8b c9             	mov    %r9d,%ecx
140278968:	48 89 bc 24 98 01 00 	mov    %rdi,0x198(%rsp)
14027896f:	00
140278970:	0f 4f c8             	cmovg  %eax,%ecx
140278973:	44 89 8c 24 f0 01 00 	mov    %r9d,0x1f0(%rsp)
14027897a:	00
14027897b:	41 8b c1             	mov    %r9d,%eax
14027897e:	4c 89 bc 24 90 01 00 	mov    %r15,0x190(%rsp)
140278985:	00
140278986:	2b c1                	sub    %ecx,%eax
140278988:	44 89 74 24 34       	mov    %r14d,0x34(%rsp)
14027898d:	83 c0 03             	add    $0x3,%eax
140278990:	41 ba 10 00 00 00    	mov    $0x10,%r10d
140278996:	99                   	cltd
140278997:	41 8b cc             	mov    %r12d,%ecx
14027899a:	83 e2 03             	and    $0x3,%edx
14027899d:	03 c2                	add    %edx,%eax
14027899f:	c1 f8 02             	sar    $0x2,%eax
1402789a2:	44 2b d0             	sub    %eax,%r10d
1402789a5:	41 8b c4             	mov    %r12d,%eax
1402789a8:	99                   	cltd
1402789a9:	44 89 54 24 38       	mov    %r10d,0x38(%rsp)
1402789ae:	41 f7 fa             	idiv   %r10d
1402789b1:	49 63 ea             	movslq %r10d,%rbp
1402789b4:	44 8b c0             	mov    %eax,%r8d
1402789b7:	41 8b c4             	mov    %r12d,%eax
1402789ba:	99                   	cltd
1402789bb:	41 f7 fa             	idiv   %r10d
1402789be:	41 8d 40 01          	lea    0x1(%r8),%eax
1402789c2:	2b ca                	sub    %edx,%ecx
1402789c4:	41 3b cc             	cmp    %r12d,%ecx
1402789c7:	41 0f 4d c0          	cmovge %r8d,%eax
1402789cb:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
1402789cf:	85 c0                	test   %eax,%eax
1402789d1:	0f 8e bd 01 00 00    	jle    0x140278b94
1402789d7:	45 33 ff             	xor    %r15d,%r15d
1402789da:	48 8d 0d 57 1f 0b 00 	lea    0xb1f57(%rip),%rcx        # 0x14032a938
1402789e1:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
1402789e6:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1402789eb:	4c 8d 05 a6 fc 10 00 	lea    0x10fca6(%rip),%r8        # 0x140388698
1402789f2:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1402789f7:	ba 21 01 00 00       	mov    $0x121,%edx
1402789fc:	e8 7f 15 fb ff       	call   0x140229f80
140278a01:	33 ff                	xor    %edi,%edi