180114a1f:	45 84 d0             	test   %r10b,%r8b
180114a22:	74 e3                	je     0x180114a07
180114a24:	41 8b c2             	mov    %r10d,%eax
180114a27:	f7 d0                	not    %eax
180114a29:	a8 01                	test   $0x1,%al
180114a2b:	74 16                	je     0x180114a43
180114a2d:	49 8b c2             	mov    %r10,%rax
180114a30:	49 8b cb             	mov    %r11,%rcx
180114a33:	48 c1 e1 3f          	shl    $0x3f,%rcx
180114a37:	48 d1 e8             	shr    $1,%rax
180114a3a:	4c 8b d1             	mov    %rcx,%r10
180114a3d:	4c 0b d0             	or     %rax,%r10
180114a40:	49 d1 eb             	shr    $1,%r11
180114a43:	49 3b fb             	cmp    %r11,%rdi
180114a46:	76 15                	jbe    0x180114a5d
180114a48:	49 3b da             	cmp    %r10,%rbx
180114a4b:	49 8b c3             	mov    %r11,%rax
180114a4e:	48 83 d0 00          	adc    $0x0,%rax
180114a52:	48 2b f8             	sub    %rax,%rdi
180114a55:	49 2b da             	sub    %r10,%rbx
180114a58:	e9 34 ff ff ff       	jmp    0x180114991
180114a5d:	49 8b d2             	mov    %r10,%rdx
180114a60:	48 2b d3             	sub    %rbx,%rdx
180114a63:	49 3b fb             	cmp    %r11,%rdi
180114a66:	73 15                	jae    0x180114a7d
180114a68:	4c 3b d3             	cmp    %rbx,%r10
180114a6b:	48 8b c7             	mov    %rdi,%rax
180114a6e:	4c 8b d2             	mov    %rdx,%r10
180114a71:	48 83 d0 00          	adc    $0x0,%rax
180114a75:	4c 2b d8             	sub    %rax,%r11
180114a78:	e9 14 ff ff ff       	jmp    0x180114991
180114a7d:	48 8b c3             	mov    %rbx,%rax
180114a80:	48 8b cb             	mov    %rbx,%rcx
180114a83:	49 2b c2             	sub    %r10,%rax
180114a86:	33 ff                	xor    %edi,%edi
180114a88:	49 3b ca             	cmp    %r10,%rcx
180114a8b:	48 8b da             	mov    %rdx,%rbx
180114a8e:	48 0f 47 d8          	cmova  %rax,%rbx
180114a92:	e9 fa fe ff ff       	jmp    0x180114991
180114a97:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
180114a9d:	eb 03                	jmp    0x180114aa2
180114a9f:	48 d1 ea             	shr    $1,%rdx
180114aa2:	8b c2                	mov    %edx,%eax
180114aa4:	f7 d0                	not    %eax
180114aa6:	a8 01                	test   $0x1,%al
180114aa8:	75 f5                	jne    0x180114a9f
180114aaa:	eb 4c                	jmp    0x180114af8
180114aac:	33 c0                	xor    %eax,%eax
180114aae:	49 3b d2             	cmp    %r10,%rdx
180114ab1:	0f 97 c0             	seta   %al
180114ab4:	4c 2b d8             	sub    %rax,%r11
180114ab7:	4c 2b d2             	sub    %rdx,%r10
180114aba:	eb 18                	jmp    0x180114ad4
180114abc:	49 8b c2             	mov    %r10,%rax
180114abf:	49 8b cb             	mov    %r11,%rcx
180114ac2:	48 c1 e1 3e          	shl    $0x3e,%rcx
180114ac6:	48 c1 e8 02          	shr    $0x2,%rax
180114aca:	4c 8b d1             	mov    %rcx,%r10
180114acd:	4c 0b d0             	or     %rax,%r10
180114ad0:	49 c1 eb 02          	shr    $0x2,%r11
180114ad4:	45 84 d0             	test   %r10b,%r8b
180114ad7:	74 e3                	je     0x180114abc
180114ad9:	41 8b c2             	mov    %r10d,%eax
180114adc:	f7 d0                	not    %eax
180114ade:	a8 01                	test   $0x1,%al
180114ae0:	74 16                	je     0x180114af8
180114ae2:	49 8b c2             	mov    %r10,%rax
180114ae5:	49 8b cb             	mov    %r11,%rcx
180114ae8:	48 c1 e1 3f          	shl    $0x3f,%rcx
180114aec:	48 d1 e8             	shr    $1,%rax
180114aef:	4c 8b d1             	mov    %rcx,%r10
180114af2:	4c 0b d0             	or     %rax,%r10
180114af5:	49 d1 eb             	shr    $1,%r11
180114af8:	4d 85 db             	test   %r11,%r11
180114afb:	75 af                	jne    0x180114aac
180114afd:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
180114b02:	49 8b ca             	mov    %r10,%rcx
180114b05:	e8 d6 fa ff ff       	call   0x1801145e0
180114b0a:	85 c0                	test   %eax,%eax
180114b0c:	74 21                	je     0x180114b2f
180114b0e:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
180114b13:	be 01 00 00 00       	mov    $0x1,%esi
180114b18:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
180114b1e:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180114b23:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
180114b28:	f3 41 0f 7f 06       	movdqu %xmm0,(%r14)
180114b2d:	eb 02                	jmp    0x180114b31
180114b2f:	33 f6                	xor    %esi,%esi
180114b31:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
180114b36:	8b c6                	mov    %esi,%eax
180114b38:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180114b3d:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
180114b42:	48 83 c4 30          	add    $0x30,%rsp
180114b46:	41 5e                	pop    %r14
180114b48:	c3                   	ret
180114b49:	cc                   	int3
180114b4a:	cc                   	int3
180114b4b:	cc                   	int3
180114b4c:	40 55                	rex push %rbp
180114b4e:	53                   	push   %rbx
180114b4f:	56                   	push   %rsi
180114b50:	57                   	push   %rdi
180114b51:	41 54                	push   %r12
180114b53:	41 55                	push   %r13
180114b55:	41 56                	push   %r14
180114b57:	41 57                	push   %r15
180114b59:	48 8d 6c 24 f8       	lea    -0x8(%rsp),%rbp
180114b5e:	48 81 ec 08 01 00 00 	sub    $0x108,%rsp
180114b65:	48 8b 05 04 7e 05 00 	mov    0x57e04(%rip),%rax        # 0x18016c970
180114b6c:	48 33 c4             	xor    %rsp,%rax
180114b6f:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
180114b73:	48 8b 5d 70          	mov    0x70(%rbp),%rbx
180114b77:	4c 8b e1             	mov    %rcx,%r12
180114b7a:	4c 8b 75 78          	mov    0x78(%rbp),%r14
180114b7e:	0f 57 c0             	xorps  %xmm0,%xmm0
180114b81:	48 89 55 a0          	mov    %rdx,-0x60(%rbp)
180114b85:	4d 8b d0             	mov    %r8,%r10
180114b88:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
180114b8c:	4c 89 4d c8          	mov    %r9,-0x38(%rbp)
180114b90:	4c 8b ca             	mov    %rdx,%r9
180114b93:	49 8b c9             	mov    %r9,%rcx
180114b96:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
180114b9b:	49 8b d0             	mov    %r8,%rdx
180114b9e:	4c 89 75 b8          	mov    %r14,-0x48(%rbp)
180114ba2:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
180114ba6:	e8 95 c7 ff ff       	call   0x180111340
180114bab:	49 8b d2             	mov    %r10,%rdx
180114bae:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
180114bb3:	49 8b c9             	mov    %r9,%rcx
180114bb6:	4c 8b f8             	mov    %rax,%r15
180114bb9:	e8 22 c5 ff ff       	call   0x1801110e0
180114bbe:	ba 01 00 00 00       	mov    $0x1,%edx
180114bc3:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
180114bc8:	44 8b c2             	mov    %edx,%r8d
180114bcb:	33 ff                	xor    %edi,%edi
180114bcd:	48 8d 05 7c 87 04 00 	lea    0x4877c(%rip),%rax        # 0x18015d350
180114bd4:	42 0f b7 0c 40       	movzwl (%rax,%r8,2),%ecx
180114bd9:	4c 3b f9             	cmp    %rcx,%r15
180114bdc:	76 09                	jbe    0x180114be7
180114bde:	4c 03 c2             	add    %rdx,%r8
180114be1:	49 83 f8 06          	cmp    $0x6,%r8
180114be5:	72 e6                	jb     0x180114bcd
180114be7:	4c 8b ca             	mov    %rdx,%r9
180114bea:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
180114bef:	33 d2                	xor    %edx,%edx
180114bf1:	4d 8d 6f ff          	lea    -0x1(%r15),%r13
180114bf5:	49 8b c5             	mov    %r13,%rax
180114bf8:	49 8b c8             	mov    %r8,%rcx
180114bfb:	49 f7 f0             	div    %r8
180114bfe:	49 d3 e1             	shl    %cl,%r9
180114c01:	4c 89 4c 24 48       	mov    %r9,0x48(%rsp)
180114c06:	48 8d 70 02          	lea    0x2(%rax),%rsi
180114c0a:	49 8d 49 04          	lea    0x4(%r9),%rcx
180114c0e:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
180114c13:	48 c1 e1 04          	shl    $0x4,%rcx
180114c17:	48 03 ce             	add    %rsi,%rcx
180114c1a:	48 c1 e1 03          	shl    $0x3,%rcx
180114c1e:	e8 2d 52 f8 ff       	call   0x180099e50
180114c23:	4c 8b 03             	mov    (%rbx),%r8
180114c26:	49 8b cc             	mov    %r12,%rcx
180114c29:	48 8b 53 38          	mov    0x38(%rbx),%rdx
180114c2d:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180114c32:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180114c37:	e8 7c bb ff ff       	call   0x1801107b8
180114c3c:	85 c0                	test   %eax,%eax
180114c3e:	0f 84 cc 05 00 00    	je     0x180115210
180114c44:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
180114c49:	48 85 c0             	test   %rax,%rax
180114c4c:	75 07                	jne    0x180114c55
180114c4e:	33 db                	xor    %ebx,%ebx
180114c50:	e9 1e 06 00 00       	jmp    0x180115273
180114c55:	4c 8b 4b 38          	mov    0x38(%rbx),%r9
180114c59:	48 8d 90 00 01 00 00 	lea    0x100(%rax),%rdx
180114c60:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180114c65:	48 8d ba 80 00 00 00 	lea    0x80(%rdx),%rdi
180114c6c:	48 c1 e0 07          	shl    $0x7,%rax
180114c70:	48 8d 8f 80 00 00 00 	lea    0x80(%rdi),%rcx
180114c77:	48 89 45 80          	mov    %rax,-0x80(%rbp)
180114c7b:	4c 8b c2             	mov    %rdx,%r8
180114c7e:	48 03 c1             	add    %rcx,%rax
180114c81:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
180114c86:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
180114c8a:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180114c8f:	48 8b d1             	mov    %rcx,%rdx
180114c92:	48 8b 45 d0          	mov    -0x30(%rbp),%rax
180114c96:	48 ff c0             	inc    %rax
180114c99:	48 89 7d b0          	mov    %rdi,-0x50(%rbp)
180114c9d:	48 89 45 a8          	mov    %rax,-0x58(%rbp)
180114ca1:	48 8b 03             	mov    (%rbx),%rax
180114ca4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180114ca9:	e8 d6 b6 ff ff       	call   0x180110384
180114cae:	85 c0                	test   %eax,%eax
180114cb0:	74 22                	je     0x180114cd4
180114cb2:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
180114cb7:	bb 01 00 00 00       	mov    $0x1,%ebx
180114cbc:	49 8b cc             	mov    %r12,%rcx
180114cbf:	44 8d 43 0f          	lea    0xf(%rbx),%r8d
180114cc3:	e8 a0 b8 ff ff       	call   0x180110568
180114cc8:	85 c0                	test   %eax,%eax
180114cca:	75 0a                	jne    0x180114cd6
180114ccc:	8b c3                	mov    %ebx,%eax
180114cce:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
180114cd2:	eb 10                	jmp    0x180114ce4
180114cd4:	33 db                	xor    %ebx,%ebx
180114cd6:	33 c0                	xor    %eax,%eax
180114cd8:	89 44 24 50          	mov    %eax,0x50(%rsp)
180114cdc:	85 db                	test   %ebx,%ebx
180114cde:	0f 84 2e 05 00 00    	je     0x180115212
180114ce4:	4d 85 ff             	test   %r15,%r15
180114ce7:	75 50                	jne    0x180114d39
180114ce9:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
180114cee:	41 8d 5f 01          	lea    0x1(%r15),%ebx
180114cf2:	49 8b 45 50          	mov    0x50(%r13),%rax
180114cf6:	0f 10 00             	movups (%rax),%xmm0
180114cf9:	0f 11 07             	movups %xmm0,(%rdi)
180114cfc:	0f 10 48 10          	movups 0x10(%rax),%xmm1
180114d00:	0f 11 4f 10          	movups %xmm1,0x10(%rdi)
180114d04:	0f 10 40 20          	movups 0x20(%rax),%xmm0
180114d08:	0f 11 47 20          	movups %xmm0,0x20(%rdi)
180114d0c:	0f 10 48 30          	movups 0x30(%rax),%xmm1
180114d10:	0f 11 4f 30          	movups %xmm1,0x30(%rdi)
180114d14:	0f 10 40 40          	movups 0x40(%rax),%xmm0
180114d18:	0f 11 47 40          	movups %xmm0,0x40(%rdi)
180114d1c:	0f 10 48 50          	movups 0x50(%rax),%xmm1
180114d20:	0f 11 4f 50          	movups %xmm1,0x50(%rdi)
180114d24:	0f 10 40 60          	movups 0x60(%rax),%xmm0
180114d28:	0f 11 47 60          	movups %xmm0,0x60(%rdi)
180114d2c:	0f 10 48 70          	movups 0x70(%rax),%xmm1
180114d30:	0f 11 4f 70          	movups %xmm1,0x70(%rdi)
180114d34:	e9 d9 04 00 00       	jmp    0x180115212
180114d39:	85 c0                	test   %eax,%eax
180114d3b:	0f 85 3d 03 00 00    	jne    0x18011507e
180114d41:	48 83 7c 24 70 04    	cmpq   $0x4,0x70(%rsp)
180114d47:	0f 86 31 03 00 00    	jbe    0x18011507e
180114d4d:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
180114d52:	45 33 ff             	xor    %r15d,%r15d
180114d55:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
180114d5a:	49 ff c8             	dec    %r8
180114d5d:	4c 8b 74 24 68       	mov    0x68(%rsp),%r14
180114d62:	45 33 ed             	xor    %r13d,%r13d
180114d65:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
180114d6a:	33 d2                	xor    %edx,%edx
180114d6c:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
180114d71:	4c 89 44 24 70       	mov    %r8,0x70(%rsp)
180114d76:	4c 3b ee             	cmp    %rsi,%r13
180114d79:	0f 84 88 00 00 00    	je     0x180114e07
180114d7f:	4a 8d 0c 32          	lea    (%rdx,%r14,1),%rcx
180114d83:	49 3b cc             	cmp    %r12,%rcx
180114d86:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
180114d8b:	48 8b c1             	mov    %rcx,%rax
180114d8e:	49 0f 47 c4          	cmova  %r12,%rax
180114d92:	48 83 64 24 50 00    	andq   $0x0,0x50(%rsp)
180114d98:	48 ff c8             	dec    %rax
180114d9b:	48 3b c2             	cmp    %rdx,%rax
180114d9e:	72 2e                	jb     0x180114dce
180114da0:	85 db                	test   %ebx,%ebx
180114da2:	74 28                	je     0x180114dcc
180114da4:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
180114da8:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
180114dad:	48 2b c2             	sub    %rdx,%rax
180114db0:	48 ff c0             	inc    %rax
180114db3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180114db8:	e8 b3 c4 ff ff       	call   0x180111270
180114dbd:	4c 8d 47 ff          	lea    -0x1(%rdi),%r8
180114dc1:	85 c0                	test   %eax,%eax
180114dc3:	74 07                	je     0x180114dcc
180114dc5:	bb 01 00 00 00       	mov    $0x1,%ebx
180114dca:	eb 02                	jmp    0x180114dce
180114dcc:	33 db                	xor    %ebx,%ebx
180114dce:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180114dd3:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
180114dd8:	49 2b cf             	sub    %r15,%rcx
180114ddb:	48 8b c1             	mov    %rcx,%rax
180114dde:	4c 8b ff             	mov    %rdi,%r15
180114de1:	48 f7 d8             	neg    %rax
180114de4:	49 23 c0             	and    %r8,%rax
180114de7:	4c 2b f8             	sub    %rax,%r15
180114dea:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
180114def:	4e 89 3c e8          	mov    %r15,(%rax,%r13,8)
180114df3:	4c 2b f9             	sub    %rcx,%r15
180114df6:	49 8b ce             	mov    %r14,%rcx
180114df9:	49 ff c5             	inc    %r13
180114dfc:	49 d3 ef             	shr    %cl,%r15
180114dff:	85 db                	test   %ebx,%ebx
180114e01:	0f 85 6f ff ff ff    	jne    0x180114d76
180114e07:	48 8b 7d b0          	mov    -0x50(%rbp),%rdi
180114e0b:	4c 8b 75 b8          	mov    -0x48(%rbp),%r14
180114e0f:	4c 8b 65 c0          	mov    -0x40(%rbp),%r12
180114e13:	85 db                	test   %ebx,%ebx
180114e15:	0f 84 f7 03 00 00    	je     0x180115212
180114e1b:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
180114e20:	48 8d 04 f0          	lea    (%rax,%rsi,8),%rax
180114e24:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
180114e28:	ba 05 00 00 00       	mov    $0x5,%edx
180114e2d:	49 83 ff 01          	cmp    $0x1,%r15
180114e31:	75 31                	jne    0x180114e64
180114e33:	48 85 f6             	test   %rsi,%rsi
180114e36:	74 2c                	je     0x180114e64
180114e38:	4c 39 00             	cmp    %r8,(%rax)
180114e3b:	72 14                	jb     0x180114e51
180114e3d:	48 ff ce             	dec    %rsi
180114e40:	4c 8b f9             	mov    %rcx,%r15
180114e43:	4c 2b 38             	sub    (%rax),%r15
180114e46:	48 83 e8 08          	sub    $0x8,%rax
180114e4a:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
180114e4f:	eb 0f                	jmp    0x180114e60
180114e51:	33 db                	xor    %ebx,%ebx
180114e53:	4d 85 f6             	test   %r14,%r14
180114e56:	0f 84 b6 03 00 00    	je     0x180115212
180114e5c:	41 89 56 10          	mov    %edx,0x10(%r14)
180114e60:	85 db                	test   %ebx,%ebx
180114e62:	75 c9                	jne    0x180114e2d
180114e64:	85 db                	test   %ebx,%ebx
180114e66:	0f 84 a6 03 00 00    	je     0x180115212
180114e6c:	48 85 f6             	test   %rsi,%rsi
180114e6f:	75 14                	jne    0x180114e85
180114e71:	33 db                	xor    %ebx,%ebx
180114e73:	4d 85 f6             	test   %r14,%r14
180114e76:	0f 84 96 03 00 00    	je     0x180115212
180114e7c:	41 89 56 10          	mov    %edx,0x10(%r14)
180114e80:	e9 8d 03 00 00       	jmp    0x180115212
180114e85:	48 8b 5d 80          	mov    -0x80(%rbp),%rbx
180114e89:	48 8d b7 80 00 00 00 	lea    0x80(%rdi),%rsi
180114e90:	4c 8b c3             	mov    %rbx,%r8
180114e93:	48 8b ce             	mov    %rsi,%rcx
180114e96:	33 d2                	xor    %edx,%edx
180114e98:	e8 e3 0d 02 00       	call   0x180135c80
180114e9d:	41 0f 10 04 24       	movups (%r12),%xmm0
180114ea2:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180114ea7:	4c 8b 7d d8          	mov    -0x28(%rbp),%r15
180114eab:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
180114eb0:	0f 11 07             	movups %xmm0,(%rdi)
180114eb3:	48 89 5d 88          	mov    %rbx,-0x78(%rbp)
180114eb7:	33 db                	xor    %ebx,%ebx
180114eb9:	41 0f 10 4c 24 10    	movups 0x10(%r12),%xmm1
180114ebf:	48 89 75 80          	mov    %rsi,-0x80(%rbp)
180114ec3:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180114ec8:	0f 11 4f 10          	movups %xmm1,0x10(%rdi)
180114ecc:	48 89 45 90          	mov    %rax,-0x70(%rbp)
180114ed0:	b8 01 00 00 00       	mov    $0x1,%eax
180114ed5:	41 0f 10 44 24 20    	movups 0x20(%r12),%xmm0
180114edb:	48 c7 45 98 10 00 00 	movq   $0x10,-0x68(%rbp)
180114ee2:	00
180114ee3:	0f 11 47 20          	movups %xmm0,0x20(%rdi)
180114ee7:	41 0f 10 4c 24 30    	movups 0x30(%r12),%xmm1
180114eed:	0f 11 4f 30          	movups %xmm1,0x30(%rdi)
180114ef1:	41 0f 10 44 24 40    	movups 0x40(%r12),%xmm0
180114ef7:	0f 11 47 40          	movups %xmm0,0x40(%rdi)
180114efb:	41 0f 10 4c 24 50    	movups 0x50(%r12),%xmm1
180114f01:	0f 11 4f 50          	movups %xmm1,0x50(%rdi)