140039515:	48 81 c4 b8 00 00 00 	add    $0xb8,%rsp
14003951c:	41 5f                	pop    %r15
14003951e:	41 5e                	pop    %r14
140039520:	41 5d                	pop    %r13
140039522:	41 5c                	pop    %r12
140039524:	5f                   	pop    %rdi
140039525:	5e                   	pop    %rsi
140039526:	5d                   	pop    %rbp
140039527:	5b                   	pop    %rbx
140039528:	c3                   	ret
140039529:	90                   	nop
14003952a:	90                   	nop
14003952b:	90                   	nop
14003952c:	45 33 c9             	xor    %r9d,%r9d
14003952f:	48 8b d1             	mov    %rcx,%rdx
140039532:	48 85 c9             	test   %rcx,%rcx
140039535:	75 04                	jne    0x14003953b
140039537:	83 c8 ff             	or     $0xffffffff,%eax
14003953a:	c3                   	ret
14003953b:	0f b7 02             	movzwl (%rdx),%eax
14003953e:	b9 05 15 00 00       	mov    $0x1505,%ecx
140039543:	66 85 c0             	test   %ax,%ax
140039546:	74 18                	je     0x140039560
140039548:	4d 8b c1             	mov    %r9,%r8
14003954b:	6b c9 21             	imul   $0x21,%ecx,%ecx
14003954e:	49 ff c0             	inc    %r8
140039551:	0f b7 c0             	movzwl %ax,%eax
140039554:	33 c8                	xor    %eax,%ecx
140039556:	42 0f b7 04 42       	movzwl (%rdx,%r8,2),%eax
14003955b:	66 85 c0             	test   %ax,%ax
14003955e:	75 eb                	jne    0x14003954b
140039560:	69 c1 6d 4e c6 41    	imul   $0x41c64e6d,%ecx,%eax
140039566:	69 c9 cd 0d 01 00    	imul   $0x10dcd,%ecx,%ecx
14003956c:	05 39 30 00 00       	add    $0x3039,%eax
140039571:	ff c1                	inc    %ecx
140039573:	c1 e8 10             	shr    $0x10,%eax
140039576:	81 e1 00 00 ff ff    	and    $0xffff0000,%ecx
14003957c:	0b c1                	or     %ecx,%eax
14003957e:	c3                   	ret
14003957f:	90                   	nop
140039580:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039585:	57                   	push   %rdi
140039586:	48 83 ec 20          	sub    $0x20,%rsp
14003958a:	8b da                	mov    %edx,%ebx
14003958c:	48 8b f9             	mov    %rcx,%rdi
14003958f:	e8 24 00 00 00       	call   0x1400395b8
140039594:	f6 c3 01             	test   $0x1,%bl
140039597:	74 0e                	je     0x1400395a7
140039599:	48 85 ff             	test   %rdi,%rdi
14003959c:	74 09                	je     0x1400395a7
14003959e:	48 8b cf             	mov    %rdi,%rcx
1400395a1:	ff 15 99 95 1d 00    	call   *0x1d9599(%rip)        # 0x140212b40
1400395a7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400395ac:	48 8b c7             	mov    %rdi,%rax
1400395af:	48 83 c4 20          	add    $0x20,%rsp
1400395b3:	5f                   	pop    %rdi
1400395b4:	c3                   	ret
1400395b5:	90                   	nop
1400395b6:	90                   	nop
1400395b7:	90                   	nop
1400395b8:	40 53                	rex push %rbx
1400395ba:	48 83 ec 20          	sub    $0x20,%rsp
1400395be:	48 8b 59 38          	mov    0x38(%rcx),%rbx
1400395c2:	48 8d 05 2f de 1f 00 	lea    0x1fde2f(%rip),%rax        # 0x1402373f8
1400395c9:	48 89 01             	mov    %rax,(%rcx)
1400395cc:	48 85 db             	test   %rbx,%rbx
1400395cf:	74 11                	je     0x1400395e2
1400395d1:	48 8b cb             	mov    %rbx,%rcx
1400395d4:	e8 0b 06 00 00       	call   0x140039be4
1400395d9:	48 8b cb             	mov    %rbx,%rcx
1400395dc:	ff 15 5e 95 1d 00    	call   *0x1d955e(%rip)        # 0x140212b40
1400395e2:	48 83 c4 20          	add    $0x20,%rsp
1400395e6:	5b                   	pop    %rbx
1400395e7:	c3                   	ret
1400395e8:	48 8b c4             	mov    %rsp,%rax
1400395eb:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400395ef:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400395f3:	48 89 70 20          	mov    %rsi,0x20(%rax)
1400395f7:	44 89 40 18          	mov    %r8d,0x18(%rax)
1400395fb:	57                   	push   %rdi
1400395fc:	41 54                	push   %r12
1400395fe:	41 55                	push   %r13
140039600:	41 56                	push   %r14
140039602:	41 57                	push   %r15
140039604:	4c 8b 5c 24 50       	mov    0x50(%rsp),%r11
140039609:	45 8d 78 ff          	lea    -0x1(%r8),%r15d
14003960d:	44 8a ea             	mov    %dl,%r13b
140039610:	44 8b d1             	mov    %ecx,%r10d
140039613:	41 c1 ea 10          	shr    $0x10,%r10d
140039617:	be ff ff 00 00       	mov    $0xffff,%esi
14003961c:	80 fa 04             	cmp    $0x4,%dl
14003961f:	45 8b e1             	mov    %r9d,%r12d
140039622:	44 0f 44 d1          	cmove  %ecx,%r10d
140039626:	83 c8 ff             	or     $0xffffffff,%eax
140039629:	33 ff                	xor    %edi,%edi
14003962b:	33 ed                	xor    %ebp,%ebp
14003962d:	80 fa 04             	cmp    $0x4,%dl
140039630:	0f 44 f0             	cmove  %eax,%esi
140039633:	33 d2                	xor    %edx,%edx
140039635:	8b c6                	mov    %esi,%eax
140039637:	45 33 c9             	xor    %r9d,%r9d
14003963a:	41 f7 f0             	div    %r8d
14003963d:	33 d2                	xor    %edx,%edx
14003963f:	8b c8                	mov    %eax,%ecx
140039641:	41 8b c2             	mov    %r10d,%eax
140039644:	f7 f1                	div    %ecx
140039646:	41 3b c7             	cmp    %r15d,%eax
140039649:	44 8b c0             	mov    %eax,%r8d
14003964c:	45 0f 43 c7          	cmovae %r15d,%r8d
140039650:	41 8b c8             	mov    %r8d,%ecx
140039653:	41 0f af cc          	imul   %r12d,%ecx
140039657:	41 80 fd 04          	cmp    $0x4,%r13b
14003965b:	75 09                	jne    0x140039666
14003965d:	42 8b 0c 19          	mov    (%rcx,%r11,1),%ecx
140039661:	e9 f1 00 00 00       	jmp    0x140039757
140039666:	42 0f b7 0c 19       	movzwl (%rcx,%r11,1),%ecx
14003966b:	e9 e7 00 00 00       	jmp    0x140039757
140039670:	73 09                	jae    0x14003967b
140039672:	41 8d 78 01          	lea    0x1(%r8),%edi
140039676:	8d 69 01             	lea    0x1(%rcx),%ebp
140039679:	eb 18                	jmp    0x140039693
14003967b:	45 85 c0             	test   %r8d,%r8d
14003967e:	0f 84 11 01 00 00    	je     0x140039795
140039684:	85 c9                	test   %ecx,%ecx
140039686:	0f 84 09 01 00 00    	je     0x140039795
14003968c:	45 8d 78 ff          	lea    -0x1(%r8),%r15d
140039690:	8d 71 ff             	lea    -0x1(%rcx),%esi
140039693:	44 3b ff             	cmp    %edi,%r15d
140039696:	0f 82 f9 00 00 00    	jb     0x140039795
14003969c:	3b f5                	cmp    %ebp,%esi
14003969e:	0f 82 f1 00 00 00    	jb     0x140039795
1400396a4:	75 08                	jne    0x1400396ae
1400396a6:	44 8b c7             	mov    %edi,%r8d
1400396a9:	e9 8a 00 00 00       	jmp    0x140039738
1400396ae:	8b c6                	mov    %esi,%eax
1400396b0:	0f 57 c9             	xorps  %xmm1,%xmm1
1400396b3:	2b c5                	sub    %ebp,%eax
1400396b5:	0f 57 c0             	xorps  %xmm0,%xmm0
1400396b8:	41 8b df             	mov    %r15d,%ebx
1400396bb:	2b df                	sub    %edi,%ebx
1400396bd:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
1400396c2:	41 8b c2             	mov    %r10d,%eax
1400396c5:	2b c5                	sub    %ebp,%eax
1400396c7:	f2 48 0f 2a cb       	cvtsi2sd %rbx,%xmm1
1400396cc:	f2 0f 5e c8          	divsd  %xmm0,%xmm1
1400396d0:	0f 57 c0             	xorps  %xmm0,%xmm0
1400396d3:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
1400396d8:	f2 0f 59 c8          	mulsd  %xmm0,%xmm1
1400396dc:	f2 4c 0f 2c f1       	cvttsd2si %xmm1,%r14
1400396e1:	45 85 c9             	test   %r9d,%r9d
1400396e4:	74 4b                	je     0x140039731
1400396e6:	45 8b c1             	mov    %r9d,%r8d
1400396e9:	41 8b c2             	mov    %r10d,%eax
1400396ec:	41 2b c1             	sub    %r9d,%eax
1400396ef:	45 2b c2             	sub    %r10d,%r8d
1400396f2:	41 3b c0             	cmp    %r8d,%eax
1400396f5:	44 0f 42 c0          	cmovb  %eax,%r8d
1400396f9:	8b c1                	mov    %ecx,%eax
1400396fb:	41 2b c1             	sub    %r9d,%eax
1400396fe:	44 2b c9             	sub    %ecx,%r9d
140039701:	41 3b c1             	cmp    %r9d,%eax
140039704:	44 0f 42 c8          	cmovb  %eax,%r9d
140039708:	45 85 c9             	test   %r9d,%r9d
14003970b:	74 24                	je     0x140039731
14003970d:	45 85 c0             	test   %r8d,%r8d
140039710:	74 1f                	je     0x140039731
140039712:	33 d2                	xor    %edx,%edx
140039714:	41 8b c0             	mov    %r8d,%eax
140039717:	41 f7 f1             	div    %r9d
14003971a:	83 f8 0a             	cmp    $0xa,%eax
14003971d:	77 0d                	ja     0x14003972c
14003971f:	33 d2                	xor    %edx,%edx
140039721:	41 8b c1             	mov    %r9d,%eax
140039724:	41 f7 f0             	div    %r8d
140039727:	83 f8 0a             	cmp    $0xa,%eax
14003972a:	76 05                	jbe    0x140039731
14003972c:	d1 eb                	shr    $1,%ebx
14003972e:	44 8b f3             	mov    %ebx,%r14d
140039731:	44 8b c9             	mov    %ecx,%r9d
140039734:	45 8d 04 3e          	lea    (%r14,%rdi,1),%r8d
140039738:	44 3b 44 24 40       	cmp    0x40(%rsp),%r8d
14003973d:	73 56                	jae    0x140039795
14003973f:	41 8b c0             	mov    %r8d,%eax
140039742:	41 0f af c4          	imul   %r12d,%eax
140039746:	41 80 fd 04          	cmp    $0x4,%r13b
14003974a:	75 06                	jne    0x140039752
14003974c:	42 8b 0c 18          	mov    (%rax,%r11,1),%ecx
140039750:	eb 05                	jmp    0x140039757
140039752:	41 0f b7 0c 03       	movzwl (%r11,%rax,1),%ecx
140039757:	41 3b ca             	cmp    %r10d,%ecx
14003975a:	0f 85 10 ff ff ff    	jne    0x140039670
140039760:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140039765:	48 85 c9             	test   %rcx,%rcx
140039768:	74 0d                	je     0x140039777
14003976a:	45 0f af c4          	imul   %r12d,%r8d
14003976e:	41 8b c0             	mov    %r8d,%eax
140039771:	49 03 c3             	add    %r11,%rax
140039774:	48 89 01             	mov    %rax,(%rcx)
140039777:	b8 01 00 00 00       	mov    $0x1,%eax
14003977c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039781:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140039786:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14003978b:	41 5f                	pop    %r15
14003978d:	41 5e                	pop    %r14
14003978f:	41 5d                	pop    %r13
140039791:	41 5c                	pop    %r12
140039793:	5f                   	pop    %rdi
140039794:	c3                   	ret
140039795:	33 c0                	xor    %eax,%eax
140039797:	eb e3                	jmp    0x14003977c
140039799:	cc                   	int3
14003979a:	90                   	nop
14003979b:	90                   	nop
14003979c:	48 8b c4             	mov    %rsp,%rax
14003979f:	48 89 58 10          	mov    %rbx,0x10(%rax)
1400397a3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400397a7:	57                   	push   %rdi
1400397a8:	41 56                	push   %r14
1400397aa:	41 57                	push   %r15
1400397ac:	48 83 ec 30          	sub    $0x30,%rsp
1400397b0:	4c 8b 7c 24 78       	mov    0x78(%rsp),%r15
1400397b5:	33 db                	xor    %ebx,%ebx
1400397b7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400397bb:	44 8b da             	mov    %edx,%r11d
1400397be:	0f b6 51 2d          	movzbl 0x2d(%rcx),%edx
1400397c2:	45 8b d1             	mov    %r9d,%r10d
1400397c5:	48 8b f9             	mov    %rcx,%rdi
1400397c8:	4d 85 ff             	test   %r15,%r15
1400397cb:	0f 84 ed 00 00 00    	je     0x1400398be
1400397d1:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1400397d6:	48 85 f6             	test   %rsi,%rsi
1400397d9:	0f 84 df 00 00 00    	je     0x1400398be
1400397df:	4c 8b b4 24 80 00 00 	mov    0x80(%rsp),%r14
1400397e6:	00
1400397e7:	4d 85 f6             	test   %r14,%r14
1400397ea:	0f 84 ce 00 00 00    	je     0x1400398be
1400397f0:	44 0f b6 49 2c       	movzbl 0x2c(%rcx),%r9d
1400397f5:	48 8d 40 08          	lea    0x8(%rax),%rax
1400397f9:	41 83 c1 05          	add    $0x5,%r9d
1400397fd:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140039802:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140039807:	44 03 ca             	add    %edx,%r9d
14003980a:	45 8b c2             	mov    %r10d,%r8d
14003980d:	41 8b cb             	mov    %r11d,%ecx
140039810:	e8 d3 fd ff ff       	call   0x1400395e8
140039815:	85 c0                	test   %eax,%eax
140039817:	0f 84 a1 00 00 00    	je     0x1400398be
14003981d:	44 0f b6 47 2d       	movzbl 0x2d(%rdi),%r8d
140039822:	4c 8b 4c 24 50       	mov    0x50(%rsp),%r9
140039827:	38 5f 2c             	cmp    %bl,0x2c(%rdi)
14003982a:	75 07                	jne    0x140039833
14003982c:	43 0f b7 0c 08       	movzwl (%r8,%r9,1),%ecx
140039831:	eb 10                	jmp    0x140039843
140039833:	43 0f b6 0c 08       	movzbl (%r8,%r9,1),%ecx
140039838:	43 0f b7 44 08 01    	movzwl 0x1(%r8,%r9,1),%eax
14003983e:	c1 e1 10             	shl    $0x10,%ecx
140039841:	0b c8                	or     %eax,%ecx
140039843:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
140039849:	75 05                	jne    0x140039850
14003984b:	38 5f 2c             	cmp    %bl,0x2c(%rdi)
14003984e:	74 0b                	je     0x14003985b
140039850:	41 bb ff ff ff 00    	mov    $0xffffff,%r11d
140039856:	41 3b cb             	cmp    %r11d,%ecx
140039859:	75 10                	jne    0x14003986b
14003985b:	41 89 1e             	mov    %ebx,(%r14)
14003985e:	49 89 1f             	mov    %rbx,(%r15)
140039861:	48 89 1e             	mov    %rbx,(%rsi)
140039864:	b8 01 00 00 00       	mov    $0x1,%eax
140039869:	eb 55                	jmp    0x1400398c0
14003986b:	4c 8b 57 08          	mov    0x8(%rdi),%r10
14003986f:	8b 47 20             	mov    0x20(%rdi),%eax
140039872:	49 03 c2             	add    %r10,%rax
140039875:	8b d1                	mov    %ecx,%edx
140039877:	48 03 d0             	add    %rax,%rdx
14003987a:	0f b6 47 2c          	movzbl 0x2c(%rdi),%eax
14003987e:	49 03 c0             	add    %r8,%rax
140039881:	0f b7 0a             	movzwl (%rdx),%ecx
140039884:	46 0f b6 44 08 02    	movzbl 0x2(%rax,%r9,1),%r8d
14003988a:	42 0f b7 44 08 03    	movzwl 0x3(%rax,%r9,1),%eax
140039890:	41 c1 e0 10          	shl    $0x10,%r8d
140039894:	44 0b c0             	or     %eax,%r8d
140039897:	41 89 0e             	mov    %ecx,(%r14)
14003989a:	48 8d 42 02          	lea    0x2(%rdx),%rax
14003989e:	49 89 07             	mov    %rax,(%r15)
1400398a1:	83 f9 01             	cmp    $0x1,%ecx
1400398a4:	74 05                	je     0x1400398ab
1400398a6:	8b 47 24             	mov    0x24(%rdi),%eax
1400398a9:	eb 08                	jmp    0x1400398b3
1400398ab:	45 3b c3             	cmp    %r11d,%r8d
1400398ae:	74 b1                	je     0x140039861
1400398b0:	8b 47 28             	mov    0x28(%rdi),%eax
1400398b3:	49 03 c2             	add    %r10,%rax
1400398b6:	41 8b d8             	mov    %r8d,%ebx
1400398b9:	48 03 d8             	add    %rax,%rbx
1400398bc:	eb a3                	jmp    0x140039861
1400398be:	33 c0                	xor    %eax,%eax
1400398c0:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400398c5:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1400398ca:	48 83 c4 30          	add    $0x30,%rsp
1400398ce:	41 5f                	pop    %r15
1400398d0:	41 5e                	pop    %r14
1400398d2:	5f                   	pop    %rdi
1400398d3:	c3                   	ret
1400398d4:	40 55                	rex push %rbp
1400398d6:	53                   	push   %rbx
1400398d7:	56                   	push   %rsi
1400398d8:	57                   	push   %rdi
1400398d9:	41 55                	push   %r13
1400398db:	41 56                	push   %r14
1400398dd:	41 57                	push   %r15
1400398df:	48 8d ac 24 70 ff ff 	lea    -0x90(%rsp),%rbp
1400398e6:	ff
1400398e7:	48 81 ec 90 01 00 00 	sub    $0x190,%rsp
1400398ee:	48 8b 05 8b 78 2c 00 	mov    0x2c788b(%rip),%rax        # 0x140301180
1400398f5:	48 33 c4             	xor    %rsp,%rax
1400398f8:	48 89 85 80 00 00 00 	mov    %rax,0x80(%rbp)
1400398ff:	4c 8b ad f0 00 00 00 	mov    0xf0(%rbp),%r13
140039906:	83 ce ff             	or     $0xffffffff,%esi
140039909:	48 8b 9d 00 01 00 00 	mov    0x100(%rbp),%rbx
140039910:	45 33 d2             	xor    %r10d,%r10d
140039913:	4c 89 4c 24 70       	mov    %r9,0x70(%rsp)
140039918:	48 8b f9             	mov    %rcx,%rdi
14003991b:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
140039920:	89 74 24 60          	mov    %esi,0x60(%rsp)
140039924:	4d 85 ed             	test   %r13,%r13
140039927:	0f 84 30 02 00 00    	je     0x140039b5d
14003992d:	44 39 95 f8 00 00 00 	cmp    %r10d,0xf8(%rbp)
140039934:	0f 8e 23 02 00 00    	jle    0x140039b5d
14003993a:	48 85 d2             	test   %rdx,%rdx
14003993d:	75 05                	jne    0x140039944
14003993f:	83 c9 ff             	or     $0xffffffff,%ecx
140039942:	eb 5f                	jmp    0x1400399a3
140039944:	4d 8b c2             	mov    %r10,%r8
140039947:	66 44 39 12          	cmp    %r10w,(%rdx)
14003994b:	74 35                	je     0x140039982
14003994d:	4c 8d 4d 80          	lea    -0x80(%rbp),%r9
140039951:	4c 2b ca             	sub    %rdx,%r9
140039954:	49 83 f8 7f          	cmp    $0x7f,%r8
140039958:	73 28                	jae    0x140039982
14003995a:	0f b7 02             	movzwl (%rdx),%eax
14003995d:	0f b7 0a             	movzwl (%rdx),%ecx
140039960:	66 83 e8 41          	sub    $0x41,%ax
140039964:	66 83 c1 20          	add    $0x20,%cx
140039968:	66 83 f8 19          	cmp    $0x19,%ax
14003996c:	66 0f 47 0a          	cmova  (%rdx),%cx
140039970:	49 ff c0             	inc    %r8
140039973:	66 41 89 0c 11       	mov    %cx,(%r9,%rdx,1)
140039978:	48 83 c2 02          	add    $0x2,%rdx
14003997c:	66 44 39 12          	cmp    %r10w,(%rdx)
140039980:	75 d2                	jne    0x140039954