1402314da:	00
1402314db:	41 03 c7             	add    %r15d,%eax
1402314de:	48 98                	cltq
1402314e0:	4c 8d 14 40          	lea    (%rax,%rax,2),%r10
1402314e4:	4a 8b 84 d3 00 51 1c 	mov    0x11c5100(%rbx,%r10,8),%rax
1402314eb:	01
1402314ec:	49 f7 e3             	mul    %r11
1402314ef:	4a 8b 84 d3 08 51 1c 	mov    0x11c5108(%rbx,%r10,8),%rax
1402314f6:	01
1402314f7:	48 8b ca             	mov    %rdx,%rcx
1402314fa:	49 f7 e3             	mul    %r11
1402314fd:	4c 8b c0             	mov    %rax,%r8
140231500:	4c 8b ca             	mov    %rdx,%r9
140231503:	4a 8b 84 d3 10 51 1c 	mov    0x11c5110(%rbx,%r10,8),%rax
14023150a:	01
14023150b:	49 03 c8             	add    %r8,%rcx
14023150e:	49 f7 e3             	mul    %r11
140231511:	49 3b c8             	cmp    %r8,%rcx
140231514:	41 8b cd             	mov    %r13d,%ecx
140231517:	4c 8b f0             	mov    %rax,%r14
14023151a:	4d 13 f1             	adc    %r9,%r14
14023151d:	49 b9 31 30 95 f8 88 	movabs $0x31680a88f8953031,%r9
140231524:	0a 68 31
140231527:	4c 3b f0             	cmp    %rax,%r14
14023152a:	49 8b c1             	mov    %r9,%rax
14023152d:	48 83 d2 00          	adc    $0x0,%rdx
140231531:	49 0f ad d6          	shrd   %cl,%rdx,%r14
140231535:	4c 8b c2             	mov    %rdx,%r8
140231538:	49 f7 e6             	mul    %r14
14023153b:	49 d3 e8             	shr    %cl,%r8
14023153e:	48 b8 97 a5 b4 36 41 	movabs $0x89705f4136b4a597,%rax
140231545:	5f 70 89
140231548:	48 8b ca             	mov    %rdx,%rcx
14023154b:	49 f7 e6             	mul    %r14
14023154e:	4c 8b d0             	mov    %rax,%r10
140231551:	48 8b da             	mov    %rdx,%rbx
140231554:	49 8b c1             	mov    %r9,%rax
140231557:	49 f7 e0             	mul    %r8
14023155a:	4c 8b c8             	mov    %rax,%r9
14023155d:	4c 8b da             	mov    %rdx,%r11
140231560:	48 b8 97 a5 b4 36 41 	movabs $0x89705f4136b4a597,%rax
140231567:	5f 70 89
14023156a:	49 f7 e0             	mul    %r8
14023156d:	4d 8d 04 09          	lea    (%r9,%rcx,1),%r8
140231571:	4b 8d 0c 10          	lea    (%r8,%r10,1),%rcx
140231575:	49 3b ca             	cmp    %r10,%rcx
140231578:	48 83 d0 00          	adc    $0x0,%rax
14023157c:	4d 3b c1             	cmp    %r9,%r8
14023157f:	49 13 c3             	adc    %r11,%rax
140231582:	48 03 c3             	add    %rbx,%rax
140231585:	48 c1 e8 1d          	shr    $0x1d,%rax
140231589:	69 c0 00 ca 9a 3b    	imul   $0x3b9aca00,%eax,%eax
14023158f:	44 2b f0             	sub    %eax,%r14d
140231592:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
140231597:	84 c0                	test   %al,%al
140231599:	74 26                	je     0x1402315c1
14023159b:	48 8b c5             	mov    %rbp,%rax
14023159e:	48 2b c7             	sub    %rdi,%rax
1402315a1:	48 83 f8 09          	cmp    $0x9,%rax
1402315a5:	0f 8c 58 03 00 00    	jl     0x140231903
1402315ab:	48 8b d7             	mov    %rdi,%rdx
1402315ae:	41 8b ce             	mov    %r14d,%ecx
1402315b1:	e8 0a fd ff ff       	call   0x1402312c0
1402315b6:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
1402315bb:	48 83 c7 09          	add    $0x9,%rdi
1402315bf:	eb 37                	jmp    0x1402315f8
1402315c1:	45 85 f6             	test   %r14d,%r14d
1402315c4:	74 32                	je     0x1402315f8
1402315c6:	41 8b ce             	mov    %r14d,%ecx
1402315c9:	e8 82 5d 00 00       	call   0x140237350
1402315ce:	48 8b cd             	mov    %rbp,%rcx
1402315d1:	8b d8                	mov    %eax,%ebx
1402315d3:	48 2b cf             	sub    %rdi,%rcx
1402315d6:	48 3b cb             	cmp    %rbx,%rcx
1402315d9:	0f 8c 24 03 00 00    	jl     0x140231903
1402315df:	0f ae e8             	lfence
1402315e2:	4c 8b c7             	mov    %rdi,%r8
1402315e5:	41 8b d6             	mov    %r14d,%edx
1402315e8:	8b c8                	mov    %eax,%ecx
1402315ea:	e8 c1 fb ff ff       	call   0x1402311b0
1402315ef:	b0 01                	mov    $0x1,%al
1402315f1:	48 03 fb             	add    %rbx,%rdi
1402315f4:	88 44 24 20          	mov    %al,0x20(%rsp)
1402315f8:	41 83 ef 01          	sub    $0x1,%r15d
1402315fc:	4c 8b 5c 24 30       	mov    0x30(%rsp),%r11
140231601:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140231606:	48 8d 1d f3 e9 dc ff 	lea    -0x23160d(%rip),%rbx        # 0x140000000
14023160d:	0f 89 c0 fe ff ff    	jns    0x1402314d3
140231613:	84 c0                	test   %al,%al
140231615:	75 0f                	jne    0x140231626
140231617:	48 3b fd             	cmp    %rbp,%rdi
14023161a:	0f 84 e3 02 00 00    	je     0x140231903
140231620:	c6 07 30             	movb   $0x30,(%rdi)
140231623:	48 ff c7             	inc    %rdi
140231626:	85 f6                	test   %esi,%esi
140231628:	74 0f                	je     0x140231639
14023162a:	48 3b fd             	cmp    %rbp,%rdi
14023162d:	0f 84 d0 02 00 00    	je     0x140231903
140231633:	c6 07 2e             	movb   $0x2e,(%rdi)
140231636:	48 ff c7             	inc    %rdi
140231639:	44 8b 6c 24 24       	mov    0x24(%rsp),%r13d
14023163e:	45 85 ed             	test   %r13d,%r13d
140231641:	0f 89 86 02 00 00    	jns    0x1402318cd
140231647:	0f ae e8             	lfence
14023164a:	41 8b c5             	mov    %r13d,%eax
14023164d:	33 db                	xor    %ebx,%ebx
14023164f:	99                   	cltd
140231650:	83 e2 0f             	and    $0xf,%edx
140231653:	03 c2                	add    %edx,%eax
140231655:	c1 f8 04             	sar    $0x4,%eax
140231658:	f7 d8                	neg    %eax
14023165a:	4c 63 c8             	movslq %eax,%r9
14023165d:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
140231662:	f7 e6                	mul    %esi
140231664:	4d 8b f9             	mov    %r9,%r15
140231667:	8b c2                	mov    %edx,%eax
140231669:	48 8d 15 90 e9 dc ff 	lea    -0x231670(%rip),%rdx        # 0x140000000
140231670:	d1 e8                	shr    $1,%eax
140231672:	89 44 24 30          	mov    %eax,0x30(%rsp)
140231676:	8d 48 01             	lea    0x1(%rax),%ecx
140231679:	41 0f b6 84 11 30 ec 	movzbl 0xfaec30(%r9,%rdx,1),%eax
140231680:	fa 00
140231682:	89 4c 24 24          	mov    %ecx,0x24(%rsp)
140231686:	3b c8                	cmp    %eax,%ecx
140231688:	0f 86 3f 02 00 00    	jbe    0x1402318cd
14023168e:	85 c0                	test   %eax,%eax
140231690:	74 46                	je     0x1402316d8
140231692:	0f ae e8             	lfence
140231695:	41 0f b6 9c 11 30 ec 	movzbl 0xfaec30(%r9,%rdx,1),%ebx
14023169c:	fa 00
14023169e:	48 8b c5             	mov    %rbp,%rax
1402316a1:	48 2b c7             	sub    %rdi,%rax
1402316a4:	8d 14 db             	lea    (%rbx,%rbx,8),%edx
1402316a7:	44 8b f2             	mov    %edx,%r14d
1402316aa:	49 3b c6             	cmp    %r14,%rax
1402316ad:	0f 8c 50 02 00 00    	jl     0x140231903
1402316b3:	85 d2                	test   %edx,%edx
1402316b5:	74 17                	je     0x1402316ce
1402316b7:	45 8b c6             	mov    %r14d,%r8d
1402316ba:	ba 30 00 00 00       	mov    $0x30,%edx
1402316bf:	48 8b cf             	mov    %rdi,%rcx
1402316c2:	e8 e9 df ca 00       	call   0x140edf6b0
1402316c7:	8b 4c 24 24          	mov    0x24(%rsp),%ecx
1402316cb:	45 8b cf             	mov    %r15d,%r9d
1402316ce:	49 03 fe             	add    %r14,%rdi
1402316d1:	48 8d 15 28 e9 dc ff 	lea    -0x2316d8(%rip),%rdx        # 0x140000000
1402316d8:	3b d9                	cmp    %ecx,%ebx
1402316da:	0f 83 12 02 00 00    	jae    0x1402318f2
1402316e0:	4c 8b f5             	mov    %rbp,%r14
1402316e3:	4c 2b f7             	sub    %rdi,%r14
1402316e6:	41 0f b6 84 17 30 ec 	movzbl 0xfaec30(%r15,%rdx,1),%eax
1402316ed:	fa 00
1402316ef:	42 0f b7 8c 7a a0 eb 	movzwl 0xfaeba0(%rdx,%r15,2),%ecx
1402316f6:	fa 00
1402316f8:	2b c8                	sub    %eax,%ecx
1402316fa:	42 0f b7 84 7a a2 eb 	movzwl 0xfaeba2(%rdx,%r15,2),%eax
140231701:	fa 00
140231703:	03 cb                	add    %ebx,%ecx
140231705:	3b c8                	cmp    %eax,%ecx
140231707:	0f 83 ae 01 00 00    	jae    0x1402318bb
14023170d:	0f ae e8             	lfence
140231710:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
140231714:	41 b8 08 00 00 00    	mov    $0x8,%r8d
14023171a:	48 8d 14 ca          	lea    (%rdx,%rcx,8),%rdx
14023171e:	45 2b c1             	sub    %r9d,%r8d
140231721:	41 c1 e0 04          	shl    $0x4,%r8d
140231725:	48 8d 92 c0 c3 1c 01 	lea    0x11cc3c0(%rdx),%rdx
14023172c:	49 8b cc             	mov    %r12,%rcx
14023172f:	45 2b c5             	sub    %r13d,%r8d
140231732:	48 c1 e1 08          	shl    $0x8,%rcx
140231736:	e8 e5 61 00 00       	call   0x140237920
14023173b:	44 8b c8             	mov    %eax,%r9d
14023173e:	3b 5c 24 30          	cmp    0x30(%rsp),%ebx
140231742:	73 49                	jae    0x14023178d
140231744:	49 83 fe 09          	cmp    $0x9,%r14
140231748:	0f 8c b5 01 00 00    	jl     0x140231903
14023174e:	0f ae e8             	lfence
140231751:	48 8b d7             	mov    %rdi,%rdx
140231754:	8b c8                	mov    %eax,%ecx
140231756:	e8 65 fb ff ff       	call   0x1402312c0
14023175b:	48 83 c7 09          	add    $0x9,%rdi
14023175f:	48 8d 15 9a e8 dc ff 	lea    -0x231766(%rip),%rdx        # 0x140000000
140231766:	49 83 ee 09          	sub    $0x9,%r14
14023176a:	ff c3                	inc    %ebx
14023176c:	45 8b cf             	mov    %r15d,%r9d
14023176f:	3b 5c 24 24          	cmp    0x24(%rsp),%ebx
140231773:	0f 82 6d ff ff ff    	jb     0x1402316e6
140231779:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14023177e:	48 89 38             	mov    %rdi,(%rax)
140231781:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%rax)
140231788:	e9 85 01 00 00       	jmp    0x140231912
14023178d:	8d 04 db             	lea    (%rbx,%rbx,8),%eax
140231790:	44 8b d6             	mov    %esi,%r10d
140231793:	44 2b d0             	sub    %eax,%r10d
140231796:	33 c9                	xor    %ecx,%ecx
140231798:	b8 09 00 00 00       	mov    $0x9,%eax
14023179d:	41 2b c2             	sub    %r10d,%eax
1402317a0:	74 61                	je     0x140231803
1402317a2:	44 8b c0             	mov    %eax,%r8d
1402317a5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1402317ac:	00 00 00 00
1402317b0:	41 8b c9             	mov    %r9d,%ecx
1402317b3:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
1402317b8:	41 f7 e1             	mul    %r9d
1402317bb:	c1 ea 03             	shr    $0x3,%edx
1402317be:	44 8b ca             	mov    %edx,%r9d
1402317c1:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1402317c4:	03 c0                	add    %eax,%eax
1402317c6:	2b c8                	sub    %eax,%ecx
1402317c8:	49 83 e8 01          	sub    $0x1,%r8
1402317cc:	75 e2                	jne    0x1402317b0
1402317ce:	83 f9 05             	cmp    $0x5,%ecx
1402317d1:	75 30                	jne    0x140231803
1402317d3:	f7 d6                	not    %esi
1402317d5:	41 2b f5             	sub    %r13d,%esi
1402317d8:	85 f6                	test   %esi,%esi
1402317da:	7e 20                	jle    0x1402317fc
1402317dc:	83 fe 3c             	cmp    $0x3c,%esi
1402317df:	7d 14                	jge    0x1402317f5
1402317e1:	8b ce                	mov    %esi,%ecx
1402317e3:	b8 01 00 00 00       	mov    $0x1,%eax
1402317e8:	48 d3 e0             	shl    %cl,%rax
1402317eb:	48 ff c8             	dec    %rax
1402317ee:	48 85 44 24 38       	test   %rax,0x38(%rsp)
1402317f3:	74 07                	je     0x1402317fc
1402317f5:	bb 01 00 00 00       	mov    $0x1,%ebx
1402317fa:	eb 0f                	jmp    0x14023180b
1402317fc:	bb 02 00 00 00       	mov    $0x2,%ebx
140231801:	eb 08                	jmp    0x14023180b
140231803:	33 db                	xor    %ebx,%ebx
140231805:	83 f9 05             	cmp    $0x5,%ecx
140231808:	0f 97 c3             	seta   %bl
14023180b:	45 85 d2             	test   %r10d,%r10d
14023180e:	74 26                	je     0x140231836
140231810:	48 8b c5             	mov    %rbp,%rax
140231813:	41 8b f2             	mov    %r10d,%esi
140231816:	48 2b c7             	sub    %rdi,%rax
140231819:	48 3b c6             	cmp    %rsi,%rax
14023181c:	0f 8c e1 00 00 00    	jl     0x140231903
140231822:	0f ae e8             	lfence
140231825:	4c 8b c7             	mov    %rdi,%r8
140231828:	41 8b d1             	mov    %r9d,%edx
14023182b:	41 8b ca             	mov    %r10d,%ecx
14023182e:	e8 cd f8 ff ff       	call   0x140231100
140231833:	48 03 fe             	add    %rsi,%rdi
140231836:	85 db                	test   %ebx,%ebx
140231838:	0f 84 b4 00 00 00    	je     0x1402318f2
14023183e:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140231843:	48 8b c7             	mov    %rdi,%rax
140231846:	48 8b d5             	mov    %rbp,%rdx
140231849:	49 3b f8             	cmp    %r8,%rdi
14023184c:	74 25                	je     0x140231873
14023184e:	66 90                	xchg   %ax,%ax
140231850:	0f b6 48 ff          	movzbl -0x1(%rax),%ecx
140231854:	48 ff c8             	dec    %rax
140231857:	80 f9 2e             	cmp    $0x2e,%cl
14023185a:	75 05                	jne    0x140231861
14023185c:	48 8b d0             	mov    %rax,%rdx
14023185f:	eb 0d                	jmp    0x14023186e
140231861:	80 f9 39             	cmp    $0x39,%cl
140231864:	75 36                	jne    0x14023189c
140231866:	c6 00 30             	movb   $0x30,(%rax)
140231869:	bb 01 00 00 00       	mov    $0x1,%ebx
14023186e:	49 3b c0             	cmp    %r8,%rax
140231871:	75 dd                	jne    0x140231850
140231873:	c6 00 31             	movb   $0x31,(%rax)
140231876:	48 3b d5             	cmp    %rbp,%rdx
140231879:	74 05                	je     0x140231880
14023187b:	66 c7 02 30 2e       	movw   $0x2e30,(%rdx)
140231880:	48 3b fd             	cmp    %rbp,%rdi
140231883:	74 7e                	je     0x140231903
140231885:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14023188a:	c6 07 30             	movb   $0x30,(%rdi)
14023188d:	48 ff c7             	inc    %rdi
140231890:	48 89 38             	mov    %rdi,(%rax)
140231893:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%rax)
14023189a:	eb 76                	jmp    0x140231912
14023189c:	83 fb 01             	cmp    $0x1,%ebx
14023189f:	74 05                	je     0x1402318a6
1402318a1:	f6 c1 01             	test   $0x1,%cl
1402318a4:	74 4c                	je     0x1402318f2
1402318a6:	fe c1                	inc    %cl
1402318a8:	88 08                	mov    %cl,(%rax)
1402318aa:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1402318af:	48 89 38             	mov    %rdi,(%rax)
1402318b2:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%rax)
1402318b9:	eb 57                	jmp    0x140231912
1402318bb:	8d 04 db             	lea    (%rbx,%rbx,8),%eax
1402318be:	2b f0                	sub    %eax,%esi
1402318c0:	48 8b c5             	mov    %rbp,%rax
1402318c3:	48 2b c7             	sub    %rdi,%rax
1402318c6:	8b de                	mov    %esi,%ebx
1402318c8:	48 3b c3             	cmp    %rbx,%rax
1402318cb:	eb 0c                	jmp    0x1402318d9
1402318cd:	48 8b c5             	mov    %rbp,%rax
1402318d0:	48 8b de             	mov    %rsi,%rbx
1402318d3:	48 2b c7             	sub    %rdi,%rax
1402318d6:	48 3b c6             	cmp    %rsi,%rax
1402318d9:	7c 28                	jl     0x140231903
1402318db:	85 f6                	test   %esi,%esi
1402318dd:	74 10                	je     0x1402318ef
1402318df:	4c 8b c3             	mov    %rbx,%r8
1402318e2:	ba 30 00 00 00       	mov    $0x30,%edx
1402318e7:	48 8b cf             	mov    %rdi,%rcx
1402318ea:	e8 c1 dd ca 00       	call   0x140edf6b0
1402318ef:	48 03 fb             	add    %rbx,%rdi
1402318f2:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1402318f7:	48 89 38             	mov    %rdi,(%rax)
1402318fa:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%rax)
140231901:	eb 0f                	jmp    0x140231912
140231903:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140231908:	48 89 28             	mov    %rbp,(%rax)
14023190b:	c7 40 08 84 00 00 00 	movl   $0x84,0x8(%rax)
140231912:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140231917:	48 33 cc             	xor    %rsp,%rcx
14023191a:	e8 e1 9b be 00       	call   0x140e1b500
14023191f:	48 83 c4 68          	add    $0x68,%rsp
140231923:	41 5f                	pop    %r15
140231925:	41 5e                	pop    %r14
140231927:	41 5d                	pop    %r13
140231929:	41 5c                	pop    %r12
14023192b:	5f                   	pop    %rdi
14023192c:	5e                   	pop    %rsi
14023192d:	5d                   	pop    %rbp
14023192e:	5b                   	pop    %rbx
14023192f:	c3                   	ret
140231930:	40 53                	rex push %rbx
140231932:	56                   	push   %rsi
140231933:	57                   	push   %rdi
140231934:	48 83 ec 60          	sub    $0x60,%rsp
140231938:	49 8b f0             	mov    %r8,%rsi
14023193b:	0f 29 74 24 40       	movaps %xmm6,0x40(%rsp)
140231940:	66 49 0f 7e d8       	movq   %xmm3,%r8
140231945:	0f 28 f3             	movaps %xmm3,%xmm6
140231948:	48 8b fa             	mov    %rdx,%rdi
14023194b:	48 8b d9             	mov    %rcx,%rbx
14023194e:	4d 85 c0             	test   %r8,%r8
140231951:	0f 85 86 00 00 00    	jne    0x1402319dd
140231957:	83 bc 24 a0 00 00 00 	cmpl   $0x1,0xa0(%rsp)
14023195e:	01
14023195f:	75 3c                	jne    0x14023199d
140231961:	48 8b ce             	mov    %rsi,%rcx
140231964:	48 2b ca             	sub    %rdx,%rcx
140231967:	48 83 f9 05          	cmp    $0x5,%rcx
14023196b:	7c 35                	jl     0x1402319a2
14023196d:	8b 0d 89 02 d8 00    	mov    0xd80289(%rip),%ecx        # 0x140fb1bfc
140231973:	45 33 c9             	xor    %r9d,%r9d
140231976:	89 0a                	mov    %ecx,(%rdx)
140231978:	48 8b c3             	mov    %rbx,%rax
14023197b:	0f b6 0d 7e 02 d8 00 	movzbl 0xd8027e(%rip),%ecx        # 0x140fb1c00