140db37e4:	48 89 7d 07          	mov    %rdi,0x7(%rbp)
140db37e8:	48 c7 45 0f 0f 00 00 	movq   $0xf,0xf(%rbp)
140db37ef:	00
140db37f0:	0f ae e8             	lfence
140db37f3:	4c 8b c7             	mov    %rdi,%r8
140db37f6:	48 8b d6             	mov    %rsi,%rdx
140db37f9:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
140db37fd:	e8 0e b8 12 00       	call   0x140edf010
140db3802:	c6 44 3d f7 00       	movb   $0x0,-0x9(%rbp,%rdi,1)
140db3807:	eb 44                	jmp    0x140db384d
140db3809:	48 8b c7             	mov    %rdi,%rax
140db380c:	48 83 c8 0f          	or     $0xf,%rax
140db3810:	49 3b c6             	cmp    %r14,%rax
140db3813:	77 0b                	ja     0x140db3820
140db3815:	4c 8b f0             	mov    %rax,%r14
140db3818:	48 83 f8 16          	cmp    $0x16,%rax
140db381c:	4c 0f 42 f3          	cmovb  %rbx,%r14
140db3820:	49 8d 4e 01          	lea    0x1(%r14),%rcx
140db3824:	e8 07 35 3e ff       	call   0x140196d30
140db3829:	48 8b d8             	mov    %rax,%rbx
140db382c:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
140db3830:	48 89 7d 07          	mov    %rdi,0x7(%rbp)
140db3834:	4c 89 75 0f          	mov    %r14,0xf(%rbp)
140db3838:	0f ae e8             	lfence
140db383b:	4c 8b c7             	mov    %rdi,%r8
140db383e:	48 8b d6             	mov    %rsi,%rdx
140db3841:	48 8b c8             	mov    %rax,%rcx
140db3844:	e8 c7 b7 12 00       	call   0x140edf010
140db3849:	c6 04 3b 00          	movb   $0x0,(%rbx,%rdi,1)
140db384d:	e8 9e 6a 07 00       	call   0x140e2a2f0
140db3852:	48 8b f8             	mov    %rax,%rdi
140db3855:	48 8d 5d d7          	lea    -0x29(%rbp),%rbx
140db3859:	48 83 7d ef 0f       	cmpq   $0xf,-0x11(%rbp)
140db385e:	48 0f 47 5d d7       	cmova  -0x29(%rbp),%rbx
140db3863:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
140db3869:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
140db386f:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140db3873:	48 8b cb             	mov    %rbx,%rcx
140db3876:	e8 21 f0 07 00       	call   0x140e3289c
140db387b:	8b f0                	mov    %eax,%esi
140db387d:	48 3b 5d cf          	cmp    -0x31(%rbp),%rbx
140db3881:	0f 84 ce 00 00 00    	je     0x140db3955
140db3887:	83 3f 22             	cmpl   $0x22,(%rdi)
140db388a:	0f 84 d2 00 00 00    	je     0x140db3962
140db3890:	48 8d 55 f7          	lea    -0x9(%rbp),%rdx
140db3894:	49 8b cd             	mov    %r13,%rcx
140db3897:	e8 a4 51 3f ff       	call   0x1401a8a40
140db389c:	41 89 75 20          	mov    %esi,0x20(%r13)
140db38a0:	48 8b 55 0f          	mov    0xf(%rbp),%rdx
140db38a4:	48 83 fa 0f          	cmp    $0xf,%rdx
140db38a8:	76 32                	jbe    0x140db38dc
140db38aa:	48 ff c2             	inc    %rdx
140db38ad:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
140db38b1:	48 8b c1             	mov    %rcx,%rax
140db38b4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140db38bb:	72 19                	jb     0x140db38d6
140db38bd:	48 83 c2 27          	add    $0x27,%rdx
140db38c1:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140db38c5:	48 2b c1             	sub    %rcx,%rax
140db38c8:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140db38cc:	48 83 f8 1f          	cmp    $0x1f,%rax
140db38d0:	0f 87 99 00 00 00    	ja     0x140db396f
140db38d6:	e8 69 78 06 00       	call   0x140e1b144
140db38db:	90                   	nop
140db38dc:	48 8b 55 ef          	mov    -0x11(%rbp),%rdx
140db38e0:	48 83 fa 0f          	cmp    $0xf,%rdx
140db38e4:	76 2d                	jbe    0x140db3913
140db38e6:	48 ff c2             	inc    %rdx
140db38e9:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
140db38ed:	48 8b c1             	mov    %rcx,%rax
140db38f0:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140db38f7:	72 15                	jb     0x140db390e
140db38f9:	48 83 c2 27          	add    $0x27,%rdx
140db38fd:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140db3901:	48 2b c1             	sub    %rcx,%rax
140db3904:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140db3908:	48 83 f8 1f          	cmp    $0x1f,%rax
140db390c:	77 2f                	ja     0x140db393d
140db390e:	e8 31 78 06 00       	call   0x140e1b144
140db3913:	49 8b c5             	mov    %r13,%rax
140db3916:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
140db391a:	48 33 cc             	xor    %rsp,%rcx
140db391d:	e8 de 7b 06 00       	call   0x140e1b500
140db3922:	48 8b 9c 24 e0 00 00 	mov    0xe0(%rsp),%rbx
140db3929:	00
140db392a:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
140db3931:	41 5f                	pop    %r15
140db3933:	41 5e                	pop    %r14
140db3935:	41 5d                	pop    %r13
140db3937:	41 5c                	pop    %r12
140db3939:	5f                   	pop    %rdi
140db393a:	5e                   	pop    %rsi
140db393b:	5d                   	pop    %rbp
140db393c:	c3                   	ret
140db393d:	e8 62 68 07 00       	call   0x140e2a1a4
140db3942:	cc                   	int3
140db3943:	e8 28 9c 3e ff       	call   0x14019d570
140db3948:	90                   	nop
140db3949:	e8 62 9c 3e ff       	call   0x14019d5b0
140db394e:	90                   	nop
140db394f:	e8 1c 9c 3e ff       	call   0x14019d570
140db3954:	90                   	nop
140db3955:	48 8d 0d 8c d2 22 00 	lea    0x22d28c(%rip),%rcx        # 0x140fe0be8
140db395c:	e8 2f 7a 04 00       	call   0x140dfb390
140db3961:	cc                   	int3
140db3962:	48 8d 0d 97 d2 22 00 	lea    0x22d297(%rip),%rcx        # 0x140fe0c00
140db3969:	e8 6a 7a 04 00       	call   0x140dfb3d8
140db396e:	90                   	nop
140db396f:	e8 30 68 07 00       	call   0x140e2a1a4
140db3974:	cc                   	int3
140db3975:	cc                   	int3
140db3976:	cc                   	int3
140db3977:	cc                   	int3
140db3978:	cc                   	int3
140db3979:	cc                   	int3
140db397a:	cc                   	int3
140db397b:	cc                   	int3
140db397c:	cc                   	int3
140db397d:	cc                   	int3
140db397e:	cc                   	int3
140db397f:	cc                   	int3
140db3980:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140db3985:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140db398a:	57                   	push   %rdi
140db398b:	48 83 ec 30          	sub    $0x30,%rsp
140db398f:	48 8d 79 08          	lea    0x8(%rcx),%rdi
140db3993:	b9 38 00 00 00       	mov    $0x38,%ecx
140db3998:	e8 6b 77 06 00       	call   0x140e1b108
140db399d:	48 8b f0             	mov    %rax,%rsi
140db39a0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140db39a5:	48 8d 05 f4 ae 3f 00 	lea    0x3faef4(%rip),%rax        # 0x1411ae8a0
140db39ac:	48 89 06             	mov    %rax,(%rsi)
140db39af:	48 8d 5e 08          	lea    0x8(%rsi),%rbx
140db39b3:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140db39b8:	48 8b d7             	mov    %rdi,%rdx
140db39bb:	48 8b cb             	mov    %rbx,%rcx
140db39be:	e8 7d 50 3f ff       	call   0x1401a8a40
140db39c3:	90                   	nop
140db39c4:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140db39c8:	48 8d 57 20          	lea    0x20(%rdi),%rdx
140db39cc:	e8 cf bf 9c ff       	call   0x14077f9a0
140db39d1:	90                   	nop
140db39d2:	48 8b c6             	mov    %rsi,%rax
140db39d5:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140db39da:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140db39df:	48 83 c4 30          	add    $0x30,%rsp
140db39e3:	5f                   	pop    %rdi
140db39e4:	c3                   	ret
140db39e5:	cc                   	int3
140db39e6:	cc                   	int3
140db39e7:	cc                   	int3
140db39e8:	cc                   	int3
140db39e9:	cc                   	int3
140db39ea:	cc                   	int3
140db39eb:	cc                   	int3
140db39ec:	cc                   	int3
140db39ed:	cc                   	int3
140db39ee:	cc                   	int3
140db39ef:	cc                   	int3
140db39f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140db39f5:	57                   	push   %rdi
140db39f6:	48 83 ec 20          	sub    $0x20,%rsp
140db39fa:	48 8b f9             	mov    %rcx,%rdi
140db39fd:	0f b6 da             	movzbl %dl,%ebx
140db3a00:	48 83 c1 08          	add    $0x8,%rcx
140db3a04:	e8 e7 e2 ff ff       	call   0x140db1cf0
140db3a09:	84 db                	test   %bl,%bl
140db3a0b:	74 0d                	je     0x140db3a1a
140db3a0d:	ba 38 00 00 00       	mov    $0x38,%edx
140db3a12:	48 8b cf             	mov    %rdi,%rcx
140db3a15:	e8 2a 77 06 00       	call   0x140e1b144
140db3a1a:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140db3a1f:	48 83 c4 20          	add    $0x20,%rsp
140db3a23:	5f                   	pop    %rdi
140db3a24:	c3                   	ret
140db3a25:	cc                   	int3
140db3a26:	cc                   	int3
140db3a27:	cc                   	int3
140db3a28:	cc                   	int3
140db3a29:	cc                   	int3
140db3a2a:	cc                   	int3
140db3a2b:	cc                   	int3
140db3a2c:	cc                   	int3
140db3a2d:	cc                   	int3
140db3a2e:	cc                   	int3
140db3a2f:	cc                   	int3
140db3a30:	40 53                	rex push %rbx
140db3a32:	48 83 ec 20          	sub    $0x20,%rsp
140db3a36:	48 8b 59 38          	mov    0x38(%rcx),%rbx
140db3a3a:	0f 57 c0             	xorps  %xmm0,%xmm0
140db3a3d:	48 85 d2             	test   %rdx,%rdx
140db3a40:	78 07                	js     0x140db3a49
140db3a42:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
140db3a47:	eb 15                	jmp    0x140db3a5e
140db3a49:	48 8b c2             	mov    %rdx,%rax
140db3a4c:	83 e2 01             	and    $0x1,%edx
140db3a4f:	48 d1 e8             	shr    $1,%rax
140db3a52:	48 0b c2             	or     %rdx,%rax
140db3a55:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140db3a5a:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140db3a5e:	f3 0f 5e 01          	divss  (%rcx),%xmm0
140db3a62:	e8 b9 d6 07 00       	call   0x140e31120
140db3a67:	f3 0f 10 0d f5 ab 1f 	movss  0x1fabf5(%rip),%xmm1        # 0x140fae664
140db3a6e:	00
140db3a6f:	33 c0                	xor    %eax,%eax
140db3a71:	0f 2f c1             	comiss %xmm1,%xmm0
140db3a74:	72 16                	jb     0x140db3a8c
140db3a76:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140db3a7a:	0f 2f c1             	comiss %xmm1,%xmm0
140db3a7d:	73 0d                	jae    0x140db3a8c
140db3a7f:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140db3a86:	00 00 80
140db3a89:	48 8b c1             	mov    %rcx,%rax
140db3a8c:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
140db3a91:	48 03 c8             	add    %rax,%rcx
140db3a94:	b8 08 00 00 00       	mov    $0x8,%eax
140db3a99:	48 3b c8             	cmp    %rax,%rcx
140db3a9c:	48 0f 47 c1          	cmova  %rcx,%rax
140db3aa0:	48 3b d8             	cmp    %rax,%rbx
140db3aa3:	73 16                	jae    0x140db3abb
140db3aa5:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
140db3aac:	73 10                	jae    0x140db3abe
140db3aae:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
140db3ab5:	00
140db3ab6:	48 3b d8             	cmp    %rax,%rbx
140db3ab9:	72 03                	jb     0x140db3abe
140db3abb:	48 8b c3             	mov    %rbx,%rax
140db3abe:	0f ae e8             	lfence
140db3ac1:	48 83 c4 20          	add    $0x20,%rsp
140db3ac5:	5b                   	pop    %rbx
140db3ac6:	c3                   	ret
140db3ac7:	cc                   	int3
140db3ac8:	cc                   	int3
140db3ac9:	cc                   	int3
140db3aca:	cc                   	int3
140db3acb:	cc                   	int3
140db3acc:	cc                   	int3
140db3acd:	cc                   	int3
140db3ace:	cc                   	int3
140db3acf:	cc                   	int3
140db3ad0:	48 83 c1 08          	add    $0x8,%rcx
140db3ad4:	e9 97 06 00 00       	jmp    0x140db4170
140db3ad9:	cc                   	int3
140db3ada:	cc                   	int3
140db3adb:	cc                   	int3
140db3adc:	cc                   	int3
140db3add:	cc                   	int3
140db3ade:	cc                   	int3
140db3adf:	cc                   	int3
140db3ae0:	40 56                	rex push %rsi
140db3ae2:	57                   	push   %rdi
140db3ae3:	48 83 ec 38          	sub    $0x38,%rsp
140db3ae7:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140db3aee:	ff ff 0f
140db3af1:	48 8b f1             	mov    %rcx,%rsi
140db3af4:	48 0f bd c8          	bsr    %rax,%rcx
140db3af8:	bf 01 00 00 00       	mov    $0x1,%edi
140db3afd:	8b c7                	mov    %edi,%eax
140db3aff:	48 d3 e0             	shl    %cl,%rax
140db3b02:	48 3b d0             	cmp    %rax,%rdx
140db3b05:	0f 87 89 01 00 00    	ja     0x140db3c94
140db3b0b:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140db3b0f:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140db3b14:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140db3b18:	48 0b c7             	or     %rdi,%rax
140db3b1b:	48 0f bd c8          	bsr    %rax,%rcx
140db3b1f:	4c 8b c3             	mov    %rbx,%r8
140db3b22:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140db3b27:	ff c1                	inc    %ecx
140db3b29:	48 d3 e7             	shl    %cl,%rdi
140db3b2c:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140db3b30:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
140db3b34:	e8 37 fe 46 ff       	call   0x140223970
140db3b39:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140db3b3d:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
140db3b41:	48 89 46 30          	mov    %rax,0x30(%rsi)
140db3b45:	48 8b 46 08          	mov    0x8(%rsi),%rax
140db3b49:	48 8b 00             	mov    (%rax),%rax
140db3b4c:	48 8b c8             	mov    %rax,%rcx
140db3b4f:	48 3b c3             	cmp    %rbx,%rax
140db3b52:	0f 84 f2 00 00 00    	je     0x140db3c4a
140db3b58:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
140db3b5d:	48 bf b3 01 00 00 00 	movabs $0x100000001b3,%rdi
140db3b64:	01 00 00
140db3b67:	48 bd 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rbp
140db3b6e:	9c f2 cb
140db3b71:	48 8b 09             	mov    (%rcx),%rcx
140db3b74:	0f ae e8             	lfence
140db3b77:	0f b6 50 11          	movzbl 0x11(%rax),%edx
140db3b7b:	44 0f b6 48 10       	movzbl 0x10(%rax),%r9d
140db3b80:	4c 8b 5e 30          	mov    0x30(%rsi),%r11
140db3b84:	4c 33 cd             	xor    %rbp,%r9
140db3b87:	4c 0f af cf          	imul   %rdi,%r9
140db3b8b:	4c 33 ca             	xor    %rdx,%r9
140db3b8e:	0f b6 50 12          	movzbl 0x12(%rax),%edx
140db3b92:	4c 0f af cf          	imul   %rdi,%r9
140db3b96:	4c 33 ca             	xor    %rdx,%r9
140db3b99:	0f b6 50 13          	movzbl 0x13(%rax),%edx
140db3b9d:	4c 0f af cf          	imul   %rdi,%r9
140db3ba1:	4c 33 ca             	xor    %rdx,%r9
140db3ba4:	4c 0f af cf          	imul   %rdi,%r9
140db3ba8:	4d 23 d9             	and    %r9,%r11
140db3bab:	49 c1 e3 04          	shl    $0x4,%r11
140db3baf:	4c 03 5e 18          	add    0x18(%rsi),%r11
140db3bb3:	4d 8b 0b             	mov    (%r11),%r9
140db3bb6:	4c 3b cb             	cmp    %rbx,%r9
140db3bb9:	75 09                	jne    0x140db3bc4
140db3bbb:	49 89 03             	mov    %rax,(%r11)
140db3bbe:	49 89 43 08          	mov    %rax,0x8(%r11)
140db3bc2:	eb 75                	jmp    0x140db3c39
140db3bc4:	49 8b 53 08          	mov    0x8(%r11),%rdx
140db3bc8:	44 8b 40 10          	mov    0x10(%rax),%r8d
140db3bcc:	44 3b 42 10          	cmp    0x10(%rdx),%r8d
140db3bd0:	75 2f                	jne    0x140db3c01
140db3bd2:	4c 8b 12             	mov    (%rdx),%r10
140db3bd5:	4c 3b d0             	cmp    %rax,%r10
140db3bd8:	74 21                	je     0x140db3bfb
140db3bda:	4c 8b 48 08          	mov    0x8(%rax),%r9
140db3bde:	49 89 09             	mov    %rcx,(%r9)
140db3be1:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140db3be5:	4d 89 10             	mov    %r10,(%r8)
140db3be8:	49 8b 52 08          	mov    0x8(%r10),%rdx
140db3bec:	48 89 02             	mov    %rax,(%rdx)
140db3bef:	4d 89 42 08          	mov    %r8,0x8(%r10)
140db3bf3:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140db3bf7:	48 89 50 08          	mov    %rdx,0x8(%rax)
140db3bfb:	49 89 43 08          	mov    %rax,0x8(%r11)
140db3bff:	eb 38                	jmp    0x140db3c39
140db3c01:	4c 3b ca             	cmp    %rdx,%r9
140db3c04:	74 0f                	je     0x140db3c15
140db3c06:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140db3c0a:	44 3b 42 10          	cmp    0x10(%rdx),%r8d
140db3c0e:	74 5e                	je     0x140db3c6e
140db3c10:	4c 3b ca             	cmp    %rdx,%r9
140db3c13:	75 f1                	jne    0x140db3c06
140db3c15:	4c 8b 50 08          	mov    0x8(%rax),%r10
140db3c19:	49 89 0a             	mov    %rcx,(%r10)
140db3c1c:	4c 8b 49 08          	mov    0x8(%rcx),%r9
140db3c20:	49 89 11             	mov    %rdx,(%r9)
140db3c23:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140db3c27:	49 89 00             	mov    %rax,(%r8)
140db3c2a:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
140db3c2e:	4c 89 51 08          	mov    %r10,0x8(%rcx)
140db3c32:	4c 89 40 08          	mov    %r8,0x8(%rax)
140db3c36:	49 89 03             	mov    %rax,(%r11)
140db3c39:	48 8b c1             	mov    %rcx,%rax
140db3c3c:	48 3b cb             	cmp    %rbx,%rcx
140db3c3f:	0f 85 2c ff ff ff    	jne    0x140db3b71
140db3c45:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140db3c4a:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx