1407a52ec:	cc                   	int3
1407a52ed:	cc                   	int3
1407a52ee:	cc                   	int3
1407a52ef:	cc                   	int3
1407a52f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407a52f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1407a52fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407a52ff:	57                   	push   %rdi
1407a5300:	41 54                	push   %r12
1407a5302:	41 55                	push   %r13
1407a5304:	41 56                	push   %r14
1407a5306:	41 57                	push   %r15
1407a5308:	48 83 ec 40          	sub    $0x40,%rsp
1407a530c:	49 8b d8             	mov    %r8,%rbx
1407a530f:	4c 8b fa             	mov    %rdx,%r15
1407a5312:	48 8b e9             	mov    %rcx,%rbp
1407a5315:	4d 8b 48 10          	mov    0x10(%r8),%r9
1407a5319:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
1407a531e:	76 03                	jbe    0x1407a5323
1407a5320:	4d 8b 00             	mov    (%r8),%r8
1407a5323:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
1407a532a:	9c f2 cb
1407a532d:	45 33 f6             	xor    %r14d,%r14d
1407a5330:	41 8b ce             	mov    %r14d,%ecx
1407a5333:	4d 85 c9             	test   %r9,%r9
1407a5336:	74 2c                	je     0x1407a5364
1407a5338:	48 ba b3 01 00 00 00 	movabs $0x100000001b3,%rdx
1407a533f:	01 00 00
1407a5342:	0f 1f 40 00          	nopl   0x0(%rax)
1407a5346:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1407a534d:	00 00 00
1407a5350:	41 0f b6 04 08       	movzbl (%r8,%rcx,1),%eax
1407a5355:	48 33 f8             	xor    %rax,%rdi
1407a5358:	48 0f af fa          	imul   %rdx,%rdi
1407a535c:	48 ff c1             	inc    %rcx
1407a535f:	49 3b c9             	cmp    %r9,%rcx
1407a5362:	72 ec                	jb     0x1407a5350
1407a5364:	4c 8b cf             	mov    %rdi,%r9
1407a5367:	4c 8b c3             	mov    %rbx,%r8
1407a536a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1407a536f:	48 8b cd             	mov    %rbp,%rcx
1407a5372:	e8 89 ee a6 ff       	call   0x140214200
1407a5377:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1407a537c:	48 85 c0             	test   %rax,%rax
1407a537f:	74 0c                	je     0x1407a538d
1407a5381:	49 89 07             	mov    %rax,(%r15)
1407a5384:	45 88 77 08          	mov    %r14b,0x8(%r15)
1407a5388:	e9 d8 01 00 00       	jmp    0x1407a5565
1407a538d:	48 b8 92 24 49 92 24 	movabs $0x492492492492492,%rax
1407a5394:	49 92 04
1407a5397:	48 39 45 10          	cmp    %rax,0x10(%rbp)
1407a539b:	0f 84 e7 01 00 00    	je     0x1407a5588
1407a53a1:	4c 8d 65 08          	lea    0x8(%rbp),%r12
1407a53a5:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
1407a53aa:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
1407a53af:	b9 38 00 00 00       	mov    $0x38,%ecx
1407a53b4:	e8 4f 5d 67 00       	call   0x140e1b108
1407a53b9:	48 8b f0             	mov    %rax,%rsi
1407a53bc:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1407a53c1:	0f 57 c0             	xorps  %xmm0,%xmm0
1407a53c4:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1407a53c8:	4c 89 70 20          	mov    %r14,0x20(%rax)
1407a53cc:	4c 89 70 28          	mov    %r14,0x28(%rax)
1407a53d0:	0f 10 03             	movups (%rbx),%xmm0
1407a53d3:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1407a53d7:	0f 10 4b 10          	movups 0x10(%rbx),%xmm1
1407a53db:	0f 11 48 20          	movups %xmm1,0x20(%rax)
1407a53df:	4c 89 73 10          	mov    %r14,0x10(%rbx)
1407a53e3:	48 c7 43 18 0f 00 00 	movq   $0xf,0x18(%rbx)
1407a53ea:	00
1407a53eb:	c6 03 00             	movb   $0x0,(%rbx)
1407a53ee:	44 89 70 30          	mov    %r14d,0x30(%rax)
1407a53f2:	48 8b 55 10          	mov    0x10(%rbp),%rdx
1407a53f6:	48 83 c2 01          	add    $0x1,%rdx
1407a53fa:	0f 57 c0             	xorps  %xmm0,%xmm0
1407a53fd:	78 07                	js     0x1407a5406
1407a53ff:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
1407a5404:	eb 18                	jmp    0x1407a541e
1407a5406:	48 8b ca             	mov    %rdx,%rcx
1407a5409:	48 d1 e9             	shr    $1,%rcx
1407a540c:	48 8b c2             	mov    %rdx,%rax
1407a540f:	83 e0 01             	and    $0x1,%eax
1407a5412:	48 0b c8             	or     %rax,%rcx
1407a5415:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1407a541a:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1407a541e:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
1407a5422:	0f 57 c9             	xorps  %xmm1,%xmm1
1407a5425:	48 85 c9             	test   %rcx,%rcx
1407a5428:	78 07                	js     0x1407a5431
1407a542a:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
1407a542f:	eb 15                	jmp    0x1407a5446
1407a5431:	48 8b c1             	mov    %rcx,%rax
1407a5434:	48 d1 e8             	shr    $1,%rax
1407a5437:	83 e1 01             	and    $0x1,%ecx
1407a543a:	48 0b c1             	or     %rcx,%rax
1407a543d:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
1407a5442:	f3 0f 58 c9          	addss  %xmm1,%xmm1
1407a5446:	f3 0f 5e c1          	divss  %xmm1,%xmm0
1407a544a:	0f 2f 45 00          	comiss 0x0(%rbp),%xmm0
1407a544e:	0f 86 b9 00 00 00    	jbe    0x1407a550d
1407a5454:	48 8b cd             	mov    %rbp,%rcx
1407a5457:	e8 84 fe e0 ff       	call   0x1405b52e0
1407a545c:	48 8b d0             	mov    %rax,%rdx
1407a545f:	48 8b cd             	mov    %rbp,%rcx
1407a5462:	e8 79 ed c1 ff       	call   0x1403c41e0
1407a5467:	48 8b 45 30          	mov    0x30(%rbp),%rax
1407a546b:	48 23 c7             	and    %rdi,%rax
1407a546e:	48 03 c0             	add    %rax,%rax
1407a5471:	4c 8b 6d 18          	mov    0x18(%rbp),%r13
1407a5475:	49 8b 5c c5 08       	mov    0x8(%r13,%rax,8),%rbx
1407a547a:	49 8b 0c 24          	mov    (%r12),%rcx
1407a547e:	48 3b d9             	cmp    %rcx,%rbx
1407a5481:	75 07                	jne    0x1407a548a
1407a5483:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1407a5488:	eb 6f                	jmp    0x1407a54f9
1407a548a:	4d 8b 6c c5 00       	mov    0x0(%r13,%rax,8),%r13
1407a548f:	4c 8b 66 20          	mov    0x20(%rsi),%r12
1407a5493:	0f 1f 40 00          	nopl   0x0(%rax)
1407a5497:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1407a549e:	00 00
1407a54a0:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1407a54a4:	48 8b 42 10          	mov    0x10(%rdx),%rax
1407a54a8:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
1407a54ad:	76 03                	jbe    0x1407a54b2
1407a54af:	48 8b 12             	mov    (%rdx),%rdx
1407a54b2:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
1407a54b6:	48 83 7e 28 0f       	cmpq   $0xf,0x28(%rsi)
1407a54bb:	76 04                	jbe    0x1407a54c1
1407a54bd:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1407a54c1:	4c 3b e0             	cmp    %rax,%r12
1407a54c4:	75 0c                	jne    0x1407a54d2
1407a54c6:	4d 8b c4             	mov    %r12,%r8
1407a54c9:	e8 82 a5 73 00       	call   0x140edfa50
1407a54ce:	85 c0                	test   %eax,%eax
1407a54d0:	74 0b                	je     0x1407a54dd
1407a54d2:	49 3b dd             	cmp    %r13,%rbx
1407a54d5:	74 19                	je     0x1407a54f0
1407a54d7:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1407a54db:	eb c3                	jmp    0x1407a54a0
1407a54dd:	48 8b 03             	mov    (%rbx),%rax
1407a54e0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407a54e5:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1407a54ea:	4c 8d 65 08          	lea    0x8(%rbp),%r12
1407a54ee:	eb 12                	jmp    0x1407a5502
1407a54f0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1407a54f5:	4c 8d 65 08          	lea    0x8(%rbp),%r12
1407a54f9:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1407a5500:	00 00
1407a5502:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1407a5507:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
1407a550d:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
1407a5512:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1407a5516:	48 ff 45 10          	incq   0x10(%rbp)
1407a551a:	48 89 16             	mov    %rdx,(%rsi)
1407a551d:	4c 89 46 08          	mov    %r8,0x8(%rsi)
1407a5521:	49 89 30             	mov    %rsi,(%r8)
1407a5524:	48 89 72 08          	mov    %rsi,0x8(%rdx)
1407a5528:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1407a552c:	48 8b 45 30          	mov    0x30(%rbp),%rax
1407a5530:	48 23 c7             	and    %rdi,%rax
1407a5533:	48 03 c0             	add    %rax,%rax
1407a5536:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
1407a553a:	4d 3b 0c 24          	cmp    (%r12),%r9
1407a553e:	75 06                	jne    0x1407a5546
1407a5540:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1407a5544:	eb 12                	jmp    0x1407a5558
1407a5546:	4c 3b ca             	cmp    %rdx,%r9
1407a5549:	75 06                	jne    0x1407a5551
1407a554b:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1407a554f:	eb 0c                	jmp    0x1407a555d
1407a5551:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
1407a5556:	75 05                	jne    0x1407a555d
1407a5558:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
1407a555d:	49 89 37             	mov    %rsi,(%r15)
1407a5560:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
1407a5565:	49 8b c7             	mov    %r15,%rax
1407a5568:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1407a556d:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
1407a5572:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
1407a5579:	00
1407a557a:	48 83 c4 40          	add    $0x40,%rsp
1407a557e:	41 5f                	pop    %r15
1407a5580:	41 5e                	pop    %r14
1407a5582:	41 5d                	pop    %r13
1407a5584:	41 5c                	pop    %r12
1407a5586:	5f                   	pop    %rdi
1407a5587:	c3                   	ret
1407a5588:	48 8d 0d 11 8f 80 00 	lea    0x808f11(%rip),%rcx        # 0x140fae4a0
1407a558f:	e8 20 5e 65 00       	call   0x140dfb3b4
1407a5594:	cc                   	int3
1407a5595:	cc                   	int3
1407a5596:	cc                   	int3
1407a5597:	cc                   	int3
1407a5598:	cc                   	int3
1407a5599:	cc                   	int3
1407a559a:	cc                   	int3
1407a559b:	cc                   	int3
1407a559c:	cc                   	int3
1407a559d:	cc                   	int3
1407a559e:	cc                   	int3
1407a559f:	cc                   	int3
1407a55a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1407a55a5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1407a55aa:	56                   	push   %rsi
1407a55ab:	57                   	push   %rdi
1407a55ac:	41 54                	push   %r12
1407a55ae:	41 56                	push   %r14
1407a55b0:	41 57                	push   %r15
1407a55b2:	48 83 ec 50          	sub    $0x50,%rsp
1407a55b6:	49 8b e8             	mov    %r8,%rbp
1407a55b9:	4c 8b f2             	mov    %rdx,%r14
1407a55bc:	4c 8b f9             	mov    %rcx,%r15
1407a55bf:	48 8b 39             	mov    (%rcx),%rdi
1407a55c2:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
1407a55c6:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1407a55cb:	45 33 e4             	xor    %r12d,%r12d
1407a55ce:	44 89 64 24 38       	mov    %r12d,0x38(%rsp)
1407a55d3:	44 38 63 19          	cmp    %r12b,0x19(%rbx)
1407a55d7:	75 63                	jne    0x1407a563c
1407a55d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1407a55e0:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1407a55e5:	4c 8d 43 20          	lea    0x20(%rbx),%r8
1407a55e9:	49 0f be 40 28       	movsbq 0x28(%r8),%rax
1407a55ee:	48 ff c0             	inc    %rax
1407a55f1:	48 0f be 4d 28       	movsbq 0x28(%rbp),%rcx
1407a55f6:	48 8d 51 01          	lea    0x1(%rcx),%rdx
1407a55fa:	48 3b c2             	cmp    %rdx,%rax
1407a55fd:	72 2e                	jb     0x1407a562d
1407a55ff:	75 1c                	jne    0x1407a561d
1407a5601:	4c 89 84 24 80 00 00 	mov    %r8,0x80(%rsp)
1407a5608:	00
1407a5609:	4c 8d 84 24 80 00 00 	lea    0x80(%rsp),%r8
1407a5610:	00
1407a5611:	48 8b d5             	mov    %rbp,%rdx
1407a5614:	e8 d7 97 da ff       	call   0x14054edf0
1407a5619:	84 c0                	test   %al,%al
1407a561b:	75 10                	jne    0x1407a562d
1407a561d:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1407a5624:	00
1407a5625:	48 8b fb             	mov    %rbx,%rdi
1407a5628:	48 8b 1b             	mov    (%rbx),%rbx
1407a562b:	eb 09                	jmp    0x1407a5636
1407a562d:	44 89 64 24 38       	mov    %r12d,0x38(%rsp)
1407a5632:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
1407a5636:	44 38 63 19          	cmp    %r12b,0x19(%rbx)
1407a563a:	74 a4                	je     0x1407a55e0
1407a563c:	44 38 67 19          	cmp    %r12b,0x19(%rdi)
1407a5640:	75 41                	jne    0x1407a5683
1407a5642:	48 8d 57 20          	lea    0x20(%rdi),%rdx
1407a5646:	48 0f be 45 28       	movsbq 0x28(%rbp),%rax
1407a564b:	48 ff c0             	inc    %rax
1407a564e:	48 0f be 4a 28       	movsbq 0x28(%rdx),%rcx
1407a5653:	4c 8d 41 01          	lea    0x1(%rcx),%r8
1407a5657:	49 3b c0             	cmp    %r8,%rax
1407a565a:	72 27                	jb     0x1407a5683
1407a565c:	75 19                	jne    0x1407a5677
1407a565e:	48 89 ac 24 80 00 00 	mov    %rbp,0x80(%rsp)
1407a5665:	00
1407a5666:	4c 8d 84 24 80 00 00 	lea    0x80(%rsp),%r8
1407a566d:	00
1407a566e:	e8 7d 97 da ff       	call   0x14054edf0
1407a5673:	84 c0                	test   %al,%al
1407a5675:	75 0c                	jne    0x1407a5683
1407a5677:	49 89 3e             	mov    %rdi,(%r14)
1407a567a:	45 88 66 08          	mov    %r12b,0x8(%r14)
1407a567e:	e9 a6 00 00 00       	jmp    0x1407a5729
1407a5683:	48 b8 ff ff ff ff ff 	movabs $0x1ffffffffffffff,%rax
1407a568a:	ff ff 01
1407a568d:	49 39 47 08          	cmp    %rax,0x8(%r15)
1407a5691:	0f 84 ae 00 00 00    	je     0x1407a5745
1407a5697:	49 8b 37             	mov    (%r15),%rsi
1407a569a:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1407a569f:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
1407a56a4:	b9 80 00 00 00       	mov    $0x80,%ecx
1407a56a9:	e8 5a 5a 67 00       	call   0x140e1b108
1407a56ae:	48 8b f8             	mov    %rax,%rdi
1407a56b1:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1407a56b6:	48 8d 58 20          	lea    0x20(%rax),%rbx
1407a56ba:	48 89 9c 24 98 00 00 	mov    %rbx,0x98(%rsp)
1407a56c1:	00
1407a56c2:	c6 43 28 ff          	movb   $0xff,0x28(%rbx)
1407a56c6:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
1407a56cd:	00
1407a56ce:	48 0f be 4d 28       	movsbq 0x28(%rbp),%rcx
1407a56d3:	48 ff c1             	inc    %rcx
1407a56d6:	4c 8b c5             	mov    %rbp,%r8
1407a56d9:	48 8d 94 24 80 00 00 	lea    0x80(%rsp),%rdx
1407a56e0:	00
1407a56e1:	e8 7a b3 d9 ff       	call   0x140540a60
1407a56e6:	90                   	nop
1407a56e7:	0f 57 c0             	xorps  %xmm0,%xmm0
1407a56ea:	0f 11 43 30          	movups %xmm0,0x30(%rbx)
1407a56ee:	0f 11 43 40          	movups %xmm0,0x40(%rbx)
1407a56f2:	0f 11 43 50          	movups %xmm0,0x50(%rbx)
1407a56f6:	48 89 37             	mov    %rsi,(%rdi)
1407a56f9:	48 89 77 08          	mov    %rsi,0x8(%rdi)
1407a56fd:	48 89 77 10          	mov    %rsi,0x10(%rdi)
1407a5701:	66 c7 47 18 00 00    	movw   $0x0,0x18(%rdi)
1407a5707:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
1407a570c:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
1407a5711:	4c 8b c7             	mov    %rdi,%r8
1407a5714:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1407a5719:	49 8b cf             	mov    %r15,%rcx
1407a571c:	e8 6f 23 a4 ff       	call   0x1401e7a90
1407a5721:	49 89 06             	mov    %rax,(%r14)
1407a5724:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1407a5729:	49 8b c6             	mov    %r14,%rax
1407a572c:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1407a5731:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1407a5735:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1407a5739:	49 8b e3             	mov    %r11,%rsp
1407a573c:	41 5f                	pop    %r15
1407a573e:	41 5e                	pop    %r14
1407a5740:	41 5c                	pop    %r12
1407a5742:	5f                   	pop    %rdi
1407a5743:	5e                   	pop    %rsi
1407a5744:	c3                   	ret
1407a5745:	e8 a6 30 a4 ff       	call   0x1401e87f0
1407a574a:	cc                   	int3
1407a574b:	cc                   	int3
1407a574c:	cc                   	int3
1407a574d:	cc                   	int3
1407a574e:	cc                   	int3
1407a574f:	cc                   	int3
1407a5750:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407a5755:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1407a575a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407a575f:	57                   	push   %rdi
1407a5760:	41 54                	push   %r12
1407a5762:	41 55                	push   %r13
1407a5764:	41 56                	push   %r14
1407a5766:	41 57                	push   %r15
1407a5768:	48 83 ec 60          	sub    $0x60,%rsp
1407a576c:	4d 8b e9             	mov    %r9,%r13
1407a576f:	49 8b f8             	mov    %r8,%rdi
1407a5772:	4c 8b e2             	mov    %rdx,%r12
1407a5775:	48 8b d9             	mov    %rcx,%rbx
1407a5778:	4c 89 44 24 50       	mov    %r8,0x50(%rsp)
1407a577d:	4c 89 44 24 58       	mov    %r8,0x58(%rsp)
1407a5782:	49 83 f9 20          	cmp    $0x20,%r9
1407a5786:	0f 8e 02 01 00 00    	jle    0x1407a588e
1407a578c:	0f 1f 40 00          	nopl   0x0(%rax)
1407a5790:	49 83 c5 e0          	add    $0xffffffffffffffe0,%r13
1407a5794:	4c 8d bb 00 05 00 00 	lea    0x500(%rbx),%r15
1407a579b:	b8 20 00 00 00       	mov    $0x20,%eax
1407a57a0:	4c 3b e8             	cmp    %rax,%r13
1407a57a3:	49 0f 4c c5          	cmovl  %r13,%rax
1407a57a7:	4c 2b e8             	sub    %rax,%r13
1407a57aa:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
1407a57ae:	4d 8d 34 c7          	lea    (%r15,%rax,8),%r14