14089b80d:	41 f7 e8             	imul   %r8d
14089b810:	44 8b d2             	mov    %edx,%r10d
14089b813:	41 c1 fa 05          	sar    $0x5,%r10d
14089b817:	41 8b c2             	mov    %r10d,%eax
14089b81a:	c1 e8 1f             	shr    $0x1f,%eax
14089b81d:	44 03 d0             	add    %eax,%r10d
14089b820:	b8 ad 8b db 68       	mov    $0x68db8bad,%eax
14089b825:	41 83 f9 02          	cmp    $0x2,%r9d
14089b829:	0f 4f cb             	cmovg  %ebx,%ecx
14089b82c:	ff c1                	inc    %ecx
14089b82e:	69 c9 51 ab 04 00    	imul   $0x4ab51,%ecx,%ecx
14089b834:	f7 e9                	imul   %ecx
14089b836:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
14089b83b:	44 8b ca             	mov    %edx,%r9d
14089b83e:	41 c1 f9 0c          	sar    $0xc,%r9d
14089b842:	41 8b c9             	mov    %r9d,%ecx
14089b845:	c1 e9 1f             	shr    $0x1f,%ecx
14089b848:	44 03 c9             	add    %ecx,%r9d
14089b84b:	41 8d 88 6c 12 00 00 	lea    0x126c(%r8),%ecx
14089b852:	44 69 c1 ad 8e 00 00 	imul   $0x8ead,%ecx,%r8d
14089b859:	41 f7 e8             	imul   %r8d
14089b85c:	41 8b c2             	mov    %r10d,%eax
14089b85f:	c1 fa 05             	sar    $0x5,%edx
14089b862:	8b ca                	mov    %edx,%ecx
14089b864:	41 03 d1             	add    %r9d,%edx
14089b867:	c1 e9 1f             	shr    $0x1f,%ecx
14089b86a:	03 ca                	add    %edx,%ecx
14089b86c:	99                   	cltd
14089b86d:	83 e2 03             	and    $0x3,%edx
14089b870:	03 c2                	add    %edx,%eax
14089b872:	c1 f8 02             	sar    $0x2,%eax
14089b875:	03 c1                	add    %ecx,%eax
14089b877:	41 2b c2             	sub    %r10d,%eax
14089b87a:	83 c0 02             	add    $0x2,%eax
14089b87d:	03 c7                	add    %edi,%eax
14089b87f:	41 80 7b 2b 00       	cmpb   $0x0,0x2b(%r11)
14089b884:	66 0f 6e c0          	movd   %eax,%xmm0
14089b888:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14089b88c:	f2 0f 5c 05 3c 82 7b 	subsd  0x7b823c(%rip),%xmm0        # 0x141053ad0
14089b893:	00
14089b894:	f2 0f 59 05 54 82 7b 	mulsd  0x7b8254(%rip),%xmm0        # 0x141053af0
14089b89b:	00
14089b89c:	f2 48 0f 2c d0       	cvttsd2si %xmm0,%rdx
14089b8a1:	49 89 13             	mov    %rdx,(%r11)
14089b8a4:	0f 84 23 ff ff ff    	je     0x14089b7cd
14089b8aa:	41 6b 43 14 3c       	imul   $0x3c,0x14(%r11),%eax
14089b8af:	f2 41 0f 10 43 20    	movsd  0x20(%r11),%xmm0
14089b8b5:	f2 0f 59 05 93 82 7b 	mulsd  0x7b8293(%rip),%xmm0        # 0x141053b50
14089b8bc:	00
14089b8bd:	41 03 43 18          	add    0x18(%r11),%eax
14089b8c1:	69 c0 60 ea 00 00    	imul   $0xea60,%eax,%eax
14089b8c7:	48 63 c8             	movslq %eax,%rcx
14089b8ca:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
14089b8cf:	48 2b c8             	sub    %rax,%rcx
14089b8d2:	48 03 d1             	add    %rcx,%rdx
14089b8d5:	41 80 7b 2c 00       	cmpb   $0x0,0x2c(%r11)
14089b8da:	49 89 13             	mov    %rdx,(%r11)
14089b8dd:	0f 84 ea fe ff ff    	je     0x14089b7cd
14089b8e3:	41 69 43 1c 60 ea 00 	imul   $0xea60,0x1c(%r11),%eax
14089b8ea:	00
14089b8eb:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
14089b8f0:	48 8b 3c 24          	mov    (%rsp),%rdi
14089b8f4:	66 41 c7 43 2a 00 00 	movw   $0x0,0x2a(%r11)
14089b8fb:	41 c6 43 2c 00       	movb   $0x0,0x2c(%r11)
14089b900:	48 63 c8             	movslq %eax,%rcx
14089b903:	48 2b d1             	sub    %rcx,%rdx
14089b906:	49 89 13             	mov    %rdx,(%r11)
14089b909:	48 83 c4 08          	add    $0x8,%rsp
14089b90d:	c3                   	ret
14089b90e:	cc                   	int3
14089b90f:	cc                   	int3
14089b910:	40 53                	rex push %rbx
14089b912:	56                   	push   %rsi
14089b913:	57                   	push   %rdi
14089b914:	41 56                	push   %r14
14089b916:	48 83 ec 38          	sub    $0x38,%rsp
14089b91a:	83 7a 08 00          	cmpl   $0x0,0x8(%rdx)
14089b91e:	41 8b d8             	mov    %r8d,%ebx
14089b921:	4c 8b 72 60          	mov    0x60(%rdx),%r14
14089b925:	48 8b f2             	mov    %rdx,%rsi
14089b928:	48 8b f9             	mov    %rcx,%rdi
14089b92b:	0f 85 83 01 00 00    	jne    0x14089bab4
14089b931:	4d 85 f6             	test   %r14,%r14
14089b934:	0f 84 7a 01 00 00    	je     0x14089bab4
14089b93a:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
14089b93f:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14089b944:	44 8b 79 38          	mov    0x38(%rcx),%r15d
14089b948:	41 ff c7             	inc    %r15d
14089b94b:	44 89 79 38          	mov    %r15d,0x38(%rcx)
14089b94f:	44 89 7a 08          	mov    %r15d,0x8(%rdx)
14089b953:	48 8b 69 10          	mov    0x10(%rcx),%rbp
14089b957:	48 85 ed             	test   %rbp,%rbp
14089b95a:	75 1e                	jne    0x14089b97a
14089b95c:	48 39 a9 a0 00 00 00 	cmp    %rbp,0xa0(%rcx)
14089b963:	75 0d                	jne    0x14089b972
14089b965:	48 8b 01             	mov    (%rcx),%rax
14089b968:	f6 40 60 08          	testb  $0x8,0x60(%rax)
14089b96c:	75 04                	jne    0x14089b972
14089b96e:	c6 41 23 01          	movb   $0x1,0x23(%rcx)
14089b972:	e8 49 bf 06 00       	call   0x1409078c0
14089b977:	48 8b e8             	mov    %rax,%rbp
14089b97a:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14089b97e:	48 85 c9             	test   %rcx,%rcx
14089b981:	0f 84 a5 00 00 00    	je     0x14089ba2c
14089b987:	f7 41 04 00 08 00 00 	testl  $0x800,0x4(%rcx)
14089b98e:	74 06                	je     0x14089b996
14089b990:	44 8b 41 08          	mov    0x8(%rcx),%r8d
14089b994:	eb 4f                	jmp    0x14089b9e5
14089b996:	0f b6 11             	movzbl (%rcx),%edx
14089b999:	81 ea ad 00 00 00    	sub    $0xad,%edx
14089b99f:	74 22                	je     0x14089b9c3
14089b9a1:	83 fa 01             	cmp    $0x1,%edx
14089b9a4:	0f 85 82 00 00 00    	jne    0x14089ba2c
14089b9aa:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14089b9ae:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
14089b9b3:	e8 c8 3c 04 00       	call   0x1408df680
14089b9b8:	85 c0                	test   %eax,%eax
14089b9ba:	74 70                	je     0x14089ba2c
14089b9bc:	44 8b 44 24 68       	mov    0x68(%rsp),%r8d
14089b9c1:	eb 27                	jmp    0x14089b9ea
14089b9c3:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14089b9c7:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
14089b9cc:	c7 44 24 78 00 00 00 	movl   $0x0,0x78(%rsp)
14089b9d3:	00
14089b9d4:	e8 a7 3c 04 00       	call   0x1408df680
14089b9d9:	85 c0                	test   %eax,%eax
14089b9db:	74 4f                	je     0x14089ba2c
14089b9dd:	44 8b 44 24 78       	mov    0x78(%rsp),%r8d
14089b9e2:	41 f7 d8             	neg    %r8d
14089b9e5:	44 89 44 24 68       	mov    %r8d,0x68(%rsp)
14089b9ea:	45 8b cf             	mov    %r15d,%r9d
14089b9ed:	ba 47 00 00 00       	mov    $0x47,%edx
14089b9f2:	48 8b cd             	mov    %rbp,%rcx
14089b9f5:	e8 46 b2 06 00       	call   0x140906c40
14089b9fa:	48 63 44 24 68       	movslq 0x68(%rsp),%rax
14089b9ff:	85 c0                	test   %eax,%eax
14089ba01:	75 0c                	jne    0x14089ba0f
14089ba03:	8b d3                	mov    %ebx,%edx
14089ba05:	48 8b cd             	mov    %rbp,%rcx
14089ba08:	e8 e3 61 07 00       	call   0x140911bf0
14089ba0d:	eb 4f                	jmp    0x14089ba5e
14089ba0f:	78 4d                	js     0x14089ba5e
14089ba11:	48 8b c8             	mov    %rax,%rcx
14089ba14:	e8 57 1a 05 00       	call   0x1408ed470
14089ba19:	66 39 46 02          	cmp    %ax,0x2(%rsi)
14089ba1d:	7e 3f                	jle    0x14089ba5e
14089ba1f:	81 4e 04 00 40 00 00 	orl    $0x4000,0x4(%rsi)
14089ba26:	66 89 46 02          	mov    %ax,0x2(%rsi)
14089ba2a:	eb 32                	jmp    0x14089ba5e
14089ba2c:	49 8b 56 10          	mov    0x10(%r14),%rdx
14089ba30:	45 8b c7             	mov    %r15d,%r8d
14089ba33:	48 8b cf             	mov    %rdi,%rcx
14089ba36:	e8 65 ef 03 00       	call   0x1408da9a0
14089ba3b:	45 8b c7             	mov    %r15d,%r8d
14089ba3e:	ba 0c 00 00 00       	mov    $0xc,%edx
14089ba43:	48 8b cd             	mov    %rbp,%rcx
14089ba46:	e8 85 b1 06 00       	call   0x140906bd0
14089ba4b:	44 8b cb             	mov    %ebx,%r9d
14089ba4e:	45 8b c7             	mov    %r15d,%r8d
14089ba51:	ba 10 00 00 00       	mov    $0x10,%edx
14089ba56:	48 8b cd             	mov    %rbp,%rcx
14089ba59:	e8 e2 b1 06 00       	call   0x140906c40
14089ba5e:	49 83 7e 18 00       	cmpq   $0x0,0x18(%r14)
14089ba63:	74 45                	je     0x14089baaa
14089ba65:	8b 5f 38             	mov    0x38(%rdi),%ebx
14089ba68:	48 8b cf             	mov    %rdi,%rcx
14089ba6b:	ff c3                	inc    %ebx
14089ba6d:	89 5f 38             	mov    %ebx,0x38(%rdi)
14089ba70:	44 8b c3             	mov    %ebx,%r8d
14089ba73:	89 5e 0c             	mov    %ebx,0xc(%rsi)
14089ba76:	ff 47 38             	incl   0x38(%rdi)
14089ba79:	49 8b 56 18          	mov    0x18(%r14),%rdx
14089ba7d:	e8 1e ef 03 00       	call   0x1408da9a0
14089ba82:	44 8b c3             	mov    %ebx,%r8d
14089ba85:	ba 0c 00 00 00       	mov    $0xc,%edx
14089ba8a:	48 8b cd             	mov    %rbp,%rcx
14089ba8d:	e8 3e b1 06 00       	call   0x140906bd0
14089ba92:	44 8d 4b 01          	lea    0x1(%rbx),%r9d
14089ba96:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
14089ba9a:	45 8b c7             	mov    %r15d,%r8d
14089ba9d:	ba a0 00 00 00       	mov    $0xa0,%edx
14089baa2:	48 8b cd             	mov    %rbp,%rcx
14089baa5:	e8 06 b2 06 00       	call   0x140906cb0
14089baaa:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14089baaf:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
14089bab4:	48 83 c4 38          	add    $0x38,%rsp
14089bab8:	41 5e                	pop    %r14
14089baba:	5f                   	pop    %rdi
14089babb:	5e                   	pop    %rsi
14089babc:	5b                   	pop    %rbx
14089babd:	c3                   	ret
14089babe:	cc                   	int3
14089babf:	cc                   	int3
14089bac0:	40 53                	rex push %rbx
14089bac2:	48 83 ec 20          	sub    $0x20,%rsp
14089bac6:	b8 00 04 00 00       	mov    $0x400,%eax
14089bacb:	48 8b d9             	mov    %rcx,%rbx
14089bace:	66 85 41 14          	test   %ax,0x14(%rcx)
14089bad2:	74 1b                	je     0x14089baef
14089bad4:	e8 a7 72 07 00       	call   0x140912d80
14089bad9:	85 c0                	test   %eax,%eax
14089badb:	74 12                	je     0x14089baef
14089badd:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
14089bae4:	b8 04 00 00 00       	mov    $0x4,%eax
14089bae9:	48 83 c4 20          	add    $0x20,%rsp
14089baed:	5b                   	pop    %rbx
14089baee:	c3                   	ret
14089baef:	44 0f b6 4b 16       	movzbl 0x16(%rbx),%r9d
14089baf4:	48 8b d3             	mov    %rbx,%rdx
14089baf7:	44 8b 43 10          	mov    0x10(%rbx),%r8d
14089bafb:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14089baff:	e8 fc e7 02 00       	call   0x1408ca300
14089bb04:	85 c0                	test   %eax,%eax
14089bb06:	7f 29                	jg     0x14089bb31
14089bb08:	75 1c                	jne    0x14089bb26
14089bb0a:	44 0f b6 4b 16       	movzbl 0x16(%rbx),%r9d
14089bb0f:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14089bb14:	44 8b 43 10          	mov    0x10(%rbx),%r8d
14089bb18:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14089bb1c:	e8 2f ec 02 00       	call   0x1408ca750
14089bb21:	83 f8 01             	cmp    $0x1,%eax
14089bb24:	7e 2b                	jle    0x14089bb51
14089bb26:	b8 08 00 00 00       	mov    $0x8,%eax
14089bb2b:	48 83 c4 20          	add    $0x20,%rsp
14089bb2f:	5b                   	pop    %rbx
14089bb30:	c3                   	ret
14089bb31:	83 f8 01             	cmp    $0x1,%eax
14089bb34:	75 f0                	jne    0x14089bb26
14089bb36:	44 0f b6 4b 16       	movzbl 0x16(%rbx),%r9d
14089bb3b:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14089bb40:	44 8b 43 10          	mov    0x10(%rbx),%r8d
14089bb44:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14089bb48:	e8 03 ec 02 00       	call   0x1408ca750
14089bb4d:	85 c0                	test   %eax,%eax
14089bb4f:	75 d5                	jne    0x14089bb26
14089bb51:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14089bb56:	48 89 03             	mov    %rax,(%rbx)
14089bb59:	b8 04 00 00 00       	mov    $0x4,%eax
14089bb5e:	48 83 c4 20          	add    $0x20,%rsp
14089bb62:	5b                   	pop    %rbx
14089bb63:	c3                   	ret
14089bb64:	cc                   	int3
14089bb65:	cc                   	int3
14089bb66:	cc                   	int3
14089bb67:	cc                   	int3
14089bb68:	cc                   	int3
14089bb69:	cc                   	int3
14089bb6a:	cc                   	int3
14089bb6b:	cc                   	int3
14089bb6c:	cc                   	int3
14089bb6d:	cc                   	int3
14089bb6e:	cc                   	int3
14089bb6f:	cc                   	int3
14089bb70:	80 79 2a 00          	cmpb   $0x0,0x2a(%rcx)
14089bb74:	4c 8b d1             	mov    %rcx,%r10
14089bb77:	0f 85 43 01 00 00    	jne    0x14089bcc0
14089bb7d:	80 79 28 00          	cmpb   $0x0,0x28(%rcx)
14089bb81:	75 18                	jne    0x14089bb9b
14089bb83:	b8 01 00 00 00       	mov    $0x1,%eax
14089bb88:	89 41 0c             	mov    %eax,0xc(%rcx)
14089bb8b:	89 41 10             	mov    %eax,0x10(%rcx)
14089bb8e:	b8 d0 07 00 00       	mov    $0x7d0,%eax
14089bb93:	89 41 08             	mov    %eax,0x8(%rcx)
14089bb96:	c6 41 2a 01          	movb   $0x1,0x2a(%rcx)
14089bb9a:	c3                   	ret
14089bb9b:	48 8b 09             	mov    (%rcx),%rcx
14089bb9e:	48 b8 ff fd 72 10 40 	movabs $0x1a6401072fdff,%rax
14089bba5:	a6 01 00
14089bba8:	48 3b c8             	cmp    %rax,%rcx
14089bbab:	76 17                	jbe    0x14089bbc4
14089bbad:	0f 57 c0             	xorps  %xmm0,%xmm0
14089bbb0:	41 0f 11 02          	movups %xmm0,(%r10)
14089bbb4:	41 0f 11 42 10       	movups %xmm0,0x10(%r10)
14089bbb9:	41 0f 11 42 20       	movups %xmm0,0x20(%r10)
14089bbbe:	41 c6 42 2e 01       	movb   $0x1,0x2e(%r10)
14089bbc3:	c3                   	ret
14089bbc4:	48 81 c1 00 2e 93 02 	add    $0x2932e00,%rcx
14089bbcb:	48 b8 87 dc 33 fd 75 	movabs $0x636ba875fd33dc87,%rax
14089bbd2:	a8 6b 63
14089bbd5:	48 f7 e9             	imul   %rcx
14089bbd8:	4c 8b c2             	mov    %rdx,%r8
14089bbdb:	49 c1 f8 19          	sar    $0x19,%r8
14089bbdf:	49 8b c0             	mov    %r8,%rax
14089bbe2:	48 c1 e8 3f          	shr    $0x3f,%rax
14089bbe6:	4c 03 c0             	add    %rax,%r8
14089bbe9:	66 41 0f 6e c0       	movd   %r8d,%xmm0
14089bbee:	45 8d 88 f5 05 00 00 	lea    0x5f5(%r8),%r9d
14089bbf5:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14089bbf9:	f2 0f 5c 05 df 7e 7b 	subsd  0x7b7edf(%rip),%xmm0        # 0x141053ae0
14089bc00:	00
14089bc01:	f2 0f 5e 05 cf 7e 7b 	divsd  0x7b7ecf(%rip),%xmm0        # 0x141053ad8
14089bc08:	00
14089bc09:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
14089bc0d:	8b c1                	mov    %ecx,%eax
14089bc0f:	99                   	cltd
14089bc10:	83 e2 03             	and    $0x3,%edx
14089bc13:	03 c2                	add    %edx,%eax
14089bc15:	c1 f8 02             	sar    $0x2,%eax
14089bc18:	2b c8                	sub    %eax,%ecx
14089bc1a:	44 03 c9             	add    %ecx,%r9d
14089bc1d:	66 41 0f 6e c1       	movd   %r9d,%xmm0
14089bc22:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14089bc26:	f2 0f 5c 05 92 7e 7b 	subsd  0x7b7e92(%rip),%xmm0        # 0x141053ac0
14089bc2d:	00
14089bc2e:	f2 0f 5e 05 92 7e 7b 	divsd  0x7b7e92(%rip),%xmm0        # 0x141053ac8
14089bc35:	00
14089bc36:	f2 44 0f 2c c0       	cvttsd2si %xmm0,%r8d
14089bc3b:	41 8b c0             	mov    %r8d,%eax
14089bc3e:	25 ff 7f 00 00       	and    $0x7fff,%eax
14089bc43:	69 c8 ad 8e 00 00    	imul   $0x8ead,%eax,%ecx
14089bc49:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
14089bc4e:	f7 e9                	imul   %ecx
14089bc50:	c1 fa 05             	sar    $0x5,%edx
14089bc53:	8b c2                	mov    %edx,%eax
14089bc55:	c1 e8 1f             	shr    $0x1f,%eax
14089bc58:	03 d0                	add    %eax,%edx
14089bc5a:	41 8b c1             	mov    %r9d,%eax
14089bc5d:	2b c2                	sub    %edx,%eax
14089bc5f:	66 0f 6e c0          	movd   %eax,%xmm0
14089bc63:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14089bc67:	f2 0f 5e 05 39 7e 7b 	divsd  0x7b7e39(%rip),%xmm0        # 0x141053aa8
14089bc6e:	00
14089bc6f:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
14089bc73:	66 0f 6e c1          	movd   %ecx,%xmm0
14089bc77:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
14089bc7b:	f2 0f 59 05 25 7e 7b 	mulsd  0x7b7e25(%rip),%xmm0        # 0x141053aa8
14089bc82:	00
14089bc83:	f2 0f 2c c0          	cvttsd2si %xmm0,%eax
14089bc87:	44 2b c8             	sub    %eax,%r9d
14089bc8a:	b8 01 00 00 00       	mov    $0x1,%eax
14089bc8f:	44 2b ca             	sub    %edx,%r9d
14089bc92:	ba 0d 00 00 00       	mov    $0xd,%edx
14089bc97:	83 f9 0e             	cmp    $0xe,%ecx
14089bc9a:	45 89 4a 10          	mov    %r9d,0x10(%r10)
14089bc9e:	0f 4d c2             	cmovge %edx,%eax
14089bca1:	2b c8                	sub    %eax,%ecx
14089bca3:	33 c0                	xor    %eax,%eax
14089bca5:	83 f9 02             	cmp    $0x2,%ecx
14089bca8:	41 89 4a 0c          	mov    %ecx,0xc(%r10)
14089bcac:	0f 9e c0             	setle  %al
14089bcaf:	05 94 ed ff ff       	add    $0xffffed94,%eax
14089bcb4:	41 03 c0             	add    %r8d,%eax
14089bcb7:	41 89 42 08          	mov    %eax,0x8(%r10)
14089bcbb:	41 c6 42 2a 01       	movb   $0x1,0x2a(%r10)
14089bcc0:	c3                   	ret
14089bcc1:	cc                   	int3
14089bcc2:	cc                   	int3
14089bcc3:	cc                   	int3
14089bcc4:	cc                   	int3
14089bcc5:	cc                   	int3