140160bb3:	d1 ff                	sar    $1,%edi
140160bb5:	39 f7                	cmp    %esi,%edi
140160bb7:	0f 4e fd             	cmovle %ebp,%edi
140160bba:	48 63 d7             	movslq %edi,%rdx
140160bbd:	48 c1 e2 02          	shl    $0x2,%rdx
140160bc1:	e8 7a a0 f6 ff       	call   0x1400cac40
140160bc6:	48 89 c1             	mov    %rax,%rcx
140160bc9:	44 89 3c b1          	mov    %r15d,(%rcx,%rsi,4)
140160bcd:	41 8b 45 40          	mov    0x40(%r13),%eax
140160bd1:	48 83 c3 01          	add    $0x1,%rbx
140160bd5:	48 63 f5             	movslq %ebp,%rsi
140160bd8:	39 c3                	cmp    %eax,%ebx
140160bda:	72 bb                	jb     0x140160b97
140160bdc:	48 63 d6             	movslq %esi,%rdx
140160bdf:	8d 5e ff             	lea    -0x1(%rsi),%ebx
140160be2:	48 c1 e2 02          	shl    $0x2,%rdx
140160be6:	e8 55 a0 f6 ff       	call   0x1400cac40
140160beb:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140160bf2:	00
140160bf3:	41 89 1c 24          	mov    %ebx,(%r12)
140160bf7:	48 89 01             	mov    %rax,(%rcx)
140160bfa:	48 83 c4 28          	add    $0x28,%rsp
140160bfe:	5b                   	pop    %rbx
140160bff:	5e                   	pop    %rsi
140160c00:	5f                   	pop    %rdi
140160c01:	5d                   	pop    %rbp
140160c02:	41 5c                	pop    %r12
140160c04:	41 5d                	pop    %r13
140160c06:	41 5e                	pop    %r14
140160c08:	41 5f                	pop    %r15
140160c0a:	c3                   	ret
140160c0b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140160c10:	ba 04 00 00 00       	mov    $0x4,%edx
140160c15:	eb cf                	jmp    0x140160be6
140160c17:	4c 89 e9             	mov    %r13,%rcx
140160c1a:	e8 61 ea ec ff       	call   0x14002f680
140160c1f:	48 8d 0d 59 27 0c 00 	lea    0xc2759(%rip),%rcx        # 0x14022337f
140160c26:	48 89 c2             	mov    %rax,%rdx
140160c29:	e8 62 27 f6 ff       	call   0x1400c3390
140160c2e:	90                   	nop
140160c2f:	90                   	nop
140160c30:	55                   	push   %rbp
140160c31:	57                   	push   %rdi
140160c32:	56                   	push   %rsi
140160c33:	53                   	push   %rbx
140160c34:	48 83 ec 58          	sub    $0x58,%rsp
140160c38:	48 8b 2d b1 7e 0d 00 	mov    0xd7eb1(%rip),%rbp        # 0x140238af0
140160c3f:	48 8b 45 00          	mov    0x0(%rbp),%rax
140160c43:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140160c48:	31 c0                	xor    %eax,%eax
140160c4a:	48 8b 05 6f 82 0d 00 	mov    0xd826f(%rip),%rax        # 0x140238ec0
140160c51:	48 89 cf             	mov    %rcx,%rdi
140160c54:	48 89 d3             	mov    %rdx,%rbx
140160c57:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
140160c5e:	00 00
140160c60:	48 8d 74 24 30       	lea    0x30(%rsp),%rsi
140160c65:	48 c7 44 24 40 00 00 	movq   $0x0,0x40(%rsp)
140160c6c:	00 00
140160c6e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140160c73:	48 85 d2             	test   %rdx,%rdx
140160c76:	74 21                	je     0x140160c99
140160c78:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140160c7f:	00
140160c80:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140160c84:	48 89 f1             	mov    %rsi,%rcx
140160c87:	e8 a4 fc f3 ff       	call   0x1400a0930
140160c8c:	48 8b 1b             	mov    (%rbx),%rbx
140160c8f:	48 85 db             	test   %rbx,%rbx
140160c92:	75 ec                	jne    0x140160c80
140160c94:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140160c99:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140160c9e:	31 d2                	xor    %edx,%edx
140160ca0:	48 89 f9             	mov    %rdi,%rcx
140160ca3:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140160ca9:	4c 8d 0d e3 26 0c 00 	lea    0xc26e3(%rip),%r9        # 0x140223393
140160cb0:	e8 bb af ee ff       	call   0x14004bc70
140160cb5:	48 89 f1             	mov    %rsi,%rcx
140160cb8:	e8 03 02 f4 ff       	call   0x1400a0ec0
140160cbd:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140160cc2:	48 2b 45 00          	sub    0x0(%rbp),%rax
140160cc6:	75 09                	jne    0x140160cd1
140160cc8:	48 83 c4 58          	add    $0x58,%rsp
140160ccc:	5b                   	pop    %rbx
140160ccd:	5e                   	pop    %rsi
140160cce:	5f                   	pop    %rdi
140160ccf:	5d                   	pop    %rbp
140160cd0:	c3                   	ret
140160cd1:	e8 9a 3b 08 00       	call   0x1401e4870
140160cd6:	90                   	nop
140160cd7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140160cde:	00 00
140160ce0:	41 55                	push   %r13
140160ce2:	41 54                	push   %r12
140160ce4:	55                   	push   %rbp
140160ce5:	57                   	push   %rdi
140160ce6:	56                   	push   %rsi
140160ce7:	53                   	push   %rbx
140160ce8:	48 83 ec 28          	sub    $0x28,%rsp
140160cec:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140160cf3:	00
140160cf4:	4c 8b ac 24 88 00 00 	mov    0x88(%rsp),%r13
140160cfb:	00
140160cfc:	4c 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12
140160d03:	00
140160d04:	48 8b bc 24 98 00 00 	mov    0x98(%rsp),%rdi
140160d0b:	00
140160d0c:	89 d0                	mov    %edx,%eax
140160d0e:	45 85 c0             	test   %r8d,%r8d
140160d11:	0f 84 a9 00 00 00    	je     0x140160dc0
140160d17:	4d 63 d0             	movslq %r8d,%r10
140160d1a:	4a 8d 14 95 00 00 00 	lea    0x0(,%r10,4),%rdx
140160d21:	00
140160d22:	47 8b 14 91          	mov    (%r9,%r10,4),%r10d
140160d26:	48 83 c2 04          	add    $0x4,%rdx
140160d2a:	4a 8d 6c 13 01       	lea    0x1(%rbx,%r10,1),%rbp
140160d2f:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
140160d33:	0f 85 8f 00 00 00    	jne    0x140160dc8
140160d39:	0f be f0             	movsbl %al,%esi
140160d3c:	48 89 fa             	mov    %rdi,%rdx
140160d3f:	48 39 dd             	cmp    %rbx,%rbp
140160d42:	0f 82 98 00 00 00    	jb     0x140160de0
140160d48:	e8 e3 8f 08 00       	call   0x1401e9d30
140160d4d:	48 89 fa             	mov    %rdi,%rdx
140160d50:	4c 89 e9             	mov    %r13,%rcx
140160d53:	48 29 eb             	sub    %rbp,%rbx
140160d56:	e8 d5 8f 08 00       	call   0x1401e9d30
140160d5b:	48 89 fa             	mov    %rdi,%rdx
140160d5e:	89 f1                	mov    %esi,%ecx
140160d60:	e8 b3 90 08 00       	call   0x1401e9e18
140160d65:	49 89 f9             	mov    %rdi,%r9
140160d68:	49 89 d8             	mov    %rbx,%r8
140160d6b:	48 89 e9             	mov    %rbp,%rcx
140160d6e:	ba 01 00 00 00       	mov    $0x1,%edx
140160d73:	e8 e0 8f 08 00       	call   0x1401e9d58
140160d78:	48 89 fa             	mov    %rdi,%rdx
140160d7b:	4c 89 e1             	mov    %r12,%rcx
140160d7e:	e8 ad 8f 08 00       	call   0x1401e9d30
140160d83:	48 89 fa             	mov    %rdi,%rdx
140160d86:	b9 0a 00 00 00       	mov    $0xa,%ecx
140160d8b:	e8 88 90 08 00       	call   0x1401e9e18
140160d90:	49 89 f9             	mov    %rdi,%r9
140160d93:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
140160d99:	ba 01 00 00 00       	mov    $0x1,%edx
140160d9e:	48 8d 0d ef 25 0c 00 	lea    0xc25ef(%rip),%rcx        # 0x140223394
140160da5:	48 83 c4 28          	add    $0x28,%rsp
140160da9:	5b                   	pop    %rbx
140160daa:	5e                   	pop    %rsi
140160dab:	5f                   	pop    %rdi
140160dac:	5d                   	pop    %rbp
140160dad:	41 5c                	pop    %r12
140160daf:	41 5d                	pop    %r13
140160db1:	e9 a2 8f 08 00       	jmp    0x1401e9d58
140160db6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140160dbd:	00 00 00
140160dc0:	48 89 dd             	mov    %rbx,%rbp
140160dc3:	ba 04 00 00 00       	mov    $0x4,%edx
140160dc8:	41 8b 14 11          	mov    (%r9,%rdx,1),%edx
140160dcc:	0f be f0             	movsbl %al,%esi
140160dcf:	48 8d 5c 13 01       	lea    0x1(%rbx,%rdx,1),%rbx
140160dd4:	48 89 fa             	mov    %rdi,%rdx
140160dd7:	48 39 dd             	cmp    %rbx,%rbp
140160dda:	0f 83 68 ff ff ff    	jae    0x140160d48
140160de0:	80 7b ff 0a          	cmpb   $0xa,-0x1(%rbx)
140160de4:	0f 85 5e ff ff ff    	jne    0x140160d48
140160dea:	e8 41 8f 08 00       	call   0x1401e9d30
140160def:	48 89 fa             	mov    %rdi,%rdx
140160df2:	4c 89 e9             	mov    %r13,%rcx
140160df5:	e8 36 8f 08 00       	call   0x1401e9d30
140160dfa:	48 89 fa             	mov    %rdi,%rdx
140160dfd:	89 f1                	mov    %esi,%ecx
140160dff:	e8 14 90 08 00       	call   0x1401e9e18
140160e04:	4c 8d 43 ff          	lea    -0x1(%rbx),%r8
140160e08:	49 89 f9             	mov    %rdi,%r9
140160e0b:	48 89 e9             	mov    %rbp,%rcx
140160e0e:	49 29 e8             	sub    %rbp,%r8
140160e11:	ba 01 00 00 00       	mov    $0x1,%edx
140160e16:	e8 3d 8f 08 00       	call   0x1401e9d58
140160e1b:	48 89 fa             	mov    %rdi,%rdx
140160e1e:	4c 89 e1             	mov    %r12,%rcx
140160e21:	e8 0a 8f 08 00       	call   0x1401e9d30
140160e26:	48 89 fa             	mov    %rdi,%rdx
140160e29:	b9 0a 00 00 00       	mov    $0xa,%ecx
140160e2e:	48 83 c4 28          	add    $0x28,%rsp
140160e32:	5b                   	pop    %rbx
140160e33:	5e                   	pop    %rsi
140160e34:	5f                   	pop    %rdi
140160e35:	5d                   	pop    %rbp
140160e36:	41 5c                	pop    %r12
140160e38:	41 5d                	pop    %r13
140160e3a:	e9 d9 8f 08 00       	jmp    0x1401e9e18
140160e3f:	90                   	nop
140160e40:	41 57                	push   %r15
140160e42:	41 56                	push   %r14
140160e44:	41 55                	push   %r13
140160e46:	41 54                	push   %r12
140160e48:	55                   	push   %rbp
140160e49:	57                   	push   %rdi
140160e4a:	56                   	push   %rsi
140160e4b:	53                   	push   %rbx
140160e4c:	48 83 ec 48          	sub    $0x48,%rsp
140160e50:	48 8b 3d 99 7c 0d 00 	mov    0xd7c99(%rip),%rdi        # 0x140238af0
140160e57:	48 8b 2d 22 80 0d 00 	mov    0xd8022(%rip),%rbp        # 0x140238e80
140160e5e:	48 8b 07             	mov    (%rdi),%rax
140160e61:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140160e66:	31 c0                	xor    %eax,%eax
140160e68:	8b 45 0c             	mov    0xc(%rbp),%eax
140160e6b:	49 89 cd             	mov    %rcx,%r13
140160e6e:	41 89 d4             	mov    %edx,%r12d
140160e71:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140160e78:	00 00
140160e7a:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140160e81:	00 00
140160e83:	85 c0                	test   %eax,%eax
140160e85:	7e 6d                	jle    0x140160ef4
140160e87:	31 f6                	xor    %esi,%esi
140160e89:	4c 8d 74 24 20       	lea    0x20(%rsp),%r14
140160e8e:	eb 16                	jmp    0x140160ea6
140160e90:	45 85 e4             	test   %r12d,%r12d
140160e93:	75 4b                	jne    0x140160ee0
140160e95:	48 89 f9             	mov    %rdi,%rcx
140160e98:	48 83 c6 01          	add    $0x1,%rsi
140160e9c:	e8 ef af fd ff       	call   0x14013be90
140160ea1:	39 75 0c             	cmp    %esi,0xc(%rbp)
140160ea4:	7e 4e                	jle    0x140160ef4
140160ea6:	48 8b 45 00          	mov    0x0(%rbp),%rax
140160eaa:	48 8b 3c f0          	mov    (%rax,%rsi,8),%rdi
140160eae:	48 8b 47 08          	mov    0x8(%rdi),%rax
140160eb2:	66 83 78 4c 00       	cmpw   $0x0,0x4c(%rax)
140160eb7:	74 d7                	je     0x140160e90
140160eb9:	48 8b 58 28          	mov    0x28(%rax),%rbx
140160ebd:	4d 89 ef             	mov    %r13,%r15
140160ec0:	eb 0e                	jmp    0x140160ed0
140160ec2:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140160ec8:	4d 8b 3f             	mov    (%r15),%r15
140160ecb:	4d 85 ff             	test   %r15,%r15
140160ece:	74 c5                	je     0x140160e95
140160ed0:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140160ed4:	48 89 da             	mov    %rbx,%rdx
140160ed7:	e8 9c 8f 08 00       	call   0x1401e9e78
140160edc:	85 c0                	test   %eax,%eax
140160ede:	75 e8                	jne    0x140160ec8
140160ee0:	48 89 fa             	mov    %rdi,%rdx
140160ee3:	4c 89 f1             	mov    %r14,%rcx
140160ee6:	48 83 c6 01          	add    $0x1,%rsi
140160eea:	e8 81 a7 fd ff       	call   0x14013b670
140160eef:	39 75 0c             	cmp    %esi,0xc(%rbp)
140160ef2:	7f b2                	jg     0x140160ea6
140160ef4:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140160ef8:	e8 b3 7f f9 ff       	call   0x1400f8eb0
140160efd:	f3 0f 6f 44 24 20    	movdqu 0x20(%rsp),%xmm0
140160f03:	48 8b 35 e6 7b 0d 00 	mov    0xd7be6(%rip),%rsi        # 0x140238af0
140160f0a:	0f 11 45 00          	movups %xmm0,0x0(%rbp)
140160f0e:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140160f13:	48 2b 06             	sub    (%rsi),%rax
140160f16:	75 11                	jne    0x140160f29
140160f18:	48 83 c4 48          	add    $0x48,%rsp
140160f1c:	5b                   	pop    %rbx
140160f1d:	5e                   	pop    %rsi
140160f1e:	5f                   	pop    %rdi
140160f1f:	5d                   	pop    %rbp
140160f20:	41 5c                	pop    %r12
140160f22:	41 5d                	pop    %r13
140160f24:	41 5e                	pop    %r14
140160f26:	41 5f                	pop    %r15
140160f28:	c3                   	ret
140160f29:	e8 42 39 08 00       	call   0x1401e4870
140160f2e:	90                   	nop
140160f2f:	90                   	nop
140160f30:	41 57                	push   %r15
140160f32:	41 56                	push   %r14
140160f34:	41 55                	push   %r13
140160f36:	41 54                	push   %r12
140160f38:	55                   	push   %rbp
140160f39:	57                   	push   %rdi
140160f3a:	56                   	push   %rsi
140160f3b:	53                   	push   %rbx
140160f3c:	48 83 ec 38          	sub    $0x38,%rsp
140160f40:	48 8b 42 08          	mov    0x8(%rdx),%rax
140160f44:	8b 79 04             	mov    0x4(%rcx),%edi
140160f47:	4d 8b 70 08          	mov    0x8(%r8),%r14
140160f4b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140160f50:	48 89 cb             	mov    %rcx,%rbx
140160f53:	49 89 d5             	mov    %rdx,%r13
140160f56:	4d 89 c4             	mov    %r8,%r12
140160f59:	85 ff                	test   %edi,%edi
140160f5b:	0f 85 7d 01 00 00    	jne    0x1401610de
140160f61:	44 8b 52 04          	mov    0x4(%rdx),%r10d
140160f65:	45 8b 40 04          	mov    0x4(%r8),%r8d
140160f69:	31 ed                	xor    %ebp,%ebp
140160f6b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140160f70:	44 39 d7             	cmp    %r10d,%edi
140160f73:	0f 83 d9 00 00 00    	jae    0x140161052
140160f79:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140160f7e:	89 f8                	mov    %edi,%eax
140160f80:	48 8d 34 c6          	lea    (%rsi,%rax,8),%rsi
140160f84:	8b 0e                	mov    (%rsi),%ecx
140160f86:	44 39 c5             	cmp    %r8d,%ebp
140160f89:	0f 83 e1 00 00 00    	jae    0x140161070
140160f8f:	89 e8                	mov    %ebp,%eax
140160f91:	49 8d 04 c6          	lea    (%r14,%rax,8),%rax
140160f95:	8b 10                	mov    (%rax),%edx
140160f97:	39 ca                	cmp    %ecx,%edx
140160f99:	0f 8f d1 00 00 00    	jg     0x140161070
140160f9f:	44 8b 48 04          	mov    0x4(%rax),%r9d
140160fa3:	0f 8c 07 01 00 00    	jl     0x1401610b0
140160fa9:	44 8b 5e 04          	mov    0x4(%rsi),%r11d
140160fad:	45 39 cb             	cmp    %r9d,%r11d
140160fb0:	0f 8d fa 00 00 00    	jge    0x1401610b0
140160fb6:	83 c7 01             	add    $0x1,%edi
140160fb9:	45 89 d9             	mov    %r11d,%r9d
140160fbc:	0f 1f 40 00          	nopl   0x0(%rax)
140160fc0:	44 39 c9             	cmp    %r9d,%ecx
140160fc3:	74 ab                	je     0x140160f70
140160fc5:	8b 43 04             	mov    0x4(%rbx),%eax
140160fc8:	4c 8b 5b 08          	mov    0x8(%rbx),%r11
140160fcc:	85 c0                	test   %eax,%eax
140160fce:	0f 84 c4 00 00 00    	je     0x140161098
140160fd4:	8d 50 ff             	lea    -0x1(%rax),%edx
140160fd7:	4d 8d 3c d3          	lea    (%r11,%rdx,8),%r15
140160fdb:	41 8b 57 04          	mov    0x4(%r15),%edx
140160fdf:	39 ca                	cmp    %ecx,%edx
140160fe1:	0f 8d 99 00 00 00    	jge    0x140161080
140160fe7:	41 89 c0             	mov    %eax,%r8d
140160fea:	44 8b 3b             	mov    (%rbx),%r15d
140160fed:	49 8d 50 01          	lea    0x1(%r8),%rdx
140160ff1:	49 39 d7             	cmp    %rdx,%r15
140160ff4:	73 3a                	jae    0x140161030
140160ff6:	43 8d 4c 7f 30       	lea    0x30(%r15,%r15,2),%ecx
140160ffb:	d1 e9                	shr    $1,%ecx
140160ffd:	41 89 c8             	mov    %ecx,%r8d
140161000:	49 39 d0             	cmp    %rdx,%r8
140161003:	0f 83 c8 00 00 00    	jae    0x1401610d1
140161009:	89 d2                	mov    %edx,%edx
14016100b:	8d 48 01             	lea    0x1(%rax),%ecx
14016100e:	48 c1 e2 03          	shl    $0x3,%rdx
140161012:	89 0b                	mov    %ecx,(%rbx)
140161014:	4c 89 d9             	mov    %r11,%rcx
140161017:	e8 24 9c f6 ff       	call   0x1400cac40
14016101c:	44 8b 43 04          	mov    0x4(%rbx),%r8d
140161020:	8b 0e                	mov    (%rsi),%ecx
140161022:	44 8b 4e 04          	mov    0x4(%rsi),%r9d
140161026:	48 89 43 08          	mov    %rax,0x8(%rbx)
14016102a:	49 89 c3             	mov    %rax,%r11
14016102d:	4c 89 c0             	mov    %r8,%rax
140161030:	4b 8d 14 c3          	lea    (%r11,%r8,8),%rdx
140161034:	83 c0 01             	add    $0x1,%eax
140161037:	89 0a                	mov    %ecx,(%rdx)
140161039:	44 89 4a 04          	mov    %r9d,0x4(%rdx)
14016103d:	89 43 04             	mov    %eax,0x4(%rbx)
140161040:	45 8b 55 04          	mov    0x4(%r13),%r10d