14078641d:	48 8b 7d 9f          	mov    -0x61(%rbp),%rdi
140786421:	48 3b df             	cmp    %rdi,%rbx
140786424:	74 15                	je     0x14078643b
140786426:	48 8b cb             	mov    %rbx,%rcx
140786429:	e8 72 b8 c3 ff       	call   0x1403c1ca0
14078642e:	48 83 c3 30          	add    $0x30,%rbx
140786432:	48 3b df             	cmp    %rdi,%rbx
140786435:	75 ef                	jne    0x140786426
140786437:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
14078643b:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
14078643f:	48 2b cb             	sub    %rbx,%rcx
140786442:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140786449:	aa aa 2a
14078644c:	48 f7 e9             	imul   %rcx
14078644f:	48 c1 fa 03          	sar    $0x3,%rdx
140786453:	48 8b c2             	mov    %rdx,%rax
140786456:	48 c1 e8 3f          	shr    $0x3f,%rax
14078645a:	48 03 d0             	add    %rax,%rdx
14078645d:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140786461:	48 c1 e2 04          	shl    $0x4,%rdx
140786465:	48 8b c3             	mov    %rbx,%rax
140786468:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14078646f:	0f 82 ef fe ff ff    	jb     0x140786364
140786475:	48 83 c2 27          	add    $0x27,%rdx
140786479:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
14078647d:	48 2b c3             	sub    %rbx,%rax
140786480:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140786484:	48 83 f8 1f          	cmp    $0x1f,%rax
140786488:	0f 86 d6 fe ff ff    	jbe    0x140786364
14078648e:	e8 11 3d 6a 00       	call   0x140e2a1a4
140786493:	cc                   	int3
140786494:	e8 0b 3d 6a 00       	call   0x140e2a1a4
140786499:	cc                   	int3
14078649a:	cc                   	int3
14078649b:	cc                   	int3
14078649c:	cc                   	int3
14078649d:	cc                   	int3
14078649e:	cc                   	int3
14078649f:	cc                   	int3
1407864a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1407864a5:	55                   	push   %rbp
1407864a6:	56                   	push   %rsi
1407864a7:	57                   	push   %rdi
1407864a8:	48 8d 6c 24 b9       	lea    -0x47(%rsp),%rbp
1407864ad:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
1407864b4:	48 8b f2             	mov    %rdx,%rsi
1407864b7:	48 8b d9             	mov    %rcx,%rbx
1407864ba:	33 ff                	xor    %edi,%edi
1407864bc:	0f 57 c0             	xorps  %xmm0,%xmm0
1407864bf:	f3 0f 7f 45 97       	movdqu %xmm0,-0x69(%rbp)
1407864c4:	48 89 7d a7          	mov    %rdi,-0x59(%rbp)
1407864c8:	48 8d 51 20          	lea    0x20(%rcx),%rdx
1407864cc:	48 39 3a             	cmp    %rdi,(%rdx)
1407864cf:	0f 84 16 01 00 00    	je     0x1407865eb
1407864d5:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
1407864d9:	e8 a2 30 00 00       	call   0x140789580
1407864de:	90                   	nop
1407864df:	40 38 7d cf          	cmp    %dil,-0x31(%rbp)
1407864e3:	0f 85 a9 00 00 00    	jne    0x140786592
1407864e9:	40 88 3e             	mov    %dil,(%rsi)
1407864ec:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
1407864f0:	b2 0c                	mov    $0xc,%dl
1407864f2:	e8 89 8a 23 00       	call   0x1409bef80
1407864f7:	90                   	nop
1407864f8:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
1407864fc:	40 38 7d cf          	cmp    %dil,-0x31(%rbp)
140786500:	74 07                	je     0x140786509
140786502:	e8 99 b7 c3 ff       	call   0x1403c1ca0
140786507:	eb 06                	jmp    0x14078650f
140786509:	e8 42 8d 23 00       	call   0x1409bf250
14078650e:	90                   	nop
14078650f:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
140786513:	48 85 db             	test   %rbx,%rbx
140786516:	0f 84 a0 01 00 00    	je     0x1407866bc
14078651c:	48 8b 7d 9f          	mov    -0x61(%rbp),%rdi
140786520:	48 3b df             	cmp    %rdi,%rbx
140786523:	74 15                	je     0x14078653a
140786525:	48 8b cb             	mov    %rbx,%rcx
140786528:	e8 73 b7 c3 ff       	call   0x1403c1ca0
14078652d:	48 83 c3 30          	add    $0x30,%rbx
140786531:	48 3b df             	cmp    %rdi,%rbx
140786534:	75 ef                	jne    0x140786525
140786536:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
14078653a:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
14078653e:	48 2b cb             	sub    %rbx,%rcx
140786541:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140786548:	aa aa 2a
14078654b:	48 f7 e9             	imul   %rcx
14078654e:	48 c1 fa 03          	sar    $0x3,%rdx
140786552:	48 8b c2             	mov    %rdx,%rax
140786555:	48 c1 e8 3f          	shr    $0x3f,%rax
140786559:	48 03 d0             	add    %rax,%rdx
14078655c:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140786560:	48 c1 e2 04          	shl    $0x4,%rdx
140786564:	48 8b c3             	mov    %rbx,%rax
140786567:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14078656e:	0f 82 40 01 00 00    	jb     0x1407866b4
140786574:	48 83 c2 27          	add    $0x27,%rdx
140786578:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
14078657c:	48 2b c3             	sub    %rbx,%rax
14078657f:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140786583:	48 83 f8 1f          	cmp    $0x1f,%rax
140786587:	0f 87 57 02 00 00    	ja     0x1407867e4
14078658d:	e9 22 01 00 00       	jmp    0x1407866b4
140786592:	48 8b 55 9f          	mov    -0x61(%rbp),%rdx
140786596:	48 3b 55 a7          	cmp    -0x59(%rbp),%rdx
14078659a:	74 29                	je     0x1407865c5
14078659c:	48 89 55 77          	mov    %rdx,0x77(%rbp)
1407865a0:	c6 42 28 ff          	movb   $0xff,0x28(%rdx)
1407865a4:	48 89 55 67          	mov    %rdx,0x67(%rbp)
1407865a8:	48 0f be 4d ff       	movsbq -0x1(%rbp),%rcx
1407865ad:	48 ff c1             	inc    %rcx
1407865b0:	4c 8d 45 d7          	lea    -0x29(%rbp),%r8
1407865b4:	48 8d 55 67          	lea    0x67(%rbp),%rdx
1407865b8:	e8 a3 a4 db ff       	call   0x140540a60
1407865bd:	90                   	nop
1407865be:	48 83 45 9f 30       	addq   $0x30,-0x61(%rbp)
1407865c3:	eb 0e                	jmp    0x1407865d3
1407865c5:	4c 8d 45 d7          	lea    -0x29(%rbp),%r8
1407865c9:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
1407865cd:	e8 4e 99 db ff       	call   0x14053ff20
1407865d2:	90                   	nop
1407865d3:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
1407865d7:	80 7d cf 00          	cmpb   $0x0,-0x31(%rbp)
1407865db:	74 07                	je     0x1407865e4
1407865dd:	e8 be b6 c3 ff       	call   0x1403c1ca0
1407865e2:	eb 16                	jmp    0x1407865fa
1407865e4:	e8 67 8c 23 00       	call   0x1409bf250
1407865e9:	eb 0f                	jmp    0x1407865fa
1407865eb:	4c 8d 45 67          	lea    0x67(%rbp),%r8
1407865ef:	33 d2                	xor    %edx,%edx
1407865f1:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
1407865f5:	e8 76 85 dc ff       	call   0x14054eb70
1407865fa:	48 8d 55 07          	lea    0x7(%rbp),%rdx
1407865fe:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
140786602:	e8 39 c7 e1 ff       	call   0x1405a2d40
140786607:	90                   	nop
140786608:	80 7d 07 00          	cmpb   $0x0,0x7(%rbp)
14078660c:	0f 85 c0 00 00 00    	jne    0x1407866d2
140786612:	c6 06 00             	movb   $0x0,(%rsi)
140786615:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140786619:	b2 0c                	mov    $0xc,%dl
14078661b:	e8 60 89 23 00       	call   0x1409bef80
140786620:	90                   	nop
140786621:	48 8d 4d 0f          	lea    0xf(%rbp),%rcx
140786625:	80 7d 07 00          	cmpb   $0x0,0x7(%rbp)
140786629:	74 07                	je     0x140786632
14078662b:	e8 70 b6 c3 ff       	call   0x1403c1ca0
140786630:	eb 06                	jmp    0x140786638
140786632:	e8 19 8c 23 00       	call   0x1409bf250
140786637:	90                   	nop
140786638:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
14078663c:	48 85 db             	test   %rbx,%rbx
14078663f:	74 7b                	je     0x1407866bc
140786641:	48 8b 7d 9f          	mov    -0x61(%rbp),%rdi
140786645:	48 3b df             	cmp    %rdi,%rbx
140786648:	74 1b                	je     0x140786665
14078664a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140786650:	48 8b cb             	mov    %rbx,%rcx
140786653:	e8 48 b6 c3 ff       	call   0x1403c1ca0
140786658:	48 83 c3 30          	add    $0x30,%rbx
14078665c:	48 3b df             	cmp    %rdi,%rbx
14078665f:	75 ef                	jne    0x140786650
140786661:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
140786665:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
140786669:	48 2b cb             	sub    %rbx,%rcx
14078666c:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140786673:	aa aa 2a
140786676:	48 f7 e9             	imul   %rcx
140786679:	48 c1 fa 03          	sar    $0x3,%rdx
14078667d:	48 8b c2             	mov    %rdx,%rax
140786680:	48 c1 e8 3f          	shr    $0x3f,%rax
140786684:	48 03 d0             	add    %rax,%rdx
140786687:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
14078668b:	48 c1 e2 04          	shl    $0x4,%rdx
14078668f:	48 8b c3             	mov    %rbx,%rax
140786692:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140786699:	72 19                	jb     0x1407866b4
14078669b:	48 83 c2 27          	add    $0x27,%rdx
14078669f:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1407866a3:	48 2b c3             	sub    %rbx,%rax
1407866a6:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407866aa:	48 83 f8 1f          	cmp    $0x1f,%rax
1407866ae:	0f 87 2a 01 00 00    	ja     0x1407867de
1407866b4:	48 8b cb             	mov    %rbx,%rcx
1407866b7:	e8 88 4a 69 00       	call   0x140e1b144
1407866bc:	48 8b c6             	mov    %rsi,%rax
1407866bf:	48 8b 9c 24 f8 00 00 	mov    0xf8(%rsp),%rbx
1407866c6:	00
1407866c7:	48 81 c4 d0 00 00 00 	add    $0xd0,%rsp
1407866ce:	5f                   	pop    %rdi
1407866cf:	5e                   	pop    %rsi
1407866d0:	5d                   	pop    %rbp
1407866d1:	c3                   	ret
1407866d2:	48 8b 55 9f          	mov    -0x61(%rbp),%rdx
1407866d6:	48 3b 55 a7          	cmp    -0x59(%rbp),%rdx
1407866da:	74 2c                	je     0x140786708
1407866dc:	48 89 55 77          	mov    %rdx,0x77(%rbp)
1407866e0:	c6 42 28 ff          	movb   $0xff,0x28(%rdx)
1407866e4:	48 89 55 67          	mov    %rdx,0x67(%rbp)
1407866e8:	48 0f be 4d 37       	movsbq 0x37(%rbp),%rcx
1407866ed:	48 ff c1             	inc    %rcx
1407866f0:	4c 8d 45 0f          	lea    0xf(%rbp),%r8
1407866f4:	48 8d 55 67          	lea    0x67(%rbp),%rdx
1407866f8:	e8 23 a1 db ff       	call   0x140540820
1407866fd:	90                   	nop
1407866fe:	48 8b 55 9f          	mov    -0x61(%rbp),%rdx
140786702:	48 83 c2 30          	add    $0x30,%rdx
140786706:	eb 11                	jmp    0x140786719
140786708:	4c 8d 45 0f          	lea    0xf(%rbp),%r8
14078670c:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
140786710:	e8 3b 96 db ff       	call   0x14053fd50
140786715:	48 8b 55 9f          	mov    -0x61(%rbp),%rdx
140786719:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
14078671d:	48 89 7d a7          	mov    %rdi,-0x59(%rbp)
140786721:	48 89 7d 9f          	mov    %rdi,-0x61(%rbp)
140786725:	48 8b 45 97          	mov    -0x69(%rbp),%rax
140786729:	48 89 7d 97          	mov    %rdi,-0x69(%rbp)
14078672d:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
140786731:	48 89 55 bf          	mov    %rdx,-0x41(%rbp)
140786735:	48 89 4d c7          	mov    %rcx,-0x39(%rbp)
140786739:	45 33 c0             	xor    %r8d,%r8d
14078673c:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140786740:	48 8b ce             	mov    %rsi,%rcx
140786743:	e8 38 75 dc ff       	call   0x14054dc80
140786748:	90                   	nop
140786749:	48 8d 4d 0f          	lea    0xf(%rbp),%rcx
14078674d:	80 7d 07 00          	cmpb   $0x0,0x7(%rbp)
140786751:	74 07                	je     0x14078675a
140786753:	e8 48 b5 c3 ff       	call   0x1403c1ca0
140786758:	eb 06                	jmp    0x140786760
14078675a:	e8 f1 8a 23 00       	call   0x1409bf250
14078675f:	90                   	nop
140786760:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
140786764:	48 85 db             	test   %rbx,%rbx
140786767:	0f 84 4f ff ff ff    	je     0x1407866bc
14078676d:	48 8b 7d 9f          	mov    -0x61(%rbp),%rdi
140786771:	48 3b df             	cmp    %rdi,%rbx
140786774:	74 15                	je     0x14078678b
140786776:	48 8b cb             	mov    %rbx,%rcx
140786779:	e8 22 b5 c3 ff       	call   0x1403c1ca0
14078677e:	48 83 c3 30          	add    $0x30,%rbx
140786782:	48 3b df             	cmp    %rdi,%rbx
140786785:	75 ef                	jne    0x140786776
140786787:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
14078678b:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
14078678f:	48 2b cb             	sub    %rbx,%rcx
140786792:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140786799:	aa aa 2a
14078679c:	48 f7 e9             	imul   %rcx
14078679f:	48 c1 fa 03          	sar    $0x3,%rdx
1407867a3:	48 8b c2             	mov    %rdx,%rax
1407867a6:	48 c1 e8 3f          	shr    $0x3f,%rax
1407867aa:	48 03 d0             	add    %rax,%rdx
1407867ad:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1407867b1:	48 c1 e2 04          	shl    $0x4,%rdx
1407867b5:	48 8b c3             	mov    %rbx,%rax
1407867b8:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1407867bf:	0f 82 ef fe ff ff    	jb     0x1407866b4
1407867c5:	48 83 c2 27          	add    $0x27,%rdx
1407867c9:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1407867cd:	48 2b c3             	sub    %rbx,%rax
1407867d0:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407867d4:	48 83 f8 1f          	cmp    $0x1f,%rax
1407867d8:	0f 86 d6 fe ff ff    	jbe    0x1407866b4
1407867de:	e8 c1 39 6a 00       	call   0x140e2a1a4
1407867e3:	cc                   	int3
1407867e4:	e8 bb 39 6a 00       	call   0x140e2a1a4
1407867e9:	cc                   	int3
1407867ea:	cc                   	int3
1407867eb:	cc                   	int3
1407867ec:	cc                   	int3
1407867ed:	cc                   	int3
1407867ee:	cc                   	int3
1407867ef:	cc                   	int3
1407867f0:	48 8b c4             	mov    %rsp,%rax
1407867f3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1407867f7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1407867fb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1407867ff:	55                   	push   %rbp
140786800:	41 54                	push   %r12
140786802:	41 55                	push   %r13
140786804:	41 56                	push   %r14
140786806:	41 57                	push   %r15
140786808:	48 8d a8 98 fd ff ff 	lea    -0x268(%rax),%rbp
14078680f:	48 81 ec 40 03 00 00 	sub    $0x340,%rsp
140786816:	0f 29 70 c8          	movaps %xmm6,-0x38(%rax)
14078681a:	0f 29 78 b8          	movaps %xmm7,-0x48(%rax)
14078681e:	48 8b 05 db 26 c3 00 	mov    0xc326db(%rip),%rax        # 0x1413b8f00
140786825:	48 33 c4             	xor    %rsp,%rax
140786828:	48 89 85 10 02 00 00 	mov    %rax,0x210(%rbp)
14078682f:	4c 8b e2             	mov    %rdx,%r12
140786832:	48 8b f1             	mov    %rcx,%rsi
140786835:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14078683a:	33 ff                	xor    %edi,%edi
14078683c:	48 8b 99 20 08 00 00 	mov    0x820(%rcx),%rbx
140786843:	40 88 7d 98          	mov    %dil,-0x68(%rbp)
140786847:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
14078684c:	e8 4f b4 c3 ff       	call   0x1403c1ca0
140786851:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
140786856:	c6 45 98 02          	movb   $0x2,-0x68(%rbp)
14078685a:	48 63 9e 28 08 00 00 	movslq 0x828(%rsi),%rbx
140786861:	40 88 7d c8          	mov    %dil,-0x38(%rbp)
140786865:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
140786869:	e8 32 b4 c3 ff       	call   0x1403c1ca0
14078686e:	48 89 5d a0          	mov    %rbx,-0x60(%rbp)
140786872:	c6 45 c8 02          	movb   $0x2,-0x38(%rbp)
140786876:	48 63 9e 2c 08 00 00 	movslq 0x82c(%rsi),%rbx
14078687d:	40 88 7d f8          	mov    %dil,-0x8(%rbp)
140786881:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
140786885:	e8 16 b4 c3 ff       	call   0x1403c1ca0
14078688a:	48 89 5d d0          	mov    %rbx,-0x30(%rbp)
14078688e:	c6 45 f8 02          	movb   $0x2,-0x8(%rbp)
140786892:	48 8b 9e 48 08 00 00 	mov    0x848(%rsi),%rbx
140786899:	40 88 7d 28          	mov    %dil,0x28(%rbp)
14078689d:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
1407868a1:	e8 fa b3 c3 ff       	call   0x1403c1ca0
1407868a6:	48 89 5d 00          	mov    %rbx,0x0(%rbp)
1407868aa:	c6 45 28 02          	movb   $0x2,0x28(%rbp)
1407868ae:	48 8b 9e 50 08 00 00 	mov    0x850(%rsi),%rbx
1407868b5:	40 88 7d 58          	mov    %dil,0x58(%rbp)
1407868b9:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
1407868bd:	e8 de b3 c3 ff       	call   0x1403c1ca0
1407868c2:	48 89 5d 30          	mov    %rbx,0x30(%rbp)
1407868c6:	c6 45 58 02          	movb   $0x2,0x58(%rbp)
1407868ca:	f2 0f 10 be 58 08 00 	movsd  0x858(%rsi),%xmm7
1407868d1:	00
1407868d2:	40 88 bd 88 00 00 00 	mov    %dil,0x88(%rbp)
1407868d9:	48 8d 4d 60          	lea    0x60(%rbp),%rcx
1407868dd:	e8 be b3 c3 ff       	call   0x1403c1ca0
1407868e2:	33 c9                	xor    %ecx,%ecx
1407868e4:	48 bb 00 00 00 00 00 	movabs $0x8000000000000000,%rbx
1407868eb:	00 00 80
1407868ee:	f2 0f 10 35 62 7f 82 	movsd  0x827f62(%rip),%xmm6        # 0x140fae858
1407868f5:	00
1407868f6:	66 0f 2f fe          	comisd %xmm6,%xmm7
1407868fa:	72 0d                	jb     0x140786909
1407868fc:	f2 0f 5c fe          	subsd  %xmm6,%xmm7
140786900:	66 0f 2f fe          	comisd %xmm6,%xmm7
140786904:	73 03                	jae    0x140786909
140786906:	48 8b cb             	mov    %rbx,%rcx
140786909:	f2 48 0f 2c c7       	cvttsd2si %xmm7,%rax
14078690e:	48 03 c1             	add    %rcx,%rax
140786911:	48 89 45 60          	mov    %rax,0x60(%rbp)
140786915:	c6 85 88 00 00 00 02 	movb   $0x2,0x88(%rbp)
14078691c:	f2 0f 10 be 60 08 00 	movsd  0x860(%rsi),%xmm7
140786923:	00
140786924:	40 88 bd b8 00 00 00 	mov    %dil,0xb8(%rbp)
14078692b:	48 8d 8d 90 00 00 00 	lea    0x90(%rbp),%rcx
140786932:	e8 69 b3 c3 ff       	call   0x1403c1ca0