14003260f:	85 ff                	test   %edi,%edi
140032611:	7f ad                	jg     0x1400325c0
140032613:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140032618:	49 8d 7e ff          	lea    -0x1(%r14),%rdi
14003261c:	45 33 c0             	xor    %r8d,%r8d
14003261f:	90                   	nop
140032620:	4f 8d 14 92          	lea    (%r10,%r10,4),%r10
140032624:	4c 63 dd             	movslq %ebp,%r11
140032627:	4d 03 d2             	add    %r10,%r10
14003262a:	48 8d 34 b6          	lea    (%rsi,%rsi,4),%rsi
14003262e:	49 8b d2             	mov    %r10,%rdx
140032631:	4f 8d 0c 89          	lea    (%r9,%r9,4),%r9
140032635:	41 8b cc             	mov    %r12d,%ecx
140032638:	ff c5                	inc    %ebp
14003263a:	48 d3 ea             	shr    %cl,%rdx
14003263d:	4c 23 d7             	and    %rdi,%r10
140032640:	80 c2 30             	add    $0x30,%dl
140032643:	41 ff c0             	inc    %r8d
140032646:	48 03 f6             	add    %rsi,%rsi
140032649:	41 88 14 1b          	mov    %dl,(%r11,%rbx,1)
14003264d:	4d 03 c9             	add    %r9,%r9
140032650:	4c 3b d6             	cmp    %rsi,%r10
140032653:	77 cb                	ja     0x140032620
140032655:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14003265a:	45 29 45 00          	sub    %r8d,0x0(%r13)
14003265e:	89 28                	mov    %ebp,(%rax)
140032660:	4d 3b d1             	cmp    %r9,%r10
140032663:	0f 83 8c 00 00 00    	jae    0x1400326f5
140032669:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140032670:	48 8b c6             	mov    %rsi,%rax
140032673:	49 2b c2             	sub    %r10,%rax
140032676:	49 3b c6             	cmp    %r14,%rax
140032679:	72 7a                	jb     0x1400326f5
14003267b:	4f 8d 04 16          	lea    (%r14,%r10,1),%r8
14003267f:	4d 3b c1             	cmp    %r9,%r8
140032682:	72 14                	jb     0x140032698
140032684:	49 8b ce             	mov    %r14,%rcx
140032687:	49 8b c1             	mov    %r9,%rax
14003268a:	49 2b c9             	sub    %r9,%rcx
14003268d:	49 2b c2             	sub    %r10,%rax
140032690:	49 03 ca             	add    %r10,%rcx
140032693:	48 3b c1             	cmp    %rcx,%rax
140032696:	76 5d                	jbe    0x1400326f5
140032698:	fe ca                	dec    %dl
14003269a:	4d 8b d0             	mov    %r8,%r10
14003269d:	41 88 14 1b          	mov    %dl,(%r11,%rbx,1)
1400326a1:	4d 3b c1             	cmp    %r9,%r8
1400326a4:	72 ca                	jb     0x140032670
1400326a6:	eb 4d                	jmp    0x1400326f5
1400326a8:	41 01 7d 00          	add    %edi,0x0(%r13)
1400326ac:	45 8b c3             	mov    %r11d,%r8d
1400326af:	49 d3 e0             	shl    %cl,%r8
1400326b2:	49 3b d1             	cmp    %r9,%rdx
1400326b5:	73 3e                	jae    0x1400326f5
1400326b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400326be:	00 00
1400326c0:	48 8b c6             	mov    %rsi,%rax
1400326c3:	48 2b c2             	sub    %rdx,%rax
1400326c6:	49 3b c0             	cmp    %r8,%rax
1400326c9:	72 2a                	jb     0x1400326f5
1400326cb:	4e 8d 14 02          	lea    (%rdx,%r8,1),%r10
1400326cf:	4d 3b d1             	cmp    %r9,%r10
1400326d2:	72 14                	jb     0x1400326e8
1400326d4:	48 8b ca             	mov    %rdx,%rcx
1400326d7:	49 8b c1             	mov    %r9,%rax
1400326da:	49 2b c9             	sub    %r9,%rcx
1400326dd:	48 2b c2             	sub    %rdx,%rax
1400326e0:	49 03 c8             	add    %r8,%rcx
1400326e3:	48 3b c1             	cmp    %rcx,%rax
1400326e6:	76 0d                	jbe    0x1400326f5
1400326e8:	fe cb                	dec    %bl
1400326ea:	49 8b d2             	mov    %r10,%rdx
1400326ed:	41 88 1f             	mov    %bl,(%r15)
1400326f0:	4d 3b d1             	cmp    %r9,%r10
1400326f3:	72 cb                	jb     0x1400326c0
1400326f5:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400326fa:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1400326ff:	41 5f                	pop    %r15
140032701:	41 5e                	pop    %r14
140032703:	41 5d                	pop    %r13
140032705:	41 5c                	pop    %r12
140032707:	5f                   	pop    %rdi
140032708:	5e                   	pop    %rsi
140032709:	c3                   	ret
14003270a:	cc                   	int3
14003270b:	cc                   	int3
14003270c:	cc                   	int3
14003270d:	cc                   	int3
14003270e:	cc                   	int3
14003270f:	cc                   	int3
140032710:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140032715:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14003271a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14003271f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140032724:	55                   	push   %rbp
140032725:	56                   	push   %rsi
140032726:	57                   	push   %rdi
140032727:	41 54                	push   %r12
140032729:	41 55                	push   %r13
14003272b:	41 56                	push   %r14
14003272d:	41 57                	push   %r15
14003272f:	48 83 ec 60          	sub    $0x60,%rsp
140032733:	48 8b bc 24 c8 00 00 	mov    0xc8(%rsp),%rdi
14003273a:	00
14003273b:	45 33 c0             	xor    %r8d,%r8d
14003273e:	4c 8b 9c 24 c0 00 00 	mov    0xc0(%rsp),%r11
140032745:	00
140032746:	4d 8b e1             	mov    %r9,%r12
140032749:	41 ba c3 ff ff ff    	mov    $0xffffffc3,%r10d
14003274f:	44 8b 6f 08          	mov    0x8(%rdi),%r13d
140032753:	45 2b d5             	sub    %r13d,%r10d
140032756:	48 8b 3f             	mov    (%rdi),%rdi
140032759:	41 69 c2 41 34 01 00 	imul   $0x13441,%r10d,%eax
140032760:	99                   	cltd
140032761:	81 e2 ff ff 03 00    	and    $0x3ffff,%edx
140032767:	03 c2                	add    %edx,%eax
140032769:	c1 f8 12             	sar    $0x12,%eax
14003276c:	45 85 d2             	test   %r10d,%r10d
14003276f:	4d 8b 13             	mov    (%r11),%r10
140032772:	41 0f 9f c0          	setg   %r8b
140032776:	41 81 c0 33 01 00 00 	add    $0x133,%r8d
14003277d:	41 03 c0             	add    %r8d,%eax
140032780:	99                   	cltd
140032781:	83 e2 07             	and    $0x7,%edx
140032784:	03 c2                	add    %edx,%eax
140032786:	c1 f8 03             	sar    $0x3,%eax
140032789:	48 63 c8             	movslq %eax,%rcx
14003278c:	48 8d 05 6d 09 03 00 	lea    0x3096d(%rip),%rax        # 0x140063100
140032793:	48 03 c9             	add    %rcx,%rcx
140032796:	0f 10 04 c8          	movups (%rax,%rcx,8),%xmm0
14003279a:	41 8b c2             	mov    %r10d,%eax
14003279d:	49 c1 ea 20          	shr    $0x20,%r10
1400327a1:	66 49 0f 7e c7       	movq   %xmm0,%r15
1400327a6:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
1400327ab:	45 8b f7             	mov    %r15d,%r14d
1400327ae:	66 48 0f 7e c5       	movq   %xmm0,%rbp
1400327b3:	49 c1 ef 20          	shr    $0x20,%r15
1400327b7:	45 8b c6             	mov    %r14d,%r8d
1400327ba:	4d 0f af c2          	imul   %r10,%r8
1400327be:	41 8b d6             	mov    %r14d,%edx
1400327c1:	4d 8b cf             	mov    %r15,%r9
1400327c4:	48 0f af d0          	imul   %rax,%rdx
1400327c8:	4c 0f af c8          	imul   %rax,%r9
1400327cc:	41 8b c0             	mov    %r8d,%eax
1400327cf:	49 8b f7             	mov    %r15,%rsi
1400327d2:	48 c1 ea 20          	shr    $0x20,%rdx
1400327d6:	41 8b de             	mov    %r14d,%ebx
1400327d9:	48 03 d0             	add    %rax,%rdx
1400327dc:	49 c1 e8 20          	shr    $0x20,%r8
1400327e0:	b8 00 00 00 80       	mov    $0x80000000,%eax
1400327e5:	48 03 d0             	add    %rax,%rdx
1400327e8:	49 8b c7             	mov    %r15,%rax
1400327eb:	49 0f af c2          	imul   %r10,%rax
1400327ef:	4d 8b 14 24          	mov    (%r12),%r10
1400327f3:	41 8b c9             	mov    %r9d,%ecx
1400327f6:	48 03 d1             	add    %rcx,%rdx
1400327f9:	49 c1 e9 20          	shr    $0x20,%r9
1400327fd:	48 c1 ea 20          	shr    $0x20,%rdx
140032801:	48 03 d0             	add    %rax,%rdx
140032804:	41 8b 43 08          	mov    0x8(%r11),%eax
140032808:	49 03 d0             	add    %r8,%rdx
14003280b:	83 c0 40             	add    $0x40,%eax
14003280e:	49 03 d1             	add    %r9,%rdx
140032811:	03 c5                	add    %ebp,%eax
140032813:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
140032818:	45 8b c6             	mov    %r14d,%r8d
14003281b:	89 44 24 48          	mov    %eax,0x48(%rsp)
14003281f:	41 8b d6             	mov    %r14d,%edx
140032822:	41 8b c2             	mov    %r10d,%eax
140032825:	4d 8b df             	mov    %r15,%r11
140032828:	48 0f af d0          	imul   %rax,%rdx
14003282c:	4c 0f af d8          	imul   %rax,%r11
140032830:	48 c1 ea 20          	shr    $0x20,%rdx
140032834:	49 c1 ea 20          	shr    $0x20,%r10
140032838:	4d 0f af c2          	imul   %r10,%r8
14003283c:	44 8b cf             	mov    %edi,%r9d
14003283f:	41 8b c0             	mov    %r8d,%eax
140032842:	48 03 d0             	add    %rax,%rdx
140032845:	48 c1 ef 20          	shr    $0x20,%rdi
140032849:	b8 00 00 00 80       	mov    $0x80000000,%eax
14003284e:	41 8b cb             	mov    %r11d,%ecx
140032851:	48 03 d0             	add    %rax,%rdx
140032854:	49 0f af f1          	imul   %r9,%rsi
140032858:	48 0f af df          	imul   %rdi,%rbx
14003285c:	48 03 d1             	add    %rcx,%rdx
14003285f:	41 8b 4c 24 08       	mov    0x8(%r12),%ecx
140032864:	49 8b c7             	mov    %r15,%rax
140032867:	0f 28 4c 24 40       	movaps 0x40(%rsp),%xmm1
14003286c:	83 c1 40             	add    $0x40,%ecx
14003286f:	49 0f af c2          	imul   %r10,%rax
140032873:	4d 0f af f1          	imul   %r9,%r14
140032877:	4c 0f af ff          	imul   %rdi,%r15
14003287b:	66 0f 7f 4c 24 40    	movdqa %xmm1,0x40(%rsp)
140032881:	48 c1 ea 20          	shr    $0x20,%rdx
140032885:	03 cd                	add    %ebp,%ecx
140032887:	89 4c 24 58          	mov    %ecx,0x58(%rsp)
14003288b:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
140032890:	48 ff c2             	inc    %rdx
140032893:	49 c1 e8 20          	shr    $0x20,%r8
140032897:	48 03 c2             	add    %rdx,%rax
14003289a:	8b ce                	mov    %esi,%ecx
14003289c:	49 03 c0             	add    %r8,%rax
14003289f:	49 c1 eb 20          	shr    $0x20,%r11
1400328a3:	49 03 c3             	add    %r11,%rax
1400328a6:	49 c1 ee 20          	shr    $0x20,%r14
1400328aa:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1400328af:	ba 00 00 00 80       	mov    $0x80000000,%edx
1400328b4:	8b c3                	mov    %ebx,%eax
1400328b6:	4c 03 f0             	add    %rax,%r14
1400328b9:	48 c1 ee 20          	shr    $0x20,%rsi
1400328bd:	49 03 d6             	add    %r14,%rdx
1400328c0:	48 c1 eb 20          	shr    $0x20,%rbx
1400328c4:	48 03 d1             	add    %rcx,%rdx
1400328c7:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400328cc:	48 c1 ea 20          	shr    $0x20,%rdx
1400328d0:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1400328d5:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
1400328d9:	49 03 d7             	add    %r15,%rdx
1400328dc:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400328e1:	48 03 d3             	add    %rbx,%rdx
1400328e4:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400328e9:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
1400328f0:	00
1400328f1:	48 03 c2             	add    %rdx,%rax
1400328f4:	48 8b 94 24 a8 00 00 	mov    0xa8(%rsp),%rdx
1400328fb:	00
1400328fc:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140032901:	41 8d 45 40          	lea    0x40(%r13),%eax
140032905:	03 c5                	add    %ebp,%eax
140032907:	48 c1 ed 20          	shr    $0x20,%rbp
14003290b:	89 44 24 38          	mov    %eax,0x38(%rsp)
14003290f:	f7 dd                	neg    %ebp
140032911:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
140032918:	00
140032919:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
14003291e:	4c 8b c0             	mov    %rax,%r8
140032921:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
140032927:	0f 28 44 24 50       	movaps 0x50(%rsp),%xmm0
14003292c:	89 28                	mov    %ebp,(%rax)
14003292e:	66 0f 7f 44 24 50    	movdqa %xmm0,0x50(%rsp)
140032934:	e8 77 fb ff ff       	call   0x1400324b0
140032939:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
140032940:	00
140032941:	48 83 c4 60          	add    $0x60,%rsp
140032945:	41 5f                	pop    %r15
140032947:	41 5e                	pop    %r14
140032949:	41 5d                	pop    %r13
14003294b:	41 5c                	pop    %r12
14003294d:	5f                   	pop    %rdi
14003294e:	5e                   	pop    %rsi
14003294f:	5d                   	pop    %rbp
140032950:	c3                   	ret
140032951:	cc                   	int3
140032952:	cc                   	int3
140032953:	cc                   	int3
140032954:	cc                   	int3
140032955:	cc                   	int3
140032956:	cc                   	int3
140032957:	cc                   	int3
140032958:	cc                   	int3
140032959:	cc                   	int3
14003295a:	cc                   	int3
14003295b:	cc                   	int3
14003295c:	cc                   	int3
14003295d:	cc                   	int3
14003295e:	cc                   	int3
14003295f:	cc                   	int3
140032960:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140032965:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14003296a:	41 56                	push   %r14
14003296c:	48 83 ec 20          	sub    $0x20,%rsp
140032970:	42 8d 34 02          	lea    (%rdx,%r8,1),%esi
140032974:	4c 8b f1             	mov    %rcx,%r14
140032977:	3b d6                	cmp    %esi,%edx
140032979:	7f 3d                	jg     0x1400329b8
14003297b:	83 fe 0f             	cmp    $0xf,%esi
14003297e:	7f 38                	jg     0x1400329b8
140032980:	48 63 c2             	movslq %edx,%rax
140032983:	ba 30 00 00 00       	mov    $0x30,%edx
140032988:	48 63 de             	movslq %esi,%rbx
14003298b:	48 03 c8             	add    %rax,%rcx
14003298e:	4c 8b c3             	mov    %rbx,%r8
140032991:	4c 2b c0             	sub    %rax,%r8
140032994:	e8 11 7e 02 00       	call   0x14005a7aa
140032999:	49 8d 46 02          	lea    0x2(%r14),%rax
14003299d:	66 42 c7 04 33 2e 30 	movw   $0x302e,(%rbx,%r14,1)
1400329a4:	48 03 c3             	add    %rbx,%rax
1400329a7:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400329ac:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400329b1:	48 83 c4 20          	add    $0x20,%rsp
1400329b5:	41 5e                	pop    %r14
1400329b7:	c3                   	ret
1400329b8:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1400329bd:	85 f6                	test   %esi,%esi
1400329bf:	7e 30                	jle    0x1400329f1
1400329c1:	83 fe 0f             	cmp    $0xf,%esi
1400329c4:	7f 70                	jg     0x140032a36
1400329c6:	48 63 c6             	movslq %esi,%rax
1400329c9:	48 63 fa             	movslq %edx,%rdi
1400329cc:	4c 8b c7             	mov    %rdi,%r8
1400329cf:	4c 2b c0             	sub    %rax,%r8
1400329d2:	48 8d 1c 08          	lea    (%rax,%rcx,1),%rbx
1400329d6:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
1400329da:	48 8b d3             	mov    %rbx,%rdx
1400329dd:	e8 ef 7e 02 00       	call   0x14005a8d1
1400329e2:	48 8d 47 01          	lea    0x1(%rdi),%rax
1400329e6:	c6 03 2e             	movb   $0x2e,(%rbx)
1400329e9:	49 03 c6             	add    %r14,%rax
1400329ec:	e9 17 01 00 00       	jmp    0x140032b08
1400329f1:	83 fe fc             	cmp    $0xfffffffc,%esi
1400329f4:	7e 40                	jle    0x140032a36
1400329f6:	48 63 fa             	movslq %edx,%rdi
1400329f9:	48 83 c1 02          	add    $0x2,%rcx
1400329fd:	f7 de                	neg    %esi
1400329ff:	4c 8b c7             	mov    %rdi,%r8
140032a02:	48 63 de             	movslq %esi,%rbx
140032a05:	49 8b d6             	mov    %r14,%rdx
140032a08:	48 03 cb             	add    %rbx,%rcx
140032a0b:	e8 c1 7e 02 00       	call   0x14005a8d1
140032a10:	49 8d 4e 02          	lea    0x2(%r14),%rcx
140032a14:	66 41 c7 06 30 2e    	movw   $0x2e30,(%r14)
140032a1a:	4c 8b c3             	mov    %rbx,%r8
140032a1d:	ba 30 00 00 00       	mov    $0x30,%edx
140032a22:	e8 83 7d 02 00       	call   0x14005a7aa
140032a27:	48 8d 47 02          	lea    0x2(%rdi),%rax
140032a2b:	48 03 c3             	add    %rbx,%rax
140032a2e:	49 03 c6             	add    %r14,%rax
140032a31:	e9 d2 00 00 00       	jmp    0x140032b08
140032a36:	48 8d 79 01          	lea    0x1(%rcx),%rdi
140032a3a:	83 fa 01             	cmp    $0x1,%edx
140032a3d:	74 1d                	je     0x140032a5c
140032a3f:	48 63 da             	movslq %edx,%rbx
140032a42:	48 83 c1 02          	add    $0x2,%rcx
140032a46:	48 8b d7             	mov    %rdi,%rdx
140032a49:	4c 8d 43 ff          	lea    -0x1(%rbx),%r8
140032a4d:	e8 7f 7e 02 00       	call   0x14005a8d1
140032a52:	c6 07 2e             	movb   $0x2e,(%rdi)
140032a55:	48 8d 7b 01          	lea    0x1(%rbx),%rdi
140032a59:	49 03 fe             	add    %r14,%rdi
140032a5c:	8d 4e ff             	lea    -0x1(%rsi),%ecx
140032a5f:	c6 07 65             	movb   $0x65,(%rdi)
140032a62:	85 c9                	test   %ecx,%ecx
140032a64:	b8 2d 00 00 00       	mov    $0x2d,%eax
140032a69:	ba 2b 00 00 00       	mov    $0x2b,%edx
140032a6e:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140032a74:	0f 49 c2             	cmovns %edx,%eax
140032a77:	44 2b c6             	sub    %esi,%r8d
140032a7a:	85 c9                	test   %ecx,%ecx
140032a7c:	88 47 01             	mov    %al,0x1(%rdi)
140032a7f:	44 0f 49 c1          	cmovns %ecx,%r8d