14025354e:	41 bf 80 01 00 00    	mov    $0x180,%r15d
140253554:	eb 1f                	jmp    0x140253575
140253556:	41 81 fc 00 10 00 00 	cmp    $0x1000,%r12d
14025355d:	7f 09                	jg     0x140253568
14025355f:	0f b7 05 78 bb 11 00 	movzwl 0x11bb78(%rip),%eax        # 0x14036f0de
140253566:	eb 0d                	jmp    0x140253575
140253568:	0f b7 05 6f c3 11 00 	movzwl 0x11c36f(%rip),%eax        # 0x14036f8de
14025356f:	41 bf 00 08 00 00    	mov    $0x800,%r15d
140253575:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
14025357c:	00
14025357d:	0f b7 f8             	movzwl %ax,%edi
140253580:	48 8b ce             	mov    %rsi,%rcx
140253583:	48 f7 d7             	not    %rdi
140253586:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14025358b:	e8 e0 7a f0 ff       	call   0x14015b070
140253590:	48 8b ce             	mov    %rsi,%rcx
140253593:	e8 08 78 f0 ff       	call   0x14015ada0
140253598:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14025359d:	48 85 c0             	test   %rax,%rax
1402535a0:	0f 84 7d 02 00 00    	je     0x140253823
1402535a6:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1402535ab:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1402535b2:	00
1402535b3:	48 8b cb             	mov    %rbx,%rcx
1402535b6:	e8 05 d8 e9 ff       	call   0x1400f0dc0
1402535bb:	48 8b c8             	mov    %rax,%rcx
1402535be:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
1402535c5:	48 2b c1             	sub    %rcx,%rax
1402535c8:	48 3b f8             	cmp    %rax,%rdi
1402535cb:	76 17                	jbe    0x1402535e4
1402535cd:	48 8b cb             	mov    %rbx,%rcx
1402535d0:	e8 eb d7 e9 ff       	call   0x1400f0dc0
1402535d5:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
1402535dc:	48 2b c8             	sub    %rax,%rcx
1402535df:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1402535e4:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1402535e9:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1402535ef:	45 33 c0             	xor    %r8d,%r8d
1402535f2:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
1402535f6:	41 8b d4             	mov    %r12d,%edx
1402535f9:	49 8b ce             	mov    %r14,%rcx
1402535fc:	e8 ef f4 f7 ff       	call   0x1401d2af0
140253601:	85 c0                	test   %eax,%eax
140253603:	0f 84 15 02 00 00    	je     0x14025381e
140253609:	48 8b bc 24 98 00 00 	mov    0x98(%rsp),%rdi
140253610:	00
140253611:	0f 1f 40 00          	nopl   0x0(%rax)
140253615:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14025361c:	00 00 00 00
140253620:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140253625:	4c 8b cb             	mov    %rbx,%r9
140253628:	4d 8b c6             	mov    %r14,%r8
14025362b:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140253630:	33 c9                	xor    %ecx,%ecx
140253632:	e8 29 cf f5 ff       	call   0x1401b0560
140253637:	85 c0                	test   %eax,%eax
140253639:	0f 84 df 01 00 00    	je     0x14025381e
14025363f:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140253644:	49 8b d6             	mov    %r14,%rdx
140253647:	49 8b ce             	mov    %r14,%rcx
14025364a:	e8 11 7c f0 ff       	call   0x14015b260
14025364f:	85 c0                	test   %eax,%eax
140253651:	0f 84 c7 01 00 00    	je     0x14025381e
140253657:	49 8b ce             	mov    %r14,%rcx
14025365a:	48 85 ff             	test   %rdi,%rdi
14025365d:	75 21                	jne    0x140253680
14025365f:	b8 03 00 00 00       	mov    $0x3,%eax
140253664:	bf 01 00 00 00       	mov    $0x1,%edi
140253669:	45 85 ed             	test   %r13d,%r13d
14025366c:	8b d7                	mov    %edi,%edx
14025366e:	0f 45 d0             	cmovne %eax,%edx
140253671:	e8 7a 9e ed ff       	call   0x14012d4f0
140253676:	85 c0                	test   %eax,%eax
140253678:	0f 84 a0 01 00 00    	je     0x14025381e
14025367e:	eb 18                	jmp    0x140253698
140253680:	4c 8b c7             	mov    %rdi,%r8
140253683:	49 8b d6             	mov    %r14,%rdx
140253686:	e8 35 7b f0 ff       	call   0x14015b1c0
14025368b:	85 c0                	test   %eax,%eax
14025368d:	0f 84 8b 01 00 00    	je     0x14025381e
140253693:	bf 01 00 00 00       	mov    $0x1,%edi
140253698:	49 8b ce             	mov    %r14,%rcx
14025369b:	e8 b0 da e9 ff       	call   0x1400f1150
1402536a0:	41 3b c4             	cmp    %r12d,%eax
1402536a3:	7c 20                	jl     0x1402536c5
1402536a5:	49 8b ce             	mov    %r14,%rcx
1402536a8:	e8 13 d7 e9 ff       	call   0x1400f0dc0
1402536ad:	48 8b c8             	mov    %rax,%rcx
1402536b0:	45 85 ed             	test   %r13d,%r13d
1402536b3:	b8 03 00 00 00       	mov    $0x3,%eax
1402536b8:	ba 05 00 00 00       	mov    $0x5,%edx
1402536bd:	0f 45 c2             	cmovne %edx,%eax
1402536c0:	48 3b c8             	cmp    %rax,%rcx
1402536c3:	73 16                	jae    0x1402536db
1402536c5:	4c 8b c3             	mov    %rbx,%r8
1402536c8:	49 8b d6             	mov    %r14,%rdx
1402536cb:	49 8b ce             	mov    %r14,%rcx
1402536ce:	e8 ed 7a f0 ff       	call   0x14015b1c0
1402536d3:	85 c0                	test   %eax,%eax
1402536d5:	0f 84 43 01 00 00    	je     0x14025381e
1402536db:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
1402536e2:	00
1402536e3:	48 8d 35 f6 b1 11 00 	lea    0x11b1f6(%rip),%rsi        # 0x14036e8e0
1402536ea:	48 2b f0             	sub    %rax,%rsi
1402536ed:	48 8d 58 02          	lea    0x2(%rax),%rbx
1402536f1:	0f b7 14 1e          	movzwl (%rsi,%rbx,1),%edx
1402536f5:	49 8b ce             	mov    %r14,%rcx
1402536f8:	e8 d3 a0 ed ff       	call   0x14012d7d0
1402536fd:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140253701:	0f 84 0f 01 00 00    	je     0x140253816
140253707:	66 89 03             	mov    %ax,(%rbx)
14025370a:	48 ff c7             	inc    %rdi
14025370d:	48 83 c3 02          	add    $0x2,%rbx
140253711:	49 3b ff             	cmp    %r15,%rdi
140253714:	7c db                	jl     0x1402536f1
140253716:	48 8b b4 24 88 00 00 	mov    0x88(%rsp),%rsi
14025371d:	00
14025371e:	48 8d 05 bd b1 11 00 	lea    0x11b1bd(%rip),%rax        # 0x14036e8e2
140253725:	48 2b f0             	sub    %rax,%rsi
140253728:	48 8b fd             	mov    %rbp,%rdi
14025372b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140253730:	bb 01 00 00 00       	mov    $0x1,%ebx
140253735:	49 3b df             	cmp    %r15,%rbx
140253738:	0f 8d c3 00 00 00    	jge    0x140253801
14025373e:	41 83 fc 1f          	cmp    $0x1f,%r12d
140253742:	7f 2d                	jg     0x140253771
140253744:	48 81 ff ff ff ff 7f 	cmp    $0x7fffffff,%rdi
14025374b:	77 24                	ja     0x140253771
14025374d:	49 8b ce             	mov    %r14,%rcx
140253750:	e8 6b d6 e9 ff       	call   0x1400f0dc0
140253755:	48 8d 0c 38          	lea    (%rax,%rdi,1),%rcx
140253759:	48 8d 05 80 b1 11 00 	lea    0x11b180(%rip),%rax        # 0x14036e8e0
140253760:	0f b7 04 58          	movzwl (%rax,%rbx,2),%eax
140253764:	48 0f af c0          	imul   %rax,%rax
140253768:	48 3b c1             	cmp    %rcx,%rax
14025376b:	0f 87 90 00 00 00    	ja     0x140253801
140253771:	48 8d 0d 68 b1 11 00 	lea    0x11b168(%rip),%rcx        # 0x14036e8e0
140253778:	33 d2                	xor    %edx,%edx
14025377a:	48 8d 04 5e          	lea    (%rsi,%rbx,2),%rax
14025377e:	0f b7 44 08 02       	movzwl 0x2(%rax,%rcx,1),%eax
140253783:	0f b7 0c 59          	movzwl (%rcx,%rbx,2),%ecx
140253787:	48 03 c7             	add    %rdi,%rax
14025378a:	48 f7 f1             	div    %rcx
14025378d:	8b c5                	mov    %ebp,%eax
14025378f:	45 85 ed             	test   %r13d,%r13d
140253792:	74 09                	je     0x14025379d
140253794:	48 83 fa 01          	cmp    $0x1,%rdx
140253798:	0f 96 c0             	setbe  %al
14025379b:	eb 06                	jmp    0x1402537a3
14025379d:	48 85 d2             	test   %rdx,%rdx
1402537a0:	0f 94 c0             	sete   %al
1402537a3:	85 c0                	test   %eax,%eax
1402537a5:	75 05                	jne    0x1402537ac
1402537a7:	48 ff c3             	inc    %rbx
1402537aa:	eb 89                	jmp    0x140253735
1402537ac:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1402537b3:	00
1402537b4:	48 8b cb             	mov    %rbx,%rcx
1402537b7:	e8 04 d6 e9 ff       	call   0x1400f0dc0
1402537bc:	48 03 f8             	add    %rax,%rdi
1402537bf:	48 3b 7c 24 38       	cmp    0x38(%rsp),%rdi
1402537c4:	0f 86 66 ff ff ff    	jbe    0x140253730
1402537ca:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
1402537d1:	00
1402537d2:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1402537d8:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1402537dd:	45 33 c0             	xor    %r8d,%r8d
1402537e0:	41 8b d4             	mov    %r12d,%edx
1402537e3:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
1402537e7:	49 8b ce             	mov    %r14,%rcx
1402537ea:	e8 01 f3 f7 ff       	call   0x1401d2af0
1402537ef:	48 8b bc 24 98 00 00 	mov    0x98(%rsp),%rdi
1402537f6:	00
1402537f7:	85 c0                	test   %eax,%eax
1402537f9:	0f 85 21 fe ff ff    	jne    0x140253620
1402537ff:	eb 1d                	jmp    0x14025381e
140253801:	48 8b d7             	mov    %rdi,%rdx
140253804:	49 8b ce             	mov    %r14,%rcx
140253807:	e8 e4 9c ed ff       	call   0x14012d4f0
14025380c:	85 c0                	test   %eax,%eax
14025380e:	b8 01 00 00 00       	mov    $0x1,%eax
140253813:	0f 45 e8             	cmovne %eax,%ebp
140253816:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
14025381d:	00
14025381e:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140253823:	48 8b ce             	mov    %rsi,%rcx
140253826:	e8 35 74 f0 ff       	call   0x14015ac60
14025382b:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140253832:	00
140253833:	8b c5                	mov    %ebp,%eax
140253835:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
14025383a:	48 83 c4 40          	add    $0x40,%rsp
14025383e:	41 5f                	pop    %r15
140253840:	41 5e                	pop    %r14
140253842:	41 5d                	pop    %r13
140253844:	41 5c                	pop    %r12
140253846:	5f                   	pop    %rdi
140253847:	c3                   	ret
140253848:	cc                   	int3
140253849:	cc                   	int3
14025384a:	cc                   	int3
14025384b:	cc                   	int3
14025384c:	cc                   	int3
14025384d:	cc                   	int3
14025384e:	cc                   	int3
14025384f:	cc                   	int3
140253850:	b8 28 00 00 00       	mov    $0x28,%eax
140253855:	e8 d6 d2 05 00       	call   0x1402b0b30
14025385a:	48 2b e0             	sub    %rax,%rsp
14025385d:	49 8b 81 a0 00 00 00 	mov    0xa0(%r9),%rax
140253864:	48 83 c4 28          	add    $0x28,%rsp
140253868:	48 ff 60 18          	rex.W jmp *0x18(%rax)
14025386c:	cc                   	int3
14025386d:	cc                   	int3
14025386e:	cc                   	int3
14025386f:	cc                   	int3
140253870:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140253875:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14025387a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14025387f:	45 33 c9             	xor    %r9d,%r9d
140253882:	48 8b da             	mov    %rdx,%rbx
140253885:	49 2b d8             	sub    %r8,%rbx
140253888:	48 8b f1             	mov    %rcx,%rsi
14025388b:	bf 0e 00 00 00       	mov    $0xe,%edi
140253890:	49 2b f0             	sub    %r8,%rsi
140253893:	45 8b d9             	mov    %r9d,%r11d
140253896:	44 8b d7             	mov    %edi,%r10d
140253899:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1402538a0:	41 8b 00             	mov    (%r8),%eax
1402538a3:	42 8b 14 03          	mov    (%rbx,%r8,1),%edx
1402538a7:	4d 8d 40 04          	lea    0x4(%r8),%r8
1402538ab:	4c 03 d8             	add    %rax,%r11
1402538ae:	4c 03 da             	add    %rdx,%r11
1402538b1:	46 89 5c 06 fc       	mov    %r11d,-0x4(%rsi,%r8,1)
1402538b6:	49 c1 eb 20          	shr    $0x20,%r11
1402538ba:	49 83 ea 01          	sub    $0x1,%r10
1402538be:	75 e0                	jne    0x1402538a0
1402538c0:	48 8d 1d e1 c1 11 00 	lea    0x11c1e1(%rip),%rbx        # 0x14036faa8
1402538c7:	4d 8b c1             	mov    %r9,%r8
1402538ca:	48 2b d9             	sub    %rcx,%rbx
1402538cd:	4c 8b d1             	mov    %rcx,%r10
1402538d0:	48 8b f7             	mov    %rdi,%rsi
1402538d3:	0f 1f 40 00          	nopl   0x0(%rax)
1402538d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1402538de:	00 00
1402538e0:	42 8b 04 13          	mov    (%rbx,%r10,1),%eax
1402538e4:	41 8b 12             	mov    (%r10),%edx
1402538e7:	4d 8d 52 04          	lea    0x4(%r10),%r10
1402538eb:	48 2b d0             	sub    %rax,%rdx
1402538ee:	4c 03 c2             	add    %rdx,%r8
1402538f1:	45 89 42 fc          	mov    %r8d,-0x4(%r10)
1402538f5:	49 c1 f8 20          	sar    $0x20,%r8
1402538f9:	48 83 ee 01          	sub    $0x1,%rsi
1402538fd:	75 e1                	jne    0x1402538e0
1402538ff:	4f 8d 14 18          	lea    (%r8,%r11,1),%r10
140253903:	0f 1f 40 00          	nopl   0x0(%rax)
140253907:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14025390e:	00 00
140253910:	8b 14 19             	mov    (%rcx,%rbx,1),%edx
140253913:	8b 01                	mov    (%rcx),%eax
140253915:	48 8d 49 04          	lea    0x4(%rcx),%rcx
140253919:	4c 03 c8             	add    %rax,%r9
14025391c:	49 23 d2             	and    %r10,%rdx
14025391f:	4c 03 ca             	add    %rdx,%r9
140253922:	44 89 49 fc          	mov    %r9d,-0x4(%rcx)
140253926:	49 c1 f9 20          	sar    $0x20,%r9
14025392a:	48 83 ef 01          	sub    $0x1,%rdi
14025392e:	75 e0                	jne    0x140253910
140253930:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140253935:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14025393a:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14025393f:	c3                   	ret
140253940:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140253945:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14025394a:	57                   	push   %rdi
14025394b:	b8 a0 00 00 00       	mov    $0xa0,%eax
140253950:	e8 db d1 05 00       	call   0x1402b0b30
140253955:	48 2b e0             	sub    %rax,%rsp
140253958:	48 8b 05 21 21 18 00 	mov    0x182121(%rip),%rax        # 0x1403d5a80
14025395f:	48 33 c4             	xor    %rsp,%rax
140253962:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
140253969:	00
14025396a:	49 8b d8             	mov    %r8,%rbx
14025396d:	48 8b ea             	mov    %rdx,%rbp
140253970:	48 8b f9             	mov    %rcx,%rdi
140253973:	4d 85 c0             	test   %r8,%r8
140253976:	75 32                	jne    0x1402539aa
140253978:	0f 10 05 e9 c0 11 00 	movups 0x11c0e9(%rip),%xmm0        # 0x14036fa68
14025397f:	0f 11 01             	movups %xmm0,(%rcx)
140253982:	0f 10 0d ef c0 11 00 	movups 0x11c0ef(%rip),%xmm1        # 0x14036fa78
140253989:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
14025398d:	0f 10 05 f4 c0 11 00 	movups 0x11c0f4(%rip),%xmm0        # 0x14036fa88
140253994:	0f 11 41 20          	movups %xmm0,0x20(%rcx)
140253998:	f2 0f 10 0d f8 c0 11 	movsd  0x11c0f8(%rip),%xmm1        # 0x14036fa98
14025399f:	00
1402539a0:	f2 0f 11 49 30       	movsd  %xmm1,0x30(%rcx)
1402539a5:	e9 df 01 00 00       	jmp    0x140253b89
1402539aa:	48 b8 93 24 49 92 24 	movabs $0x2492492492492493,%rax
1402539b1:	49 92 24
1402539b4:	48 89 b4 24 b8 00 00 	mov    %rsi,0xb8(%rsp)
1402539bb:	00
1402539bc:	48 f7 e3             	mul    %rbx
1402539bf:	48 8b c3             	mov    %rbx,%rax
1402539c2:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1402539c7:	48 2b c2             	sub    %rdx,%rax
1402539ca:	48 d1 e8             	shr    $1,%rax
1402539cd:	48 03 c2             	add    %rdx,%rax
1402539d0:	48 c1 e8 05          	shr    $0x5,%rax
1402539d4:	48 6b c0 38          	imul   $0x38,%rax,%rax
1402539d8:	48 3b c3             	cmp    %rbx,%rax
1402539db:	48 8d 70 c8          	lea    -0x38(%rax),%rsi
1402539df:	48 0f 45 f0          	cmovne %rax,%rsi
1402539e3:	4c 2b c6             	sub    %rsi,%r8
1402539e6:	48 8d 14 2e          	lea    (%rsi,%rbp,1),%rdx
1402539ea:	e8 71 05 00 00       	call   0x140253f60
1402539ef:	48 83 fb 38          	cmp    $0x38,%rbx
1402539f3:	75 30                	jne    0x140253a25
1402539f5:	4c 8d 05 34 c0 11 00 	lea    0x11c034(%rip),%r8        # 0x14036fa30
1402539fc:	48 8b cf             	mov    %rdi,%rcx
1402539ff:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140253a04:	e8 b7 03 00 00       	call   0x140253dc0
140253a09:	4c 8d 05 d0 c0 11 00 	lea    0x11c0d0(%rip),%r8        # 0x14036fae0
140253a10:	48 8b d7             	mov    %rdi,%rdx
140253a13:	48 8b cf             	mov    %rdi,%rcx
140253a16:	e8 a5 03 00 00       	call   0x140253dc0
140253a1b:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140253a20:	e9 52 01 00 00       	jmp    0x140253b77
140253a25:	48 85 f6             	test   %rsi,%rsi
140253a28:	0f 84 10 01 00 00    	je     0x140253b3e
140253a2e:	48 8d 1d 73 c0 11 00 	lea    0x11c073(%rip),%rbx        # 0x14036faa8
140253a35:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140253a3c:	00 00 00 00
140253a40:	4c 8d 05 99 c0 11 00 	lea    0x11c099(%rip),%r8        # 0x14036fae0
140253a47:	48 83 ee 38          	sub    $0x38,%rsi
140253a4b:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140253a50:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140253a55:	e8 66 03 00 00       	call   0x140253dc0
140253a5a:	48 8d 14 2e          	lea    (%rsi,%rbp,1),%rdx
140253a5e:	41 b8 38 00 00 00    	mov    $0x38,%r8d
140253a64:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140253a69:	e8 f2 04 00 00       	call   0x140253f60
140253a6e:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140253a73:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140253a78:	4c 8d 05 b1 bf 11 00 	lea    0x11bfb1(%rip),%r8        # 0x14036fa30
140253a7f:	e8 3c 03 00 00       	call   0x140253dc0
140253a84:	4c 8d 05 55 c0 11 00 	lea    0x11c055(%rip),%r8        # 0x14036fae0
140253a8b:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140253a90:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140253a95:	e8 26 03 00 00       	call   0x140253dc0
140253a9a:	45 33 c0             	xor    %r8d,%r8d