14007886c:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140078870:	48 8d 56 38          	lea    0x38(%rsi),%rdx
140078874:	49 89 d8             	mov    %rbx,%r8
140078877:	e8 24 16 17 00       	call   0x1401e9ea0
14007887c:	85 c0                	test   %eax,%eax
14007887e:	75 07                	jne    0x140078887
140078880:	0f b6 44 1e 38       	movzbl 0x38(%rsi,%rbx,1),%eax
140078885:	f7 d8                	neg    %eax
140078887:	48 83 c4 28          	add    $0x28,%rsp
14007888b:	5b                   	pop    %rbx
14007888c:	5e                   	pop    %rsi
14007888d:	c3                   	ret
14007888e:	66 90                	xchg   %ax,%ax
140078890:	53                   	push   %rbx
140078891:	48 83 ec 20          	sub    $0x20,%rsp
140078895:	48 89 cb             	mov    %rcx,%rbx
140078898:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14007889c:	e8 0f 06 08 00       	call   0x1400f8eb0
1400788a1:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1400788a5:	e8 06 06 08 00       	call   0x1400f8eb0
1400788aa:	48 89 d9             	mov    %rbx,%rcx
1400788ad:	e8 7e d7 ff ff       	call   0x140076030
1400788b2:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1400788b7:	48 83 c4 20          	add    $0x20,%rsp
1400788bb:	5b                   	pop    %rbx
1400788bc:	c3                   	ret
1400788bd:	0f 1f 00             	nopl   (%rax)
1400788c0:	48 83 ec 28          	sub    $0x28,%rsp
1400788c4:	49 89 d0             	mov    %rdx,%r8
1400788c7:	48 8b 51 18          	mov    0x18(%rcx),%rdx
1400788cb:	48 8b 49 48          	mov    0x48(%rcx),%rcx
1400788cf:	e8 fc 6d fc ff       	call   0x14003f6d0
1400788d4:	f7 d8                	neg    %eax
1400788d6:	19 c0                	sbb    %eax,%eax
1400788d8:	48 83 c4 28          	add    $0x28,%rsp
1400788dc:	c3                   	ret
1400788dd:	0f 1f 00             	nopl   (%rax)
1400788e0:	41 56                	push   %r14
1400788e2:	41 55                	push   %r13
1400788e4:	41 54                	push   %r12
1400788e6:	55                   	push   %rbp
1400788e7:	57                   	push   %rdi
1400788e8:	56                   	push   %rsi
1400788e9:	53                   	push   %rbx
1400788ea:	48 83 ec 20          	sub    $0x20,%rsp
1400788ee:	8b 01                	mov    (%rcx),%eax
1400788f0:	48 89 cd             	mov    %rcx,%rbp
1400788f3:	39 41 08             	cmp    %eax,0x8(%rcx)
1400788f6:	0f 84 a4 00 00 00    	je     0x1400789a0
1400788fc:	48 63 d0             	movslq %eax,%rdx
1400788ff:	48 83 fa 01          	cmp    $0x1,%rdx
140078903:	0f 87 d7 00 00 00    	ja     0x1400789e0
140078909:	85 c0                	test   %eax,%eax
14007890b:	0f 8e ef 00 00 00    	jle    0x140078a00
140078911:	31 f6                	xor    %esi,%esi
140078913:	45 31 e4             	xor    %r12d,%r12d
140078916:	31 ff                	xor    %edi,%edi
140078918:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14007891f:	00
140078920:	4c 8b 6d 18          	mov    0x18(%rbp),%r13
140078924:	49 8b 5c f5 00       	mov    0x0(%r13,%rsi,8),%rbx
140078929:	48 85 ff             	test   %rdi,%rdi
14007892c:	74 52                	je     0x140078980
14007892e:	4c 8d 77 38          	lea    0x38(%rdi),%r14
140078932:	48 8d 53 38          	lea    0x38(%rbx),%rdx
140078936:	4c 89 f1             	mov    %r14,%rcx
140078939:	e8 3a 15 17 00       	call   0x1401e9e78
14007893e:	85 c0                	test   %eax,%eax
140078940:	75 3e                	jne    0x140078980
140078942:	f6 07 10             	testb  $0x10,(%rdi)
140078945:	0f 85 ba 00 00 00    	jne    0x140078a05
14007894b:	f6 03 10             	testb  $0x10,(%rbx)
14007894e:	0f 85 b1 00 00 00    	jne    0x140078a05
140078954:	48 8b 47 08          	mov    0x8(%rdi),%rax
140078958:	48 8b 57 10          	mov    0x10(%rdi),%rdx
14007895c:	48 33 43 08          	xor    0x8(%rbx),%rax
140078960:	48 33 53 10          	xor    0x10(%rbx),%rdx
140078964:	48 09 d0             	or     %rdx,%rax
140078967:	74 47                	je     0x1400789b0
140078969:	4c 89 f2             	mov    %r14,%rdx
14007896c:	48 8d 0d 15 c4 18 00 	lea    0x18c415(%rip),%rcx        # 0x140204d88
140078973:	e8 18 aa 04 00       	call   0x1400c3390
140078978:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14007897f:	00
140078980:	49 63 c4             	movslq %r12d,%rax
140078983:	48 89 df             	mov    %rbx,%rdi
140078986:	41 83 c4 01          	add    $0x1,%r12d
14007898a:	49 89 5c c5 00       	mov    %rbx,0x0(%r13,%rax,8)
14007898f:	48 83 c6 01          	add    $0x1,%rsi
140078993:	39 75 00             	cmp    %esi,0x0(%rbp)
140078996:	7f 88                	jg     0x140078920
140078998:	44 89 65 00          	mov    %r12d,0x0(%rbp)
14007899c:	44 89 65 08          	mov    %r12d,0x8(%rbp)
1400789a0:	48 83 c4 20          	add    $0x20,%rsp
1400789a4:	5b                   	pop    %rbx
1400789a5:	5e                   	pop    %rsi
1400789a6:	5f                   	pop    %rdi
1400789a7:	5d                   	pop    %rbp
1400789a8:	41 5c                	pop    %r12
1400789aa:	41 5d                	pop    %r13
1400789ac:	41 5e                	pop    %r14
1400789ae:	c3                   	ret
1400789af:	90                   	nop
1400789b0:	48 8b 47 18          	mov    0x18(%rdi),%rax
1400789b4:	48 8b 57 20          	mov    0x20(%rdi),%rdx
1400789b8:	48 33 43 18          	xor    0x18(%rbx),%rax
1400789bc:	48 33 53 20          	xor    0x20(%rbx),%rdx
1400789c0:	48 09 d0             	or     %rdx,%rax
1400789c3:	75 a4                	jne    0x140078969
1400789c5:	4c 89 f2             	mov    %r14,%rdx
1400789c8:	48 8d 0d e3 c3 18 00 	lea    0x18c3e3(%rip),%rcx        # 0x140204db2
1400789cf:	e8 2c ad 04 00       	call   0x1400c3700
1400789d4:	48 89 d9             	mov    %rbx,%rcx
1400789d7:	e8 04 fe ff ff       	call   0x1400787e0
1400789dc:	eb b1                	jmp    0x14007898f
1400789de:	66 90                	xchg   %ax,%ax
1400789e0:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1400789e4:	4c 8d 0d d5 fd ff ff 	lea    -0x22b(%rip),%r9        # 0x1400787c0
1400789eb:	41 b8 08 00 00 00    	mov    $0x8,%r8d
1400789f1:	e8 fa 19 02 00       	call   0x14009a3f0
1400789f6:	8b 45 00             	mov    0x0(%rbp),%eax
1400789f9:	e9 0b ff ff ff       	jmp    0x140078909
1400789fe:	66 90                	xchg   %ax,%ax
140078a00:	45 31 e4             	xor    %r12d,%r12d
140078a03:	eb 93                	jmp    0x140078998
140078a05:	4c 89 f2             	mov    %r14,%rdx
140078a08:	48 8d 0d 51 c3 18 00 	lea    0x18c351(%rip),%rcx        # 0x140204d60
140078a0f:	e8 7c a9 04 00       	call   0x1400c3390
140078a14:	90                   	nop
140078a15:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140078a1c:	00 00 00 00
140078a20:	57                   	push   %rdi
140078a21:	56                   	push   %rsi
140078a22:	53                   	push   %rbx
140078a23:	48 83 ec 20          	sub    $0x20,%rsp
140078a27:	48 89 cb             	mov    %rcx,%rbx
140078a2a:	8b 09                	mov    (%rcx),%ecx
140078a2c:	48 89 d6             	mov    %rdx,%rsi
140078a2f:	8b 43 04             	mov    0x4(%rbx),%eax
140078a32:	39 c1                	cmp    %eax,%ecx
140078a34:	7d 2a                	jge    0x140078a60
140078a36:	48 8b 43 18          	mov    0x18(%rbx),%rax
140078a3a:	48 63 d1             	movslq %ecx,%rdx
140078a3d:	8d 79 01             	lea    0x1(%rcx),%edi
140078a40:	89 3b                	mov    %edi,(%rbx)
140078a42:	4c 8d 04 d5 00 00 00 	lea    0x0(,%rdx,8),%r8
140078a49:	00
140078a4a:	48 89 34 d0          	mov    %rsi,(%rax,%rdx,8)
140078a4e:	83 ff 01             	cmp    $0x1,%edi
140078a51:	74 63                	je     0x140078ab6
140078a53:	39 4b 08             	cmp    %ecx,0x8(%rbx)
140078a56:	74 48                	je     0x140078aa0
140078a58:	48 83 c4 20          	add    $0x20,%rsp
140078a5c:	5b                   	pop    %rbx
140078a5d:	5e                   	pop    %rsi
140078a5e:	5f                   	pop    %rdi
140078a5f:	c3                   	ret
140078a60:	8d 54 40 30          	lea    0x30(%rax,%rax,2),%edx
140078a64:	89 d0                	mov    %edx,%eax
140078a66:	c1 e8 1f             	shr    $0x1f,%eax
140078a69:	01 d0                	add    %edx,%eax
140078a6b:	8d 51 01             	lea    0x1(%rcx),%edx
140078a6e:	d1 f8                	sar    $1,%eax
140078a70:	39 c1                	cmp    %eax,%ecx
140078a72:	0f 4c d0             	cmovl  %eax,%edx
140078a75:	89 53 04             	mov    %edx,0x4(%rbx)
140078a78:	48 63 d2             	movslq %edx,%rdx
140078a7b:	48 89 d0             	mov    %rdx,%rax
140078a7e:	48 c1 e8 3d          	shr    $0x3d,%rax
140078a82:	75 3d                	jne    0x140078ac1
140078a84:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140078a88:	48 c1 e2 03          	shl    $0x3,%rdx
140078a8c:	e8 af 21 05 00       	call   0x1400cac40
140078a91:	8b 0b                	mov    (%rbx),%ecx
140078a93:	48 89 43 18          	mov    %rax,0x18(%rbx)
140078a97:	eb a1                	jmp    0x140078a3a
140078a99:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140078aa0:	4a 8b 4c 00 f8       	mov    -0x8(%rax,%r8,1),%rcx
140078aa5:	48 8d 56 38          	lea    0x38(%rsi),%rdx
140078aa9:	48 83 c1 38          	add    $0x38,%rcx
140078aad:	e8 c6 13 17 00       	call   0x1401e9e78
140078ab2:	85 c0                	test   %eax,%eax
140078ab4:	79 a2                	jns    0x140078a58
140078ab6:	89 7b 08             	mov    %edi,0x8(%rbx)
140078ab9:	48 83 c4 20          	add    $0x20,%rsp
140078abd:	5b                   	pop    %rbx
140078abe:	5e                   	pop    %rsi
140078abf:	5f                   	pop    %rdi
140078ac0:	c3                   	ret
140078ac1:	49 89 d0             	mov    %rdx,%r8
140078ac4:	48 8d 0d fd c2 18 00 	lea    0x18c2fd(%rip),%rcx        # 0x140204dc8
140078acb:	ba 08 00 00 00       	mov    $0x8,%edx
140078ad0:	e8 bb a8 04 00       	call   0x1400c3390
140078ad5:	90                   	nop
140078ad6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140078add:	00 00 00
140078ae0:	56                   	push   %rsi
140078ae1:	53                   	push   %rbx
140078ae2:	48 83 ec 28          	sub    $0x28,%rsp
140078ae6:	0f b6 01             	movzbl (%rcx),%eax
140078ae9:	48 89 cb             	mov    %rcx,%rbx
140078aec:	a8 10                	test   $0x10,%al
140078aee:	74 2f                	je     0x140078b1f
140078af0:	48 8d 71 08          	lea    0x8(%rcx),%rsi
140078af4:	a8 20                	test   $0x20,%al
140078af6:	74 1d                	je     0x140078b15
140078af8:	48 8b 51 18          	mov    0x18(%rcx),%rdx
140078afc:	48 8b 42 10          	mov    0x10(%rdx),%rax
140078b00:	48 85 c0             	test   %rax,%rax
140078b03:	74 34                	je     0x140078b39
140078b05:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140078b09:	4c 8d 43 38          	lea    0x38(%rbx),%r8
140078b0d:	48 89 f2             	mov    %rsi,%rdx
140078b10:	ff d0                	call   *%rax
140078b12:	80 23 df             	andb   $0xdf,(%rbx)
140078b15:	48 89 f0             	mov    %rsi,%rax
140078b18:	48 83 c4 28          	add    $0x28,%rsp
140078b1c:	5b                   	pop    %rbx
140078b1d:	5e                   	pop    %rsi
140078b1e:	c3                   	ret
140078b1f:	41 b8 18 00 00 00    	mov    $0x18,%r8d
140078b25:	48 8d 15 bb c2 18 00 	lea    0x18c2bb(%rip),%rdx        # 0x140204de7
140078b2c:	48 8d 0d c5 c2 18 00 	lea    0x18c2c5(%rip),%rcx        # 0x140204df8
140078b33:	ff 15 9f 68 23 00    	call   *0x23689f(%rip)        # 0x1402af3d8
140078b39:	4c 8d 05 d0 c2 18 00 	lea    0x18c2d0(%rip),%r8        # 0x140204e10
140078b40:	ba 1c 00 00 00       	mov    $0x1c,%edx
140078b45:	48 8d 0d 9b c2 18 00 	lea    0x18c29b(%rip),%rcx        # 0x140204de7
140078b4c:	e8 3f ac 04 00       	call   0x1400c3790
140078b51:	90                   	nop
140078b52:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140078b59:	00 00 00 00
140078b5d:	0f 1f 00             	nopl   (%rax)
140078b60:	41 54                	push   %r12
140078b62:	55                   	push   %rbp
140078b63:	57                   	push   %rdi
140078b64:	56                   	push   %rsi
140078b65:	53                   	push   %rbx
140078b66:	48 83 ec 20          	sub    $0x20,%rsp
140078b6a:	48 be ff ff ff ff ff 	movabs $0xfffffffffffffff,%rsi
140078b71:	ff ff 0f
140078b74:	48 8b 41 28          	mov    0x28(%rcx),%rax
140078b78:	48 89 cb             	mov    %rcx,%rbx
140078b7b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140078b80:	48 8b 53 40          	mov    0x40(%rbx),%rdx
140078b84:	48 c1 e0 04          	shl    $0x4,%rax
140078b88:	48 8d 7c 02 f0       	lea    -0x10(%rdx,%rax,1),%rdi
140078b8d:	48 8b 2f             	mov    (%rdi),%rbp
140078b90:	8b 47 0c             	mov    0xc(%rdi),%eax
140078b93:	48 89 ea             	mov    %rbp,%rdx
140078b96:	83 f8 ff             	cmp    $0xffffffff,%eax
140078b99:	0f 84 d1 00 00 00    	je     0x140078c70
140078b9f:	83 c0 01             	add    $0x1,%eax
140078ba2:	89 47 0c             	mov    %eax,0xc(%rdi)
140078ba5:	3b 02                	cmp    (%rdx),%eax
140078ba7:	0f 84 9b 00 00 00    	je     0x140078c48
140078bad:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140078bb1:	8b 6f 08             	mov    0x8(%rdi),%ebp
140078bb4:	48 98                	cltq
140078bb6:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
140078bba:	83 fd 01             	cmp    $0x1,%ebp
140078bbd:	0f 84 cd 00 00 00    	je     0x140078c90
140078bc3:	41 0f b6 04 24       	movzbl (%r12),%eax
140078bc8:	a8 10                	test   $0x10,%al
140078bca:	0f 84 37 01 00 00    	je     0x140078d07
140078bd0:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140078bd4:	48 8b 43 30          	mov    0x30(%rbx),%rax
140078bd8:	4c 8d 41 01          	lea    0x1(%rcx),%r8
140078bdc:	4c 39 c0             	cmp    %r8,%rax
140078bdf:	0f 83 a3 00 00 00    	jae    0x140078c88
140078be5:	48 8d 54 40 30       	lea    0x30(%rax,%rax,2),%rdx
140078bea:	48 d1 ea             	shr    $1,%rdx
140078bed:	4c 39 c2             	cmp    %r8,%rdx
140078bf0:	49 0f 42 d0          	cmovb  %r8,%rdx
140078bf4:	48 89 53 30          	mov    %rdx,0x30(%rbx)
140078bf8:	48 39 d6             	cmp    %rdx,%rsi
140078bfb:	0f 82 32 01 00 00    	jb     0x140078d33
140078c01:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140078c05:	48 c1 e2 04          	shl    $0x4,%rdx
140078c09:	e8 32 20 05 00       	call   0x1400cac40
140078c0e:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140078c12:	48 89 43 40          	mov    %rax,0x40(%rbx)
140078c16:	4c 8d 41 01          	lea    0x1(%rcx),%r8
140078c1a:	4c 89 43 28          	mov    %r8,0x28(%rbx)
140078c1e:	48 c1 e1 04          	shl    $0x4,%rcx
140078c22:	48 8d 3c 08          	lea    (%rax,%rcx,1),%rdi
140078c26:	4c 89 e1             	mov    %r12,%rcx
140078c29:	e8 b2 fe ff ff       	call   0x140078ae0
140078c2e:	89 6f 08             	mov    %ebp,0x8(%rdi)
140078c31:	48 89 07             	mov    %rax,(%rdi)
140078c34:	48 8b 43 28          	mov    0x28(%rbx),%rax
140078c38:	c7 47 0c ff ff ff ff 	movl   $0xffffffff,0xc(%rdi)
140078c3f:	e9 3c ff ff ff       	jmp    0x140078b80
140078c44:	0f 1f 40 00          	nopl   0x0(%rax)
140078c48:	48 8b 43 28          	mov    0x28(%rbx),%rax
140078c4c:	48 83 e8 01          	sub    $0x1,%rax
140078c50:	48 89 43 28          	mov    %rax,0x28(%rbx)
140078c54:	0f 85 26 ff ff ff    	jne    0x140078b80
140078c5a:	48 89 d9             	mov    %rbx,%rcx
140078c5d:	48 83 c4 20          	add    $0x20,%rsp
140078c61:	5b                   	pop    %rbx
140078c62:	5e                   	pop    %rsi
140078c63:	5f                   	pop    %rdi
140078c64:	5d                   	pop    %rbp
140078c65:	41 5c                	pop    %r12
140078c67:	e9 84 d3 ff ff       	jmp    0x140075ff0
140078c6c:	0f 1f 40 00          	nopl   0x0(%rax)
140078c70:	48 89 e9             	mov    %rbp,%rcx
140078c73:	e8 68 fc ff ff       	call   0x1400788e0
140078c78:	8b 47 0c             	mov    0xc(%rdi),%eax
140078c7b:	48 8b 17             	mov    (%rdi),%rdx
140078c7e:	e9 1c ff ff ff       	jmp    0x140078b9f
140078c83:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140078c88:	48 8b 43 40          	mov    0x40(%rbx),%rax
140078c8c:	eb 8c                	jmp    0x140078c1a
140078c8e:	66 90                	xchg   %ax,%ax
140078c90:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140078c94:	49 8d 54 24 38       	lea    0x38(%r12),%rdx
140078c99:	0f b6 01             	movzbl (%rcx),%eax
140078c9c:	84 c0                	test   %al,%al
140078c9e:	75 30                	jne    0x140078cd0
140078ca0:	eb 56                	jmp    0x140078cf8
140078ca2:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140078ca9:	00 00 00 00
140078cad:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140078cb4:	00 00 00 00
140078cb8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140078cbf:	00
140078cc0:	0f b6 41 01          	movzbl 0x1(%rcx),%eax
140078cc4:	48 83 c1 01          	add    $0x1,%rcx
140078cc8:	48 83 c2 01          	add    $0x1,%rdx
140078ccc:	84 c0                	test   %al,%al
140078cce:	74 28                	je     0x140078cf8
140078cd0:	3a 02                	cmp    (%rdx),%al
140078cd2:	74 ec                	je     0x140078cc0
140078cd4:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140078cd8:	80 3a 00             	cmpb   $0x0,(%rdx)
140078cdb:	48 89 c8             	mov    %rcx,%rax
140078cde:	0f 85 9c fe ff ff    	jne    0x140078b80
140078ce4:	41 f6 04 24 10       	testb  $0x10,(%r12)
140078ce9:	0f 85 e5 fe ff ff    	jne    0x140078bd4
140078cef:	e9 8c fe ff ff       	jmp    0x140078b80
140078cf4:	0f 1f 40 00          	nopl   0x0(%rax)
140078cf8:	41 0f b6 04 24       	movzbl (%r12),%eax
140078cfd:	31 ed                	xor    %ebp,%ebp
140078cff:	a8 10                	test   $0x10,%al
140078d01:	0f 85 c9 fe ff ff    	jne    0x140078bd0
140078d07:	49 8d 74 24 38       	lea    0x38(%r12),%rsi
140078d0c:	49 83 c4 08          	add    $0x8,%r12
140078d10:	66 48 0f 6e c6       	movq   %rsi,%xmm0
140078d15:	41 0f 16 44 24 28    	movhps 0x28(%r12),%xmm0