1400c34c5:	5f                   	pop    %rdi
1400c34c6:	c3                   	ret
1400c34c7:	cc                   	int3
1400c34c8:	cc                   	int3
1400c34c9:	cc                   	int3
1400c34ca:	cc                   	int3
1400c34cb:	cc                   	int3
1400c34cc:	cc                   	int3
1400c34cd:	cc                   	int3
1400c34ce:	cc                   	int3
1400c34cf:	cc                   	int3
1400c34d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400c34d5:	57                   	push   %rdi
1400c34d6:	48 83 ec 20          	sub    $0x20,%rsp
1400c34da:	4c 8b 49 08          	mov    0x8(%rcx),%r9
1400c34de:	48 8b f9             	mov    %rcx,%rdi
1400c34e1:	4c 8b 01             	mov    (%rcx),%r8
1400c34e4:	48 8b da             	mov    %rdx,%rbx
1400c34e7:	49 8b c9             	mov    %r9,%rcx
1400c34ea:	49 2b c8             	sub    %r8,%rcx
1400c34ed:	48 c1 f9 05          	sar    $0x5,%rcx
1400c34f1:	48 3b d1             	cmp    %rcx,%rdx
1400c34f4:	73 24                	jae    0x1400c351a
1400c34f6:	48 c1 e3 05          	shl    $0x5,%rbx
1400c34fa:	49 8b d1             	mov    %r9,%rdx
1400c34fd:	49 03 d8             	add    %r8,%rbx
1400c3500:	4c 8b c7             	mov    %rdi,%r8
1400c3503:	48 8b cb             	mov    %rbx,%rcx
1400c3506:	e8 35 28 fc ff       	call   0x140085d40
1400c350b:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
1400c350f:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400c3514:	48 83 c4 20          	add    $0x20,%rsp
1400c3518:	5f                   	pop    %rdi
1400c3519:	c3                   	ret
1400c351a:	76 3c                	jbe    0x1400c3558
1400c351c:	48 8b 47 10          	mov    0x10(%rdi),%rax
1400c3520:	49 2b c0             	sub    %r8,%rax
1400c3523:	48 c1 f8 05          	sar    $0x5,%rax
1400c3527:	48 3b d8             	cmp    %rax,%rbx
1400c352a:	76 17                	jbe    0x1400c3543
1400c352c:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1400c3531:	48 8b cf             	mov    %rdi,%rcx
1400c3534:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400c3539:	48 83 c4 20          	add    $0x20,%rsp
1400c353d:	5f                   	pop    %rdi
1400c353e:	e9 bd e7 fc ff       	jmp    0x140091d00
1400c3543:	48 2b d9             	sub    %rcx,%rbx
1400c3546:	4c 8b c7             	mov    %rdi,%r8
1400c3549:	48 8b d3             	mov    %rbx,%rdx
1400c354c:	49 8b c9             	mov    %r9,%rcx
1400c354f:	e8 5c 0f fd ff       	call   0x1400944b0
1400c3554:	48 89 47 08          	mov    %rax,0x8(%rdi)
1400c3558:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400c355d:	48 83 c4 20          	add    $0x20,%rsp
1400c3561:	5f                   	pop    %rdi
1400c3562:	c3                   	ret
1400c3563:	cc                   	int3
1400c3564:	cc                   	int3
1400c3565:	cc                   	int3
1400c3566:	cc                   	int3
1400c3567:	cc                   	int3
1400c3568:	cc                   	int3
1400c3569:	cc                   	int3
1400c356a:	cc                   	int3
1400c356b:	cc                   	int3
1400c356c:	cc                   	int3
1400c356d:	cc                   	int3
1400c356e:	cc                   	int3
1400c356f:	cc                   	int3
1400c3570:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1400c3575:	56                   	push   %rsi
1400c3576:	48 83 ec 20          	sub    $0x20,%rsp
1400c357a:	48 8b 59 08          	mov    0x8(%rcx),%rbx
1400c357e:	4c 8b ca             	mov    %rdx,%r9
1400c3581:	4c 8b 11             	mov    (%rcx),%r10
1400c3584:	48 8b d3             	mov    %rbx,%rdx
1400c3587:	49 2b d2             	sub    %r10,%rdx
1400c358a:	49 bb ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r11
1400c3591:	aa aa 2a
1400c3594:	49 8b c3             	mov    %r11,%rax
1400c3597:	48 8b f1             	mov    %rcx,%rsi
1400c359a:	48 f7 ea             	imul   %rdx
1400c359d:	4c 8b c2             	mov    %rdx,%r8
1400c35a0:	49 c1 f8 02          	sar    $0x2,%r8
1400c35a4:	49 8b c0             	mov    %r8,%rax
1400c35a7:	48 c1 e8 3f          	shr    $0x3f,%rax
1400c35ab:	4c 03 c0             	add    %rax,%r8
1400c35ae:	4d 3b c8             	cmp    %r8,%r9
1400c35b1:	73 47                	jae    0x1400c35fa
1400c35b3:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
1400c35b8:	4b 8d 04 49          	lea    (%r9,%r9,2),%rax
1400c35bc:	49 8d 2c c2          	lea    (%r10,%rax,8),%rbp
1400c35c0:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
1400c35c5:	48 8b fd             	mov    %rbp,%rdi
1400c35c8:	48 3b eb             	cmp    %rbx,%rbp
1400c35cb:	74 14                	je     0x1400c35e1
1400c35cd:	0f 1f 00             	nopl   (%rax)
1400c35d0:	48 8b cf             	mov    %rdi,%rcx
1400c35d3:	e8 08 66 fd ff       	call   0x140099be0
1400c35d8:	48 83 c7 18          	add    $0x18,%rdi
1400c35dc:	48 3b fb             	cmp    %rbx,%rdi
1400c35df:	75 ef                	jne    0x1400c35d0
1400c35e1:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1400c35e6:	48 89 6e 08          	mov    %rbp,0x8(%rsi)
1400c35ea:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400c35ef:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400c35f4:	48 83 c4 20          	add    $0x20,%rsp
1400c35f8:	5e                   	pop    %rsi
1400c35f9:	c3                   	ret
1400c35fa:	76 5f                	jbe    0x1400c365b
1400c35fc:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400c3600:	49 8b c3             	mov    %r11,%rax
1400c3603:	49 2b ca             	sub    %r10,%rcx
1400c3606:	48 f7 e9             	imul   %rcx
1400c3609:	48 c1 fa 02          	sar    $0x2,%rdx
1400c360d:	48 8b c2             	mov    %rdx,%rax
1400c3610:	48 c1 e8 3f          	shr    $0x3f,%rax
1400c3614:	48 03 d0             	add    %rax,%rdx
1400c3617:	4c 3b ca             	cmp    %rdx,%r9
1400c361a:	76 1a                	jbe    0x1400c3636
1400c361c:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1400c3621:	49 8b d1             	mov    %r9,%rdx
1400c3624:	48 8b ce             	mov    %rsi,%rcx
1400c3627:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400c362c:	48 83 c4 20          	add    $0x20,%rsp
1400c3630:	5e                   	pop    %rsi
1400c3631:	e9 2a e8 fc ff       	jmp    0x140091e60
1400c3636:	4d 2b c8             	sub    %r8,%r9
1400c3639:	74 1c                	je     0x1400c3657
1400c363b:	33 c0                	xor    %eax,%eax
1400c363d:	0f 1f 00             	nopl   (%rax)
1400c3640:	48 89 43 08          	mov    %rax,0x8(%rbx)
1400c3644:	66 c7 43 10 00 01    	movw   $0x100,0x10(%rbx)
1400c364a:	48 89 03             	mov    %rax,(%rbx)
1400c364d:	48 83 c3 18          	add    $0x18,%rbx
1400c3651:	49 83 e9 01          	sub    $0x1,%r9
1400c3655:	75 e9                	jne    0x1400c3640
1400c3657:	48 89 5e 08          	mov    %rbx,0x8(%rsi)
1400c365b:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400c3660:	48 83 c4 20          	add    $0x20,%rsp
1400c3664:	5e                   	pop    %rsi
1400c3665:	c3                   	ret
1400c3666:	cc                   	int3
1400c3667:	cc                   	int3
1400c3668:	cc                   	int3
1400c3669:	cc                   	int3
1400c366a:	cc                   	int3
1400c366b:	cc                   	int3
1400c366c:	cc                   	int3
1400c366d:	cc                   	int3
1400c366e:	cc                   	int3
1400c366f:	cc                   	int3
1400c3670:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400c3675:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1400c367a:	41 56                	push   %r14
1400c367c:	48 83 ec 50          	sub    $0x50,%rsp
1400c3680:	4c 8b 49 18          	mov    0x18(%rcx),%r9
1400c3684:	45 0f b6 f0          	movzbl %r8b,%r14d
1400c3688:	48 8b da             	mov    %rdx,%rbx
1400c368b:	48 8b f9             	mov    %rcx,%rdi
1400c368e:	4c 3b ca             	cmp    %rdx,%r9
1400c3691:	0f 83 92 01 00 00    	jae    0x1400c3829
1400c3697:	48 8b 09             	mov    (%rcx),%rcx
1400c369a:	49 2b d9             	sub    %r9,%rbx
1400c369d:	4d 85 c9             	test   %r9,%r9
1400c36a0:	79 24                	jns    0x1400c36c6
1400c36a2:	49 8b c1             	mov    %r9,%rax
1400c36a5:	48 f7 d8             	neg    %rax
1400c36a8:	74 1c                	je     0x1400c36c6
1400c36aa:	49 8b c1             	mov    %r9,%rax
1400c36ad:	48 f7 d0             	not    %rax
1400c36b0:	48 c1 e8 05          	shr    $0x5,%rax
1400c36b4:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400c36bb:	00
1400c36bc:	48 2b c8             	sub    %rax,%rcx
1400c36bf:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400c36c4:	eb 10                	jmp    0x1400c36d6
1400c36c6:	49 8b c1             	mov    %r9,%rax
1400c36c9:	48 c1 e8 05          	shr    $0x5,%rax
1400c36cd:	48 8d 04 81          	lea    (%rcx,%rax,4),%rax
1400c36d1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400c36d6:	41 83 e1 1f          	and    $0x1f,%r9d
1400c36da:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1400c36df:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
1400c36e4:	4c 8b c3             	mov    %rbx,%r8
1400c36e7:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1400c36ec:	48 8b cf             	mov    %rdi,%rcx
1400c36ef:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
1400c36f5:	e8 86 d3 ff ff       	call   0x1400c0a80
1400c36fa:	4c 8b 07             	mov    (%rdi),%r8
1400c36fd:	48 8b d0             	mov    %rax,%rdx
1400c3700:	48 85 c0             	test   %rax,%rax
1400c3703:	79 1c                	jns    0x1400c3721
1400c3705:	48 8b c8             	mov    %rax,%rcx
1400c3708:	48 f7 d9             	neg    %rcx
1400c370b:	74 14                	je     0x1400c3721
1400c370d:	48 f7 d0             	not    %rax
1400c3710:	48 c1 e8 05          	shr    $0x5,%rax
1400c3714:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400c371b:	00
1400c371c:	4c 2b c0             	sub    %rax,%r8
1400c371f:	eb 08                	jmp    0x1400c3729
1400c3721:	48 c1 e8 05          	shr    $0x5,%rax
1400c3725:	4d 8d 04 80          	lea    (%r8,%rax,4),%r8
1400c3729:	83 e2 1f             	and    $0x1f,%edx
1400c372c:	48 85 db             	test   %rbx,%rbx
1400c372f:	0f 84 98 00 00 00    	je     0x1400c37cd
1400c3735:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
1400c373a:	79 28                	jns    0x1400c3764
1400c373c:	48 8b c3             	mov    %rbx,%rax
1400c373f:	48 f7 d8             	neg    %rax
1400c3742:	48 3b d0             	cmp    %rax,%rdx
1400c3745:	73 1d                	jae    0x1400c3764
1400c3747:	48 03 da             	add    %rdx,%rbx
1400c374a:	49 8b f0             	mov    %r8,%rsi
1400c374d:	48 8b c3             	mov    %rbx,%rax
1400c3750:	48 f7 d0             	not    %rax
1400c3753:	48 c1 e8 05          	shr    $0x5,%rax
1400c3757:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400c375e:	00
1400c375f:	48 2b f0             	sub    %rax,%rsi
1400c3762:	eb 0e                	jmp    0x1400c3772
1400c3764:	48 03 da             	add    %rdx,%rbx
1400c3767:	48 8b c3             	mov    %rbx,%rax
1400c376a:	48 c1 e8 05          	shr    $0x5,%rax
1400c376e:	49 8d 34 80          	lea    (%r8,%rax,4),%rsi
1400c3772:	b8 1f 00 00 00       	mov    $0x1f,%eax
1400c3777:	48 23 d8             	and    %rax,%rbx
1400c377a:	4c 3b c6             	cmp    %rsi,%r8
1400c377d:	75 05                	jne    0x1400c3784
1400c377f:	48 3b d3             	cmp    %rbx,%rdx
1400c3782:	74 44                	je     0x1400c37c8
1400c3784:	45 8b 10             	mov    (%r8),%r10d
1400c3787:	48 8b ca             	mov    %rdx,%rcx
1400c378a:	bf ff ff ff ff       	mov    $0xffffffff,%edi
1400c378f:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
1400c3794:	8b d7                	mov    %edi,%edx
1400c3796:	33 ed                	xor    %ebp,%ebp
1400c3798:	d3 e2                	shl    %cl,%edx
1400c379a:	44 8b ca             	mov    %edx,%r9d
1400c379d:	41 f7 d1             	not    %r9d
1400c37a0:	4c 3b c6             	cmp    %rsi,%r8
1400c37a3:	75 39                	jne    0x1400c37de
1400c37a5:	b9 20 00 00 00       	mov    $0x20,%ecx
1400c37aa:	2a cb                	sub    %bl,%cl
1400c37ac:	d3 ef                	shr    %cl,%edi
1400c37ae:	45 84 f6             	test   %r14b,%r14b
1400c37b1:	0f 45 ef             	cmovne %edi,%ebp
1400c37b4:	f7 d7                	not    %edi
1400c37b6:	41 0b f9             	or     %r9d,%edi
1400c37b9:	23 ea                	and    %edx,%ebp
1400c37bb:	41 23 fa             	and    %r10d,%edi
1400c37be:	0b ef                	or     %edi,%ebp
1400c37c0:	41 89 28             	mov    %ebp,(%r8)
1400c37c3:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400c37c8:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1400c37cd:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1400c37d2:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
1400c37d7:	48 83 c4 50          	add    $0x50,%rsp
1400c37db:	41 5e                	pop    %r14
1400c37dd:	c3                   	ret
1400c37de:	49 8d 48 04          	lea    0x4(%r8),%rcx
1400c37e2:	45 84 f6             	test   %r14b,%r14b
1400c37e5:	8b c5                	mov    %ebp,%eax
1400c37e7:	0f 45 c2             	cmovne %edx,%eax
1400c37ea:	45 23 d1             	and    %r9d,%r10d
1400c37ed:	41 0b c2             	or     %r10d,%eax
1400c37f0:	41 89 00             	mov    %eax,(%r8)
1400c37f3:	41 0f b6 c6          	movzbl %r14b,%eax
1400c37f7:	4c 8b c6             	mov    %rsi,%r8
1400c37fa:	4c 2b c1             	sub    %rcx,%r8
1400c37fd:	f6 d8                	neg    %al
1400c37ff:	1b d2                	sbb    %edx,%edx
1400c3801:	0f b6 d2             	movzbl %dl,%edx
1400c3804:	e8 55 92 23 00       	call   0x1402fca5e
1400c3809:	48 85 db             	test   %rbx,%rbx
1400c380c:	74 b5                	je     0x1400c37c3
1400c380e:	b9 20 00 00 00       	mov    $0x20,%ecx
1400c3813:	2a cb                	sub    %bl,%cl
1400c3815:	d3 ef                	shr    %cl,%edi
1400c3817:	8b c7                	mov    %edi,%eax
1400c3819:	f7 d0                	not    %eax
1400c381b:	23 06                	and    (%rsi),%eax
1400c381d:	45 84 f6             	test   %r14b,%r14b
1400c3820:	0f 45 ef             	cmovne %edi,%ebp
1400c3823:	0b c5                	or     %ebp,%eax
1400c3825:	89 06                	mov    %eax,(%rsi)
1400c3827:	eb 9a                	jmp    0x1400c37c3
1400c3829:	76 a2                	jbe    0x1400c37cd
1400c382b:	48 8b 11             	mov    (%rcx),%rdx
1400c382e:	4d 85 c9             	test   %r9,%r9
1400c3831:	79 27                	jns    0x1400c385a
1400c3833:	49 8b c1             	mov    %r9,%rax
1400c3836:	48 f7 d8             	neg    %rax
1400c3839:	74 1f                	je     0x1400c385a
1400c383b:	49 8b c1             	mov    %r9,%rax
1400c383e:	48 8b ca             	mov    %rdx,%rcx
1400c3841:	48 f7 d0             	not    %rax
1400c3844:	48 c1 e8 05          	shr    $0x5,%rax
1400c3848:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400c384f:	00
1400c3850:	48 2b c8             	sub    %rax,%rcx
1400c3853:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400c3858:	eb 10                	jmp    0x1400c386a
1400c385a:	49 8b c1             	mov    %r9,%rax
1400c385d:	48 c1 e8 05          	shr    $0x5,%rax
1400c3861:	48 8d 04 82          	lea    (%rdx,%rax,4),%rax
1400c3865:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400c386a:	41 83 e1 1f          	and    $0x1f,%r9d
1400c386e:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
1400c3873:	48 85 db             	test   %rbx,%rbx
1400c3876:	79 24                	jns    0x1400c389c
1400c3878:	48 8b c3             	mov    %rbx,%rax
1400c387b:	48 f7 d8             	neg    %rax
1400c387e:	74 1c                	je     0x1400c389c
1400c3880:	48 8b c3             	mov    %rbx,%rax
1400c3883:	48 f7 d0             	not    %rax
1400c3886:	48 c1 e8 05          	shr    $0x5,%rax
1400c388a:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400c3891:	00
1400c3892:	48 2b d0             	sub    %rax,%rdx
1400c3895:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
1400c389a:	eb 10                	jmp    0x1400c38ac
1400c389c:	48 8b c3             	mov    %rbx,%rax
1400c389f:	48 c1 e8 05          	shr    $0x5,%rax
1400c38a3:	48 8d 04 82          	lea    (%rdx,%rax,4),%rax
1400c38a7:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400c38ac:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1400c38b1:	4c 8d 4c 24 20       	lea    0x20(%rsp),%r9
1400c38b6:	83 e3 1f             	and    $0x1f,%ebx
1400c38b9:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
1400c38bf:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1400c38c4:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1400c38c9:	0f 28 4c 24 30       	movaps 0x30(%rsp),%xmm1
1400c38ce:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1400c38d3:	48 8b cf             	mov    %rdi,%rcx
1400c38d6:	66 0f 7f 4c 24 30    	movdqa %xmm1,0x30(%rsp)
1400c38dc:	e8 cf e6 ff ff       	call   0x1400c1fb0
1400c38e1:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1400c38e6:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
1400c38eb:	48 83 c4 50          	add    $0x50,%rsp
1400c38ef:	41 5e                	pop    %r14
1400c38f1:	c3                   	ret
1400c38f2:	cc                   	int3
1400c38f3:	cc                   	int3
1400c38f4:	cc                   	int3
1400c38f5:	cc                   	int3
1400c38f6:	cc                   	int3
1400c38f7:	cc                   	int3
1400c38f8:	cc                   	int3