140077a85:	c3                   	ret
140077a86:	90                   	nop
140077a87:	90                   	nop
140077a88:	48 8b c4             	mov    %rsp,%rax
140077a8b:	48 89 58 08          	mov    %rbx,0x8(%rax)
140077a8f:	48 89 68 10          	mov    %rbp,0x10(%rax)
140077a93:	48 89 70 18          	mov    %rsi,0x18(%rax)
140077a97:	57                   	push   %rdi
140077a98:	41 56                	push   %r14
140077a9a:	41 57                	push   %r15
140077a9c:	48 83 ec 50          	sub    $0x50,%rsp
140077aa0:	0f 29 70 d8          	movaps %xmm6,-0x28(%rax)
140077aa4:	41 8a d9             	mov    %r9b,%bl
140077aa7:	48 8b c2             	mov    %rdx,%rax
140077aaa:	49 8b e8             	mov    %r8,%rbp
140077aad:	48 2b c1             	sub    %rcx,%rax
140077ab0:	48 8b fa             	mov    %rdx,%rdi
140077ab3:	48 8b f1             	mov    %rcx,%rsi
140077ab6:	eb 76                	jmp    0x140077b2e
140077ab8:	48 85 ed             	test   %rbp,%rbp
140077abb:	0f 8e ed 00 00 00    	jle    0x140077bae
140077ac1:	44 8a cb             	mov    %bl,%r9b
140077ac4:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140077ac9:	4c 8b c7             	mov    %rdi,%r8
140077acc:	48 8b d6             	mov    %rsi,%rdx
140077acf:	e8 d4 22 00 00       	call   0x140079da8
140077ad4:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
140077ad9:	48 8b cd             	mov    %rbp,%rcx
140077adc:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
140077ae1:	49 8b c7             	mov    %r15,%rax
140077ae4:	48 c1 f9 02          	sar    $0x2,%rcx
140077ae8:	48 2b c6             	sub    %rsi,%rax
140077aeb:	48 d1 fd             	sar    $1,%rbp
140077aee:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140077af2:	48 03 e9             	add    %rcx,%rbp
140077af5:	44 8a cb             	mov    %bl,%r9b
140077af8:	48 8b cf             	mov    %rdi,%rcx
140077afb:	4c 8b c5             	mov    %rbp,%r8
140077afe:	49 2b ce             	sub    %r14,%rcx
140077b01:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
140077b05:	48 3b c1             	cmp    %rcx,%rax
140077b08:	7d 10                	jge    0x140077b1a
140077b0a:	49 8b d7             	mov    %r15,%rdx
140077b0d:	48 8b ce             	mov    %rsi,%rcx
140077b10:	e8 73 ff ff ff       	call   0x140077a88
140077b15:	49 8b f6             	mov    %r14,%rsi
140077b18:	eb 0e                	jmp    0x140077b28
140077b1a:	48 8b d7             	mov    %rdi,%rdx
140077b1d:	49 8b ce             	mov    %r14,%rcx
140077b20:	e8 63 ff ff ff       	call   0x140077a88
140077b25:	49 8b ff             	mov    %r15,%rdi
140077b28:	48 8b c7             	mov    %rdi,%rax
140077b2b:	48 2b c6             	sub    %rsi,%rax
140077b2e:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140077b32:	48 3d 00 02 00 00    	cmp    $0x200,%rax
140077b38:	0f 8f 7a ff ff ff    	jg     0x140077ab8
140077b3e:	48 3b f7             	cmp    %rdi,%rsi
140077b41:	0f 84 4d 01 00 00    	je     0x140077c94
140077b47:	48 8d 5e 10          	lea    0x10(%rsi),%rbx
140077b4b:	48 3b df             	cmp    %rdi,%rbx
140077b4e:	0f 84 40 01 00 00    	je     0x140077c94
140077b54:	bd 10 00 00 00       	mov    $0x10,%ebp
140077b59:	4c 8b f3             	mov    %rbx,%r14
140077b5c:	f3 0f 6f 33          	movdqu (%rbx),%xmm6
140077b60:	48 8b d3             	mov    %rbx,%rdx
140077b63:	49 8d 0c 2e          	lea    (%r14,%rbp,1),%rcx
140077b67:	0f 28 c6             	movaps %xmm6,%xmm0
140077b6a:	0f 28 ce             	movaps %xmm6,%xmm1
140077b6d:	0f c6 c6 aa          	shufps $0xaa,%xmm6,%xmm0
140077b71:	f3 0f 58 c8          	addss  %xmm0,%xmm1
140077b75:	f3 0f 10 06          	movss  (%rsi),%xmm0
140077b79:	f3 0f 58 46 08       	addss  0x8(%rsi),%xmm0
140077b7e:	f3 0f 59 0d 4a 95 b3 	mulss  0xb3954a(%rip),%xmm1        # 0x140bb10d0
140077b85:	00
140077b86:	f3 0f 59 05 42 95 b3 	mulss  0xb39542(%rip),%xmm0        # 0x140bb10d0
140077b8d:	00
140077b8e:	0f 2f c1             	comiss %xmm1,%xmm0
140077b91:	0f 86 b6 00 00 00    	jbe    0x140077c4d
140077b97:	48 2b cd             	sub    %rbp,%rcx
140077b9a:	4c 8b c5             	mov    %rbp,%r8
140077b9d:	48 8b d6             	mov    %rsi,%rdx
140077ba0:	e8 c1 88 a7 00       	call   0x140af0466
140077ba5:	f3 0f 7f 36          	movdqu %xmm6,(%rsi)
140077ba9:	e9 d5 00 00 00       	jmp    0x140077c83
140077bae:	48 8b ef             	mov    %rdi,%rbp
140077bb1:	48 2b ee             	sub    %rsi,%rbp
140077bb4:	48 c1 fd 04          	sar    $0x4,%rbp
140077bb8:	4c 8b f5             	mov    %rbp,%r14
140077bbb:	49 d1 fe             	sar    $1,%r14
140077bbe:	4d 85 f6             	test   %r14,%r14
140077bc1:	7e 37                	jle    0x140077bfa
140077bc3:	4d 8b fe             	mov    %r14,%r15
140077bc6:	49 c1 e7 04          	shl    $0x4,%r15
140077bca:	4c 03 fe             	add    %rsi,%r15
140077bcd:	4d 8d 7f f0          	lea    -0x10(%r15),%r15
140077bd1:	88 5c 24 20          	mov    %bl,0x20(%rsp)
140077bd5:	41 0f 10 07          	movups (%r15),%xmm0
140077bd9:	49 ff ce             	dec    %r14
140077bdc:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
140077be1:	4c 8b c5             	mov    %rbp,%r8
140077be4:	49 8b d6             	mov    %r14,%rdx
140077be7:	48 8b ce             	mov    %rsi,%rcx
140077bea:	f3 0f 7f 44 24 30    	movdqu %xmm0,0x30(%rsp)
140077bf0:	e8 af 48 00 00       	call   0x14007c4a4
140077bf5:	4d 85 f6             	test   %r14,%r14
140077bf8:	7f d3                	jg     0x140077bcd
140077bfa:	48 83 fd 02          	cmp    $0x2,%rbp
140077bfe:	0f 8c 90 00 00 00    	jl     0x140077c94
140077c04:	48 8d 6f f0          	lea    -0x10(%rdi),%rbp
140077c08:	0f 10 45 00          	movups 0x0(%rbp),%xmm0
140077c0c:	4c 8b c5             	mov    %rbp,%r8
140077c0f:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
140077c14:	0f 10 0e             	movups (%rsi),%xmm1
140077c17:	4c 2b c6             	sub    %rsi,%r8
140077c1a:	88 5c 24 20          	mov    %bl,0x20(%rsp)
140077c1e:	49 c1 f8 04          	sar    $0x4,%r8
140077c22:	33 d2                	xor    %edx,%edx
140077c24:	48 8b ce             	mov    %rsi,%rcx
140077c27:	48 8b fd             	mov    %rbp,%rdi
140077c2a:	f3 0f 7f 44 24 30    	movdqu %xmm0,0x30(%rsp)
140077c30:	f3 0f 7f 4d 00       	movdqu %xmm1,0x0(%rbp)
140077c35:	e8 6a 48 00 00       	call   0x14007c4a4
140077c3a:	48 2b fe             	sub    %rsi,%rdi
140077c3d:	48 83 ed 10          	sub    $0x10,%rbp
140077c41:	48 83 e7 f0          	and    $0xfffffffffffffff0,%rdi
140077c45:	48 83 ff 20          	cmp    $0x20,%rdi
140077c49:	7d bd                	jge    0x140077c08
140077c4b:	eb 47                	jmp    0x140077c94
140077c4d:	f3 0f 10 41 e8       	movss  -0x18(%rcx),%xmm0
140077c52:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
140077c56:	48 03 c6             	add    %rsi,%rax
140077c59:	eb 13                	jmp    0x140077c6e
140077c5b:	0f 10 00             	movups (%rax),%xmm0
140077c5e:	f3 0f 7f 02          	movdqu %xmm0,(%rdx)
140077c62:	48 8b d0             	mov    %rax,%rdx
140077c65:	48 83 e8 10          	sub    $0x10,%rax
140077c69:	f3 0f 10 40 08       	movss  0x8(%rax),%xmm0
140077c6e:	f3 0f 58 00          	addss  (%rax),%xmm0
140077c72:	f3 0f 59 05 56 94 b3 	mulss  0xb39456(%rip),%xmm0        # 0x140bb10d0
140077c79:	00
140077c7a:	0f 2f c1             	comiss %xmm1,%xmm0
140077c7d:	77 dc                	ja     0x140077c5b
140077c7f:	f3 0f 7f 32          	movdqu %xmm6,(%rdx)
140077c83:	48 83 c3 10          	add    $0x10,%rbx
140077c87:	48 83 c5 10          	add    $0x10,%rbp
140077c8b:	48 3b df             	cmp    %rdi,%rbx
140077c8e:	0f 85 c8 fe ff ff    	jne    0x140077b5c
140077c94:	0f 28 74 24 40       	movaps 0x40(%rsp),%xmm6
140077c99:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140077c9e:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140077ca2:	49 8b 6b 28          	mov    0x28(%r11),%rbp
140077ca6:	49 8b 73 30          	mov    0x30(%r11),%rsi
140077caa:	49 8b e3             	mov    %r11,%rsp
140077cad:	41 5f                	pop    %r15
140077caf:	41 5e                	pop    %r14
140077cb1:	5f                   	pop    %rdi
140077cb2:	c3                   	ret
140077cb3:	90                   	nop
140077cb4:	48 8b c4             	mov    %rsp,%rax
140077cb7:	48 89 58 08          	mov    %rbx,0x8(%rax)
140077cbb:	48 89 70 18          	mov    %rsi,0x18(%rax)
140077cbf:	48 89 78 20          	mov    %rdi,0x20(%rax)
140077cc3:	48 89 50 10          	mov    %rdx,0x10(%rax)
140077cc7:	55                   	push   %rbp
140077cc8:	41 54                	push   %r12
140077cca:	41 55                	push   %r13
140077ccc:	41 56                	push   %r14
140077cce:	41 57                	push   %r15
140077cd0:	48 8b ec             	mov    %rsp,%rbp
140077cd3:	48 83 ec 70          	sub    $0x70,%rsp
140077cd7:	41 8a d9             	mov    %r9b,%bl
140077cda:	49 8b f8             	mov    %r8,%rdi
140077cdd:	4c 8b fa             	mov    %rdx,%r15
140077ce0:	48 8b f1             	mov    %rcx,%rsi
140077ce3:	48 8b c2             	mov    %rdx,%rax
140077ce6:	48 2b c1             	sub    %rcx,%rax
140077ce9:	41 bd 00 02 00 00    	mov    $0x200,%r13d
140077cef:	eb 77                	jmp    0x140077d68
140077cf1:	48 85 ff             	test   %rdi,%rdi
140077cf4:	0f 8e 97 01 00 00    	jle    0x140077e91
140077cfa:	44 8a cb             	mov    %bl,%r9b
140077cfd:	4d 8b c7             	mov    %r15,%r8
140077d00:	48 8b d6             	mov    %rsi,%rdx
140077d03:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140077d07:	e8 14 23 00 00       	call   0x14007a020
140077d0c:	48 8b cf             	mov    %rdi,%rcx
140077d0f:	48 c1 f9 02          	sar    $0x2,%rcx
140077d13:	48 d1 ff             	sar    $1,%rdi
140077d16:	48 03 f9             	add    %rcx,%rdi
140077d19:	49 8b cf             	mov    %r15,%rcx
140077d1c:	4c 8b 75 f8          	mov    -0x8(%rbp),%r14
140077d20:	49 2b ce             	sub    %r14,%rcx
140077d23:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
140077d27:	4c 8b 65 f0          	mov    -0x10(%rbp),%r12
140077d2b:	49 8b c4             	mov    %r12,%rax
140077d2e:	48 2b c6             	sub    %rsi,%rax
140077d31:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140077d35:	44 8a cb             	mov    %bl,%r9b
140077d38:	4c 8b c7             	mov    %rdi,%r8
140077d3b:	48 3b c1             	cmp    %rcx,%rax
140077d3e:	7d 10                	jge    0x140077d50
140077d40:	49 8b d4             	mov    %r12,%rdx
140077d43:	48 8b ce             	mov    %rsi,%rcx
140077d46:	e8 69 ff ff ff       	call   0x140077cb4
140077d4b:	49 8b f6             	mov    %r14,%rsi
140077d4e:	eb 12                	jmp    0x140077d62
140077d50:	49 8b d7             	mov    %r15,%rdx
140077d53:	49 8b ce             	mov    %r14,%rcx
140077d56:	e8 59 ff ff ff       	call   0x140077cb4
140077d5b:	4d 8b fc             	mov    %r12,%r15
140077d5e:	4c 89 65 38          	mov    %r12,0x38(%rbp)
140077d62:	49 8b c7             	mov    %r15,%rax
140077d65:	48 2b c6             	sub    %rsi,%rax
140077d68:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140077d6c:	49 3b c5             	cmp    %r13,%rax
140077d6f:	7f 80                	jg     0x140077cf1
140077d71:	49 3b f7             	cmp    %r15,%rsi
140077d74:	0f 84 f9 00 00 00    	je     0x140077e73
140077d7a:	48 8d 7e 10          	lea    0x10(%rsi),%rdi
140077d7e:	49 3b ff             	cmp    %r15,%rdi
140077d81:	0f 84 ec 00 00 00    	je     0x140077e73
140077d87:	41 83 ce ff          	or     $0xffffffff,%r14d
140077d8b:	4c 8b e7             	mov    %rdi,%r12
140077d8e:	48 8b 07             	mov    (%rdi),%rax
140077d91:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140077d95:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140077d99:	48 89 4d c8          	mov    %rcx,-0x38(%rbp)
140077d9d:	48 83 27 00          	andq   $0x0,(%rdi)
140077da1:	48 83 67 08 00       	andq   $0x0,0x8(%rdi)
140077da6:	0f 57 c0             	xorps  %xmm0,%xmm0
140077da9:	f3 0f 7f 45 d0       	movdqu %xmm0,-0x30(%rbp)
140077dae:	48 8b 46 08          	mov    0x8(%rsi),%rax
140077db2:	48 85 c0             	test   %rax,%rax
140077db5:	74 04                	je     0x140077dbb
140077db7:	f0 ff 40 08          	lock incl 0x8(%rax)
140077dbb:	48 8b 06             	mov    (%rsi),%rax
140077dbe:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140077dc2:	48 8b 46 08          	mov    0x8(%rsi),%rax
140077dc6:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140077dca:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140077dcf:	48 85 c9             	test   %rcx,%rcx
140077dd2:	74 04                	je     0x140077dd8
140077dd4:	f0 ff 41 08          	lock incl 0x8(%rcx)
140077dd8:	0f 28 45 c0          	movaps -0x40(%rbp),%xmm0
140077ddc:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140077de1:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
140077de5:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140077de9:	e8 1e 49 ff ff       	call   0x14006c70c
140077dee:	48 8b df             	mov    %rdi,%rbx
140077df1:	84 c0                	test   %al,%al
140077df3:	0f 84 56 02 00 00    	je     0x14007804f
140077df9:	48 3b fe             	cmp    %rsi,%rdi
140077dfc:	74 14                	je     0x140077e12
140077dfe:	48 8b cb             	mov    %rbx,%rcx
140077e01:	48 83 eb 10          	sub    $0x10,%rbx
140077e05:	48 8b d3             	mov    %rbx,%rdx
140077e08:	e8 d7 e4 f8 ff       	call   0x1400062e4
140077e0d:	48 3b de             	cmp    %rsi,%rbx
140077e10:	75 ec                	jne    0x140077dfe
140077e12:	48 8b ce             	mov    %rsi,%rcx
140077e15:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140077e19:	e8 c6 e4 f8 ff       	call   0x1400062e4
140077e1e:	90                   	nop
140077e1f:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140077e23:	48 85 c9             	test   %rcx,%rcx
140077e26:	74 3e                	je     0x140077e66
140077e28:	41 8b c6             	mov    %r14d,%eax
140077e2b:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140077e30:	41 03 c6             	add    %r14d,%eax
140077e33:	75 31                	jne    0x140077e66
140077e35:	48 8b 5d c8          	mov    -0x38(%rbp),%rbx
140077e39:	48 8b 03             	mov    (%rbx),%rax
140077e3c:	48 8b cb             	mov    %rbx,%rcx
140077e3f:	48 8b 00             	mov    (%rax),%rax
140077e42:	ff 15 f0 4d a9 00    	call   *0xa94df0(%rip)        # 0x140b0cc38
140077e48:	41 8b c6             	mov    %r14d,%eax
140077e4b:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140077e50:	41 03 c6             	add    %r14d,%eax
140077e53:	75 11                	jne    0x140077e66
140077e55:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140077e59:	48 8b 01             	mov    (%rcx),%rax
140077e5c:	48 8b 40 08          	mov    0x8(%rax),%rax
140077e60:	ff 15 d2 4d a9 00    	call   *0xa94dd2(%rip)        # 0x140b0cc38
140077e66:	48 83 c7 10          	add    $0x10,%rdi
140077e6a:	49 3b ff             	cmp    %r15,%rdi
140077e6d:	0f 85 18 ff ff ff    	jne    0x140077d8b
140077e73:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140077e78:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140077e7c:	49 8b 73 40          	mov    0x40(%r11),%rsi
140077e80:	49 8b 7b 48          	mov    0x48(%r11),%rdi
140077e84:	49 8b e3             	mov    %r11,%rsp
140077e87:	41 5f                	pop    %r15
140077e89:	41 5e                	pop    %r14
140077e8b:	41 5d                	pop    %r13
140077e8d:	41 5c                	pop    %r12
140077e8f:	5d                   	pop    %rbp
140077e90:	c3                   	ret
140077e91:	4d 8b e7             	mov    %r15,%r12
140077e94:	4c 2b e6             	sub    %rsi,%r12
140077e97:	49 c1 fc 04          	sar    $0x4,%r12
140077e9b:	4d 8b ec             	mov    %r12,%r13
140077e9e:	49 d1 fd             	sar    $1,%r13
140077ea1:	41 83 ce ff          	or     $0xffffffff,%r14d
140077ea5:	4d 85 ed             	test   %r13,%r13
140077ea8:	0f 8e 93 00 00 00    	jle    0x140077f41
140077eae:	4d 8b fd             	mov    %r13,%r15
140077eb1:	49 c1 e7 04          	shl    $0x4,%r15
140077eb5:	4c 03 fe             	add    %rsi,%r15
140077eb8:	49 ff cd             	dec    %r13
140077ebb:	4d 8d 7f f0          	lea    -0x10(%r15),%r15
140077ebf:	49 8b 07             	mov    (%r15),%rax
140077ec2:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140077ec6:	49 8b 47 08          	mov    0x8(%r15),%rax
140077eca:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140077ece:	49 83 27 00          	andq   $0x0,(%r15)
140077ed2:	49 83 67 08 00       	andq   $0x0,0x8(%r15)
140077ed7:	88 5c 24 20          	mov    %bl,0x20(%rsp)
140077edb:	4c 8d 4d c0          	lea    -0x40(%rbp),%r9
140077edf:	4d 8b c4             	mov    %r12,%r8
140077ee2:	49 8b d5             	mov    %r13,%rdx
140077ee5:	48 8b ce             	mov    %rsi,%rcx
140077ee8:	e8 d3 46 00 00       	call   0x14007c5c0
140077eed:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140077ef1:	48 85 c9             	test   %rcx,%rcx
140077ef4:	74 3e                	je     0x140077f34
140077ef6:	41 8b c6             	mov    %r14d,%eax
140077ef9:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140077efe:	41 03 c6             	add    %r14d,%eax
140077f01:	75 31                	jne    0x140077f34
140077f03:	48 8b 7d c8          	mov    -0x38(%rbp),%rdi
140077f07:	48 8b 07             	mov    (%rdi),%rax
140077f0a:	48 8b cf             	mov    %rdi,%rcx
140077f0d:	48 8b 00             	mov    (%rax),%rax
140077f10:	ff 15 22 4d a9 00    	call   *0xa94d22(%rip)        # 0x140b0cc38
140077f16:	41 8b c6             	mov    %r14d,%eax
140077f19:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
140077f1e:	41 03 c6             	add    %r14d,%eax
140077f21:	75 11                	jne    0x140077f34
140077f23:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140077f27:	48 8b 01             	mov    (%rcx),%rax
140077f2a:	48 8b 40 08          	mov    0x8(%rax),%rax
140077f2e:	ff 15 04 4d a9 00    	call   *0xa94d04(%rip)        # 0x140b0cc38
140077f34:	4d 85 ed             	test   %r13,%r13
140077f37:	0f 8f 7b ff ff ff    	jg     0x140077eb8
140077f3d:	4c 8b 7d 38          	mov    0x38(%rbp),%r15
140077f41:	49 83 fc 02          	cmp    $0x2,%r12
140077f45:	0f 8c 28 ff ff ff    	jl     0x140077e73
140077f4b:	49 83 c7 f8          	add    $0xfffffffffffffff8,%r15
140077f4f:	49 c7 c5 f8 ff ff ff 	mov    $0xfffffffffffffff8,%r13
140077f56:	4c 2b ee             	sub    %rsi,%r13