1400208a9:	49 89 c7             	mov    %rax,%r15
1400208ac:	48 63 46 14          	movslq 0x14(%rsi),%rax
1400208b0:	4c 8d 04 85 08 00 00 	lea    0x8(,%rax,4),%r8
1400208b7:	00
1400208b8:	e8 fb 3e 00 00       	call   0x1400247b8
1400208bd:	48 8b 84 24 c8 00 00 	mov    0xc8(%rsp),%rax
1400208c4:	00
1400208c5:	8b 48 08             	mov    0x8(%rax),%ecx
1400208c8:	e8 63 2b 00 00       	call   0x140023430
1400208cd:	48 8b 94 24 c8 00 00 	mov    0xc8(%rsp),%rdx
1400208d4:	00
1400208d5:	48 8d 48 10          	lea    0x10(%rax),%rcx
1400208d9:	48 89 c6             	mov    %rax,%rsi
1400208dc:	48 63 42 14          	movslq 0x14(%rdx),%rax
1400208e0:	48 83 c2 10          	add    $0x10,%rdx
1400208e4:	4c 8d 04 85 08 00 00 	lea    0x8(,%rax,4),%r8
1400208eb:	00
1400208ec:	e8 c7 3e 00 00       	call   0x1400247b8
1400208f1:	8b 9c 24 b8 00 00 00 	mov    0xb8(%rsp),%ebx
1400208f8:	b9 01 00 00 00       	mov    $0x1,%ecx
1400208fd:	44 8b b4 24 bc 00 00 	mov    0xbc(%rsp),%r14d
140020904:	00
140020905:	e8 56 2d 00 00       	call   0x140023660
14002090a:	41 89 dc             	mov    %ebx,%r12d
14002090d:	41 8d 3c 2e          	lea    (%r14,%rbp,1),%edi
140020911:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140020916:	41 29 ec             	sub    %ebp,%r12d
140020919:	85 ff                	test   %edi,%edi
14002091b:	0f 88 1f 07 00 00    	js     0x140021040
140020921:	8b 44 24 58          	mov    0x58(%rsp),%eax
140020925:	44 8b 6c 24 74       	mov    0x74(%rsp),%r13d
14002092a:	01 c7                	add    %eax,%edi
14002092c:	8b 54 24 60          	mov    0x60(%rsp),%edx
140020930:	44 01 f3             	add    %r14d,%ebx
140020933:	8b 4c 24 64          	mov    0x64(%rsp),%ecx
140020937:	8b 84 24 88 00 00 00 	mov    0x88(%rsp),%eax
14002093e:	29 d3                	sub    %edx,%ebx
140020940:	89 da                	mov    %ebx,%edx
140020942:	44 29 e0             	sub    %r12d,%eax
140020945:	29 ca                	sub    %ecx,%edx
140020947:	01 c2                	add    %eax,%edx
140020949:	39 d9                	cmp    %ebx,%ecx
14002094b:	0f 4f c2             	cmovg  %edx,%eax
14002094e:	44 8d 34 07          	lea    (%rdi,%rax,1),%r14d
140020952:	41 01 c5             	add    %eax,%r13d
140020955:	45 39 ee             	cmp    %r13d,%r14d
140020958:	44 89 e8             	mov    %r13d,%eax
14002095b:	41 0f 4e c6          	cmovle %r14d,%eax
14002095f:	39 f8                	cmp    %edi,%eax
140020961:	0f 4f c7             	cmovg  %edi,%eax
140020964:	85 c0                	test   %eax,%eax
140020966:	7e 08                	jle    0x140020970
140020968:	41 29 c6             	sub    %eax,%r14d
14002096b:	41 29 c5             	sub    %eax,%r13d
14002096e:	29 c7                	sub    %eax,%edi
140020970:	8b 44 24 58          	mov    0x58(%rsp),%eax
140020974:	85 c0                	test   %eax,%eax
140020976:	7e 2a                	jle    0x1400209a2
140020978:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
14002097d:	89 c2                	mov    %eax,%edx
14002097f:	e8 ec 2e 00 00       	call   0x140023870
140020984:	48 89 f2             	mov    %rsi,%rdx
140020987:	48 89 c1             	mov    %rax,%rcx
14002098a:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14002098f:	e8 8c 2d 00 00       	call   0x140023720
140020994:	48 89 f1             	mov    %rsi,%rcx
140020997:	48 89 c3             	mov    %rax,%rbx
14002099a:	e8 81 2b 00 00       	call   0x140023520
14002099f:	48 89 de             	mov    %rbx,%rsi
1400209a2:	44 89 f2             	mov    %r14d,%edx
1400209a5:	29 ea                	sub    %ebp,%edx
1400209a7:	85 d2                	test   %edx,%edx
1400209a9:	0f 8f 61 06 00 00    	jg     0x140021010
1400209af:	0f 85 fb 09 00 00    	jne    0x1400213b0
1400209b5:	44 8b 44 24 70       	mov    0x70(%rsp),%r8d
1400209ba:	45 85 c0             	test   %r8d,%r8d
1400209bd:	0f 8f 66 06 00 00    	jg     0x140021029
1400209c3:	45 85 ed             	test   %r13d,%r13d
1400209c6:	7e 0e                	jle    0x1400209d6
1400209c8:	4c 89 f9             	mov    %r15,%rcx
1400209cb:	44 89 ea             	mov    %r13d,%edx
1400209ce:	e8 3d 30 00 00       	call   0x140023a10
1400209d3:	49 89 c7             	mov    %rax,%r15
1400209d6:	85 ff                	test   %edi,%edi
1400209d8:	7e 11                	jle    0x1400209eb
1400209da:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
1400209df:	89 fa                	mov    %edi,%edx
1400209e1:	e8 2a 30 00 00       	call   0x140023a10
1400209e6:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1400209eb:	4c 89 fa             	mov    %r15,%rdx
1400209ee:	48 89 f1             	mov    %rsi,%rcx
1400209f1:	e8 aa 31 00 00       	call   0x140023ba0
1400209f6:	83 78 14 01          	cmpl   $0x1,0x14(%rax)
1400209fa:	48 89 c7             	mov    %rax,%rdi
1400209fd:	7f 0b                	jg     0x140020a0a
1400209ff:	8b 48 18             	mov    0x18(%rax),%ecx
140020a02:	85 c9                	test   %ecx,%ecx
140020a04:	0f 84 31 0e 00 00    	je     0x14002183b
140020a0a:	8b 5f 10             	mov    0x10(%rdi),%ebx
140020a0d:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%rdi)
140020a14:	48 89 f9             	mov    %rdi,%rcx
140020a17:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140020a1c:	e8 1f 31 00 00       	call   0x140023b40
140020a21:	85 c0                	test   %eax,%eax
140020a23:	0f 8f 1f 05 00 00    	jg     0x140020f48
140020a29:	80 bc 24 97 00 00 00 	cmpb   $0x0,0x97(%rsp)
140020a30:	00
140020a31:	0f 84 11 05 00 00    	je     0x140020f48
140020a37:	8b 84 24 8c 00 00 00 	mov    0x8c(%rsp),%eax
140020a3e:	83 e0 01             	and    $0x1,%eax
140020a41:	89 c5                	mov    %eax,%ebp
140020a43:	31 dd                	xor    %ebx,%ebp
140020a45:	39 d8                	cmp    %ebx,%eax
140020a47:	0f 84 63 11 00 00    	je     0x140021bb0
140020a4d:	85 db                	test   %ebx,%ebx
140020a4f:	0f 85 73 09 00 00    	jne    0x1400213c8
140020a55:	c7 84 24 b4 00 00 00 	movl   $0x11,0xb4(%rsp)
140020a5c:	11 00 00 00
140020a60:	8b 54 24 64          	mov    0x64(%rsp),%edx
140020a64:	39 94 24 98 00 00 00 	cmp    %edx,0x98(%rsp)
140020a6b:	74 4f                	je     0x140020abc
140020a6d:	8b 44 24 60          	mov    0x60(%rsp),%eax
140020a71:	4c 8b 84 24 c8 00 00 	mov    0xc8(%rsp),%r8
140020a78:	00
140020a79:	83 f8 1f             	cmp    $0x1f,%eax
140020a7c:	0f 8e 4d 0a 00 00    	jle    0x1400214cf
140020a82:	bb 01 00 00 00       	mov    $0x1,%ebx
140020a87:	eb 2a                	jmp    0x140020ab3
140020a89:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140020a90:	00 00 00 00
140020a94:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140020a9b:	00 00 00 00
140020a9f:	90                   	nop
140020aa0:	83 e8 20             	sub    $0x20,%eax
140020aa3:	48 8d 53 01          	lea    0x1(%rbx),%rdx
140020aa7:	83 f8 1f             	cmp    $0x1f,%eax
140020aaa:	0f 8e 30 0a 00 00    	jle    0x1400214e0
140020ab0:	48 89 d3             	mov    %rdx,%rbx
140020ab3:	41 8b 54 98 14       	mov    0x14(%r8,%rbx,4),%edx
140020ab8:	85 d2                	test   %edx,%edx
140020aba:	74 e4                	je     0x140020aa0
140020abc:	41 83 fc 01          	cmp    $0x1,%r12d
140020ac0:	7f 0b                	jg     0x140020acd
140020ac2:	f6 44 24 50 01       	testb  $0x1,0x50(%rsp)
140020ac7:	0f 85 f9 11 00 00    	jne    0x140021cc6
140020acd:	66 41 0f 28 f8       	movapd %xmm8,%xmm7
140020ad2:	31 db                	xor    %ebx,%ebx
140020ad4:	66 41 0f 28 f0       	movapd %xmm8,%xmm6
140020ad9:	c7 84 24 90 00 00 00 	movl   $0x10,0x90(%rsp)
140020ae0:	10 00 00 00
140020ae4:	41 be 01 00 00 00    	mov    $0x1,%r14d
140020aea:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
140020af1:	8b 94 24 bc 00 00 00 	mov    0xbc(%rsp),%edx
140020af8:	01 c2                	add    %eax,%edx
140020afa:	89 54 24 68          	mov    %edx,0x68(%rsp)
140020afe:	f6 44 24 50 01       	testb  $0x1,0x50(%rsp)
140020b03:	75 0c                	jne    0x140020b11
140020b05:	8b 54 24 60          	mov    0x60(%rsp),%edx
140020b09:	39 d0                	cmp    %edx,%eax
140020b0b:	0f 8c f7 08 00 00    	jl     0x140021408
140020b11:	48 8d 94 24 ac 00 00 	lea    0xac(%rsp),%rdx
140020b18:	00
140020b19:	4c 8d 84 24 b0 00 00 	lea    0xb0(%rsp),%r8
140020b20:	00
140020b21:	66 0f 28 c7          	movapd %xmm7,%xmm0
140020b25:	e8 66 33 00 00       	call   0x140023e90
140020b2a:	8b 94 24 ac 00 00 00 	mov    0xac(%rsp),%edx
140020b31:	49 89 c4             	mov    %rax,%r12
140020b34:	85 d2                	test   %edx,%edx
140020b36:	0f 88 74 05 00 00    	js     0x1400210b0
140020b3c:	0f 85 7e 06 00 00    	jne    0x1400211c0
140020b42:	4c 8b ac 24 c8 00 00 	mov    0xc8(%rsp),%r13
140020b49:	00
140020b4a:	4c 89 e2             	mov    %r12,%rdx
140020b4d:	4c 89 e9             	mov    %r13,%rcx
140020b50:	45 85 f6             	test   %r14d,%r14d
140020b53:	0f 84 47 04 00 00    	je     0x140020fa0
140020b59:	e8 42 30 00 00       	call   0x140023ba0
140020b5e:	48 89 84 24 c8 00 00 	mov    %rax,0xc8(%rsp)
140020b65:	00
140020b66:	48 89 c1             	mov    %rax,%rcx
140020b69:	8b 44 24 50          	mov    0x50(%rsp),%eax
140020b6d:	85 c0                	test   %eax,%eax
140020b6f:	0f 84 fb 05 00 00    	je     0x140021170
140020b75:	44 89 74 24 50       	mov    %r14d,0x50(%rsp)
140020b7a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140020b80:	4c 89 e1             	mov    %r12,%rcx
140020b83:	e8 98 29 00 00       	call   0x140023520
140020b88:	4c 89 e9             	mov    %r13,%rcx
140020b8b:	e8 90 29 00 00       	call   0x140023520
140020b90:	85 ed                	test   %ebp,%ebp
140020b92:	0f 85 a3 0c 00 00    	jne    0x14002183b
140020b98:	8b 54 24 68          	mov    0x68(%rsp),%edx
140020b9c:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
140020ba3:	03 84 24 bc 00 00 00 	add    0xbc(%rsp),%eax
140020baa:	39 d0                	cmp    %edx,%eax
140020bac:	75 35                	jne    0x140020be3
140020bae:	85 db                	test   %ebx,%ebx
140020bb0:	74 31                	je     0x140020be3
140020bb2:	f2 0f 59 3d 06 5e 02 	mulsd  0x25e06(%rip),%xmm7        # 0x1400469c0
140020bb9:	00
140020bba:	66 0f 28 c6          	movapd %xmm6,%xmm0
140020bbe:	f2 0f 5c 05 ea 5d 02 	subsd  0x25dea(%rip),%xmm0        # 0x1400469b0
140020bc5:	00
140020bc6:	66 0f 28 cf          	movapd %xmm7,%xmm1
140020bca:	66 41 0f 57 ca       	xorpd  %xmm10,%xmm1
140020bcf:	66 0f 2f c8          	comisd %xmm0,%xmm1
140020bd3:	0f 86 f7 05 00 00    	jbe    0x1400211d0
140020bd9:	66 0f 2f f7          	comisd %xmm7,%xmm6
140020bdd:	0f 87 0d 06 00 00    	ja     0x1400211f0
140020be3:	44 8b 64 24 50       	mov    0x50(%rsp),%r12d
140020be8:	45 85 e4             	test   %r12d,%r12d
140020beb:	0f 84 99 04 00 00    	je     0x14002108a
140020bf1:	48 89 f1             	mov    %rsi,%rcx
140020bf4:	e8 27 29 00 00       	call   0x140023520
140020bf9:	4c 89 f9             	mov    %r15,%rcx
140020bfc:	e8 1f 29 00 00       	call   0x140023520
140020c01:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140020c06:	e8 15 29 00 00       	call   0x140023520
140020c0b:	48 89 f9             	mov    %rdi,%rcx
140020c0e:	e8 0d 29 00 00       	call   0x140023520
140020c13:	e9 78 fc ff ff       	jmp    0x140020890
140020c18:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140020c1f:	00
140020c20:	4d 01 c1             	add    %r8,%r9
140020c23:	4c 89 8c 24 c0 00 00 	mov    %r9,0xc0(%rsp)
140020c2a:	00
140020c2b:	41 0f be 01          	movsbl (%r9),%eax
140020c2f:	85 db                	test   %ebx,%ebx
140020c31:	0f 85 c5 01 00 00    	jne    0x140020dfc
140020c37:	83 f8 30             	cmp    $0x30,%eax
140020c3a:	0f 85 d9 11 00 00    	jne    0x140021e19
140020c40:	4c 89 c9             	mov    %r9,%rcx
140020c43:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140020c4a:	00 00 00 00
140020c4e:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140020c55:	00 00 00 00
140020c59:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140020c60:	49 89 c8             	mov    %rcx,%r8
140020c63:	48 83 c1 01          	add    $0x1,%rcx
140020c67:	48 89 8c 24 c0 00 00 	mov    %rcx,0xc0(%rsp)
140020c6e:	00
140020c6f:	0f be 01             	movsbl (%rcx),%eax
140020c72:	83 f8 30             	cmp    $0x30,%eax
140020c75:	74 e9                	je     0x140020c60
140020c77:	45 29 c8             	sub    %r9d,%r8d
140020c7a:	45 8d 60 01          	lea    0x1(%r8),%r12d
140020c7e:	8d 48 cf             	lea    -0x31(%rax),%ecx
140020c81:	83 f9 08             	cmp    $0x8,%ecx
140020c84:	0f 86 8d 0d 00 00    	jbe    0x140021a17
140020c8a:	83 e0 df             	and    $0xffffffdf,%eax
140020c8d:	83 f8 45             	cmp    $0x45,%eax
140020c90:	0f 84 e1 0f 00 00    	je     0x140021c77
140020c96:	45 09 d4             	or     %r10d,%r12d
140020c99:	0f 84 0a f9 ff ff    	je     0x1400205a9
140020c9f:	e9 81 f6 ff ff       	jmp    0x140020325
140020ca4:	0f 1f 40 00          	nopl   0x0(%rax)
140020ca8:	66 48 0f 6e c5       	movq   %rbp,%xmm0
140020cad:	0f 84 03 fa ff ff    	je     0x1400206b6
140020cb3:	44 89 e0             	mov    %r12d,%eax
140020cb6:	f7 d8                	neg    %eax
140020cb8:	41 89 c4             	mov    %eax,%r12d
140020cbb:	41 83 e4 f0          	and    $0xfffffff0,%r12d
140020cbf:	83 e0 0f             	and    $0xf,%eax
140020cc2:	0f 85 18 0e 00 00    	jne    0x140021ae0
140020cc8:	44 89 e1             	mov    %r12d,%ecx
140020ccb:	c1 f9 04             	sar    $0x4,%ecx
140020cce:	41 81 fc ff 00 00 00 	cmp    $0xff,%r12d
140020cd5:	0f 8e a5 11 00 00    	jle    0x140021e80
140020cdb:	4c 8b 15 ee 5f 02 00 	mov    0x25fee(%rip),%r10        # 0x140046cd0
140020ce2:	41 89 c8             	mov    %ecx,%r8d
140020ce5:	45 31 c9             	xor    %r9d,%r9d
140020ce8:	f2 41 0f 10 42 20    	movsd  0x20(%r10),%xmm0
140020cee:	66 90                	xchg   %ax,%ax
140020cf0:	48 89 e8             	mov    %rbp,%rax
140020cf3:	48 89 ea             	mov    %rbp,%rdx
140020cf6:	89 ed                	mov    %ebp,%ebp
140020cf8:	41 83 e8 10          	sub    $0x10,%r8d
140020cfc:	48 c1 e8 20          	shr    $0x20,%rax
140020d00:	48 c1 ea 34          	shr    $0x34,%rdx
140020d04:	25 ff ff 0f 80       	and    $0x800fffff,%eax
140020d09:	81 e2 ff 07 00 00    	and    $0x7ff,%edx
140020d0f:	0d 00 00 f0 3f       	or     $0x3ff00000,%eax
140020d14:	45 8d 8c 11 01 fc ff 	lea    -0x3ff(%r9,%rdx,1),%r9d
140020d1b:	ff
140020d1c:	48 c1 e0 20          	shl    $0x20,%rax
140020d20:	48 09 c5             	or     %rax,%rbp
140020d23:	66 48 0f 6e dd       	movq   %rbp,%xmm3
140020d28:	f2 0f 59 d8          	mulsd  %xmm0,%xmm3
140020d2c:	66 48 0f 7e dd       	movq   %xmm3,%rbp
140020d31:	41 83 f8 0f          	cmp    $0xf,%r8d
140020d35:	7f b9                	jg     0x140020cf0
140020d37:	48 89 e8             	mov    %rbp,%rax
140020d3a:	48 89 ea             	mov    %rbp,%rdx
140020d3d:	48 c1 e8 20          	shr    $0x20,%rax
140020d41:	48 c1 ea 34          	shr    $0x34,%rdx
140020d45:	25 ff ff 0f 80       	and    $0x800fffff,%eax
140020d4a:	81 e2 ff 07 00 00    	and    $0x7ff,%edx
140020d50:	0d 00 00 f0 3f       	or     $0x3ff00000,%eax
140020d55:	45 8d a4 11 01 fc ff 	lea    -0x3ff(%r9,%rdx,1),%r12d
140020d5c:	ff
140020d5d:	89 ea                	mov    %ebp,%edx
140020d5f:	48 c1 e0 20          	shl    $0x20,%rax
140020d63:	48 09 c2             	or     %rax,%rdx
140020d66:	66 48 0f 6e c2       	movq   %rdx,%xmm0
140020d6b:	83 e1 0f             	and    $0xf,%ecx
140020d6e:	0f 84 42 f9 ff ff    	je     0x1400206b6
140020d74:	4c 89 d0             	mov    %r10,%rax
140020d77:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140020d7e:	00 00
140020d80:	f6 c1 01             	test   $0x1,%cl
140020d83:	0f 84 27 08 00 00    	je     0x1400215b0
140020d89:	f2 0f 59 00          	mulsd  (%rax),%xmm0
140020d8d:	48 83 c0 08          	add    $0x8,%rax
140020d91:	d1 f9                	sar    $1,%ecx
140020d93:	75 eb                	jne    0x140020d80
140020d95:	e9 1c f9 ff ff       	jmp    0x1400206b6
140020d9a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140020da0:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%rsp)
140020da7:	00
140020da8:	e9 39 f6 ff ff       	jmp    0x1400203e6
140020dad:	0f 1f 00             	nopl   (%rax)
140020db0:	48 8b 15 09 5f 02 00 	mov    0x25f09(%rip),%rdx        # 0x140046cc0
140020db7:	66 48 0f 6e c5       	movq   %rbp,%xmm0
140020dbc:	f2 0f 59 04 c2       	mulsd  (%rdx,%rax,8),%xmm0
140020dc1:	66 48 0f 7e c5       	movq   %xmm0,%rbp
140020dc6:	45 85 e4             	test   %r12d,%r12d
140020dc9:	0f 84 e7 f8 ff ff    	je     0x1400206b6
140020dcf:	e9 24 f8 ff ff       	jmp    0x1400205f8
140020dd4:	0f 1f 40 00          	nopl   0x0(%rax)
140020dd8:	41 89 dd             	mov    %ebx,%r13d
140020ddb:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%rsp)
140020de2:	00
140020de3:	44 89 c3             	mov    %r8d,%ebx
140020de6:	e9 65 f6 ff ff       	jmp    0x140020450
140020deb:	49 83 c1 02          	add    $0x2,%r9
140020def:	4c 89 8c 24 c0 00 00 	mov    %r9,0xc0(%rsp)
140020df6:	00
140020df7:	41 0f be 40 01       	movsbl 0x1(%r8),%eax
140020dfc:	44 8d 48 d0          	lea    -0x30(%rax),%r9d
140020e00:	41 83 f9 09          	cmp    $0x9,%r9d
140020e04:	0f 87 e6 0b 00 00    	ja     0x1400219f0
140020e0a:	48 8b 8c 24 c0 00 00 	mov    0xc0(%rsp),%rcx
140020e11:	00
140020e12:	45 89 ce             	mov    %r9d,%r14d
140020e15:	41 89 d8             	mov    %ebx,%r8d
140020e18:	45 85 c9             	test   %r9d,%r9d
140020e1b:	0f 85 c6 0f 00 00    	jne    0x140021de7
140020e21:	31 c0                	xor    %eax,%eax
140020e23:	41 bc 01 00 00 00    	mov    $0x1,%r12d