14001ab52:	48 c1 e9 0a          	shr    $0xa,%rcx
14001ab56:	49 b8 0f 00 0f 00 0f 	movabs $0xf000f000f000f,%r8
14001ab5d:	00 0f 00
14001ab60:	49 21 c8             	and    %rcx,%r8
14001ab63:	48 b9 f6 ff ff ff ff 	movabs $0xfffffffffffff6,%rcx
14001ab6a:	ff ff 00
14001ab6d:	49 0f af c8          	imul   %r8,%rcx
14001ab71:	48 01 d1             	add    %rdx,%rcx
14001ab74:	48 c1 e1 08          	shl    $0x8,%rcx
14001ab78:	4c 01 c1             	add    %r8,%rcx
14001ab7b:	f3 48 0f bc d1       	tzcnt  %rcx,%rdx
14001ab80:	49 b8 30 30 30 30 30 	movabs $0x3030303030303030,%r8
14001ab87:	30 30 30
14001ab8a:	49 01 c8             	add    %rcx,%r8
14001ab8d:	89 d1                	mov    %edx,%ecx
14001ab8f:	80 e1 38             	and    $0x38,%cl
14001ab92:	49 d3 e8             	shr    %cl,%r8
14001ab95:	4c 89 00             	mov    %r8,(%rax)
14001ab98:	c1 ea 03             	shr    $0x3,%edx
14001ab9b:	48 29 d0             	sub    %rdx,%rax
14001ab9e:	48 83 c0 08          	add    $0x8,%rax
14001aba2:	c6 00 00             	movb   $0x0,(%rax)
14001aba5:	c3                   	ret
14001aba6:	80 c9 30             	or     $0x30,%cl
14001aba9:	88 08                	mov    %cl,(%rax)
14001abab:	48 ff c0             	inc    %rax
14001abae:	eb f2                	jmp    0x14001aba2
14001abb0:	48 69 d2 89 3b e6 55 	imul   $0x55e63b89,%rdx,%rdx
14001abb7:	48 c1 ea 39          	shr    $0x39,%rdx
14001abbb:	44 69 c2 00 e1 f5 05 	imul   $0x5f5e100,%edx,%r8d
14001abc2:	44 29 c1             	sub    %r8d,%ecx
14001abc5:	4c 69 c1 bb b8 8d 06 	imul   $0x68db8bb,%rcx,%r8
14001abcc:	49 c1 e8 28          	shr    $0x28,%r8
14001abd0:	45 69 c8 10 27 00 00 	imul   $0x2710,%r8d,%r9d
14001abd7:	44 29 c9             	sub    %r9d,%ecx
14001abda:	48 c1 e1 20          	shl    $0x20,%rcx
14001abde:	4c 09 c1             	or     %r8,%rcx
14001abe1:	4c 69 c1 f6 28 00 00 	imul   $0x28f6,%rcx,%r8
14001abe8:	49 c1 e8 14          	shr    $0x14,%r8
14001abec:	49 b9 7f 00 00 00 7f 	movabs $0x7f0000007f,%r9
14001abf3:	00 00 00
14001abf6:	4d 21 c1             	and    %r8,%r9
14001abf9:	4d 6b d1 9c          	imul   $0xffffffffffffff9c,%r9,%r10
14001abfd:	49 01 ca             	add    %rcx,%r10
14001ac00:	49 c1 e2 10          	shl    $0x10,%r10
14001ac04:	4d 01 ca             	add    %r9,%r10
14001ac07:	49 6b ca 67          	imul   $0x67,%r10,%rcx
14001ac0b:	48 c1 e9 0a          	shr    $0xa,%rcx
14001ac0f:	49 bb 0f 00 0f 00 0f 	movabs $0xf000f000f000f,%r11
14001ac16:	00 0f 00
14001ac19:	49 21 cb             	and    %rcx,%r11
14001ac1c:	49 b8 f6 ff ff ff ff 	movabs $0xfffffffffffff6,%r8
14001ac23:	ff ff 00
14001ac26:	4d 0f af c3          	imul   %r11,%r8
14001ac2a:	4d 01 d0             	add    %r10,%r8
14001ac2d:	49 b9 30 30 30 30 30 	movabs $0x3030303030303030,%r9
14001ac34:	30 30 30
14001ac37:	4d 09 d9             	or     %r11,%r9
14001ac3a:	8d 4a f6             	lea    -0xa(%rdx),%ecx
14001ac3d:	44 6b d2 67          	imul   $0x67,%edx,%r10d
14001ac41:	41 c1 ea 0a          	shr    $0xa,%r10d
14001ac45:	47 8d 1c 12          	lea    (%r10,%r10,1),%r11d
14001ac49:	47 8d 1c 9b          	lea    (%r11,%r11,4),%r11d
14001ac4d:	44 29 da             	sub    %r11d,%edx
14001ac50:	49 c1 e0 08          	shl    $0x8,%r8
14001ac54:	c1 f9 08             	sar    $0x8,%ecx
14001ac57:	c1 e2 08             	shl    $0x8,%edx
14001ac5a:	44 01 d2             	add    %r10d,%edx
14001ac5d:	81 c2 30 30 00 00    	add    $0x3030,%edx
14001ac63:	4c 63 d1             	movslq %ecx,%r10
14001ac66:	80 e1 08             	and    $0x8,%cl
14001ac69:	d3 ea                	shr    %cl,%edx
14001ac6b:	4d 01 c1             	add    %r8,%r9
14001ac6e:	66 89 10             	mov    %dx,(%rax)
14001ac71:	4c 01 d0             	add    %r10,%rax
14001ac74:	48 83 c0 0a          	add    $0xa,%rax
14001ac78:	4c 89 48 f8          	mov    %r9,-0x8(%rax)
14001ac7c:	e9 21 ff ff ff       	jmp    0x14001aba2
14001ac81:	cc                   	int3
14001ac82:	cc                   	int3
14001ac83:	cc                   	int3
14001ac84:	cc                   	int3
14001ac85:	cc                   	int3
14001ac86:	cc                   	int3
14001ac87:	cc                   	int3
14001ac88:	cc                   	int3
14001ac89:	cc                   	int3
14001ac8a:	cc                   	int3
14001ac8b:	cc                   	int3
14001ac8c:	cc                   	int3
14001ac8d:	cc                   	int3
14001ac8e:	cc                   	int3
14001ac8f:	cc                   	int3
14001ac90:	48 89 d0             	mov    %rdx,%rax
14001ac93:	85 c9                	test   %ecx,%ecx
14001ac95:	0f 88 bc 00 00 00    	js     0x14001ad57
14001ac9b:	83 f9 09             	cmp    $0x9,%ecx
14001ac9e:	77 0c                	ja     0x14001acac
14001aca0:	80 c9 30             	or     $0x30,%cl
14001aca3:	88 08                	mov    %cl,(%rax)
14001aca5:	48 ff c0             	inc    %rax
14001aca8:	c6 00 00             	movb   $0x0,(%rax)
14001acab:	c3                   	ret
14001acac:	89 ca                	mov    %ecx,%edx
14001acae:	81 f9 ff e0 f5 05    	cmp    $0x5f5e0ff,%ecx
14001acb4:	0f 87 aa 00 00 00    	ja     0x14001ad64
14001acba:	41 b8 59 17 b7 d1    	mov    $0xd1b71759,%r8d
14001acc0:	4c 0f af c2          	imul   %rdx,%r8
14001acc4:	49 c1 e8 2d          	shr    $0x2d,%r8
14001acc8:	41 69 d0 10 27 00 00 	imul   $0x2710,%r8d,%edx
14001accf:	29 d1                	sub    %edx,%ecx
14001acd1:	48 c1 e1 20          	shl    $0x20,%rcx
14001acd5:	4c 09 c1             	or     %r8,%rcx
14001acd8:	48 69 d1 f6 28 00 00 	imul   $0x28f6,%rcx,%rdx
14001acdf:	48 c1 ea 14          	shr    $0x14,%rdx
14001ace3:	49 b8 7f 00 00 00 7f 	movabs $0x7f0000007f,%r8
14001acea:	00 00 00
14001aced:	49 21 d0             	and    %rdx,%r8
14001acf0:	49 6b d0 9c          	imul   $0xffffffffffffff9c,%r8,%rdx
14001acf4:	48 01 ca             	add    %rcx,%rdx
14001acf7:	48 c1 e2 10          	shl    $0x10,%rdx
14001acfb:	4c 01 c2             	add    %r8,%rdx
14001acfe:	48 6b ca 67          	imul   $0x67,%rdx,%rcx
14001ad02:	48 c1 e9 0a          	shr    $0xa,%rcx
14001ad06:	49 b8 0f 00 0f 00 0f 	movabs $0xf000f000f000f,%r8
14001ad0d:	00 0f 00
14001ad10:	49 21 c8             	and    %rcx,%r8
14001ad13:	48 b9 f6 ff ff ff ff 	movabs $0xfffffffffffff6,%rcx
14001ad1a:	ff ff 00
14001ad1d:	49 0f af c8          	imul   %r8,%rcx
14001ad21:	48 01 d1             	add    %rdx,%rcx
14001ad24:	48 c1 e1 08          	shl    $0x8,%rcx
14001ad28:	4c 01 c1             	add    %r8,%rcx
14001ad2b:	f3 48 0f bc d1       	tzcnt  %rcx,%rdx
14001ad30:	49 b8 30 30 30 30 30 	movabs $0x3030303030303030,%r8
14001ad37:	30 30 30
14001ad3a:	49 01 c8             	add    %rcx,%r8
14001ad3d:	89 d1                	mov    %edx,%ecx
14001ad3f:	80 e1 38             	and    $0x38,%cl
14001ad42:	49 d3 e8             	shr    %cl,%r8
14001ad45:	4c 89 00             	mov    %r8,(%rax)
14001ad48:	c1 ea 03             	shr    $0x3,%edx
14001ad4b:	48 29 d0             	sub    %rdx,%rax
14001ad4e:	48 83 c0 08          	add    $0x8,%rax
14001ad52:	e9 51 ff ff ff       	jmp    0x14001aca8
14001ad57:	c6 00 2d             	movb   $0x2d,(%rax)
14001ad5a:	48 ff c0             	inc    %rax
14001ad5d:	f7 d9                	neg    %ecx
14001ad5f:	e9 37 ff ff ff       	jmp    0x14001ac9b
14001ad64:	48 69 d2 89 3b e6 55 	imul   $0x55e63b89,%rdx,%rdx
14001ad6b:	48 c1 ea 39          	shr    $0x39,%rdx
14001ad6f:	44 69 c2 00 e1 f5 05 	imul   $0x5f5e100,%edx,%r8d
14001ad76:	44 29 c1             	sub    %r8d,%ecx
14001ad79:	4c 69 c1 bb b8 8d 06 	imul   $0x68db8bb,%rcx,%r8
14001ad80:	49 c1 e8 28          	shr    $0x28,%r8
14001ad84:	45 69 c8 10 27 00 00 	imul   $0x2710,%r8d,%r9d
14001ad8b:	44 29 c9             	sub    %r9d,%ecx
14001ad8e:	48 c1 e1 20          	shl    $0x20,%rcx
14001ad92:	4c 09 c1             	or     %r8,%rcx
14001ad95:	4c 69 c1 f6 28 00 00 	imul   $0x28f6,%rcx,%r8
14001ad9c:	49 c1 e8 14          	shr    $0x14,%r8
14001ada0:	49 b9 7f 00 00 00 7f 	movabs $0x7f0000007f,%r9
14001ada7:	00 00 00
14001adaa:	4d 21 c1             	and    %r8,%r9
14001adad:	4d 6b d1 9c          	imul   $0xffffffffffffff9c,%r9,%r10
14001adb1:	49 01 ca             	add    %rcx,%r10
14001adb4:	49 c1 e2 10          	shl    $0x10,%r10
14001adb8:	4d 01 ca             	add    %r9,%r10
14001adbb:	49 6b ca 67          	imul   $0x67,%r10,%rcx
14001adbf:	48 c1 e9 0a          	shr    $0xa,%rcx
14001adc3:	49 bb 0f 00 0f 00 0f 	movabs $0xf000f000f000f,%r11
14001adca:	00 0f 00
14001adcd:	49 21 cb             	and    %rcx,%r11
14001add0:	49 b8 f6 ff ff ff ff 	movabs $0xfffffffffffff6,%r8
14001add7:	ff ff 00
14001adda:	4d 0f af c3          	imul   %r11,%r8
14001adde:	4d 01 d0             	add    %r10,%r8
14001ade1:	49 b9 30 30 30 30 30 	movabs $0x3030303030303030,%r9
14001ade8:	30 30 30
14001adeb:	4d 09 d9             	or     %r11,%r9
14001adee:	8d 4a f6             	lea    -0xa(%rdx),%ecx
14001adf1:	44 6b d2 67          	imul   $0x67,%edx,%r10d
14001adf5:	41 c1 ea 0a          	shr    $0xa,%r10d
14001adf9:	47 8d 1c 12          	lea    (%r10,%r10,1),%r11d
14001adfd:	47 8d 1c 9b          	lea    (%r11,%r11,4),%r11d
14001ae01:	44 29 da             	sub    %r11d,%edx
14001ae04:	49 c1 e0 08          	shl    $0x8,%r8
14001ae08:	c1 f9 08             	sar    $0x8,%ecx
14001ae0b:	c1 e2 08             	shl    $0x8,%edx
14001ae0e:	44 01 d2             	add    %r10d,%edx
14001ae11:	81 c2 30 30 00 00    	add    $0x3030,%edx
14001ae17:	4c 63 d1             	movslq %ecx,%r10
14001ae1a:	80 e1 08             	and    $0x8,%cl
14001ae1d:	d3 ea                	shr    %cl,%edx
14001ae1f:	4d 01 c1             	add    %r8,%r9
14001ae22:	66 89 10             	mov    %dx,(%rax)
14001ae25:	4c 01 d0             	add    %r10,%rax
14001ae28:	48 83 c0 0a          	add    $0xa,%rax
14001ae2c:	4c 89 48 f8          	mov    %r9,-0x8(%rax)
14001ae30:	e9 73 fe ff ff       	jmp    0x14001aca8
14001ae35:	cc                   	int3
14001ae36:	cc                   	int3
14001ae37:	cc                   	int3
14001ae38:	cc                   	int3
14001ae39:	cc                   	int3
14001ae3a:	cc                   	int3
14001ae3b:	cc                   	int3
14001ae3c:	cc                   	int3
14001ae3d:	cc                   	int3
14001ae3e:	cc                   	int3
14001ae3f:	cc                   	int3
14001ae40:	41 56                	push   %r14
14001ae42:	56                   	push   %rsi
14001ae43:	57                   	push   %rdi
14001ae44:	53                   	push   %rbx
14001ae45:	48 83 ec 28          	sub    $0x28,%rsp
14001ae49:	48 89 ce             	mov    %rcx,%rsi
14001ae4c:	85 d2                	test   %edx,%edx
14001ae4e:	0f 84 be 00 00 00    	je     0x14001af12
14001ae54:	48 8d 05 4d 80 0c 00 	lea    0xc804d(%rip),%rax        # 0x1400e2ea8
14001ae5b:	48 89 06             	mov    %rax,(%rsi)
14001ae5e:	48 c7 86 a0 00 00 00 	movq   $0x0,0xa0(%rsi)
14001ae65:	00 00 00 00
14001ae69:	48 8d 0d b8 6b 0c 00 	lea    0xc6bb8(%rip),%rcx        # 0x1400e1a28
14001ae70:	48 89 4e 70          	mov    %rcx,0x70(%rsi)
14001ae74:	48 63 40 04          	movslq 0x4(%rax),%rax
14001ae78:	48 8d 1d 01 6b 0c 00 	lea    0xc6b01(%rip),%rbx        # 0x1400e1980
14001ae7f:	48 89 1c 06          	mov    %rbx,(%rsi,%rax,1)
14001ae83:	48 8d 7e 08          	lea    0x8(%rsi),%rdi
14001ae87:	48 8b 06             	mov    (%rsi),%rax
14001ae8a:	48 63 40 04          	movslq 0x4(%rax),%rax
14001ae8e:	48 8d 0d a3 6b 0c 00 	lea    0xc6ba3(%rip),%rcx        # 0x1400e1a38
14001ae95:	48 89 0c 06          	mov    %rcx,(%rsi,%rax,1)
14001ae99:	48 8b 06             	mov    (%rsi),%rax
14001ae9c:	4c 63 70 04          	movslq 0x4(%rax),%r14
14001aea0:	4a 8d 0c 36          	lea    (%rsi,%r14,1),%rcx
14001aea4:	48 89 fa             	mov    %rdi,%rdx
14001aea7:	e8 04 fa 03 00       	call   0x14005a8b0
14001aeac:	4a c7 84 36 88 00 00 	movq   $0x0,0x88(%rsi,%r14,1)
14001aeb3:	00 00 00 00 00
14001aeb8:	42 c6 84 36 94 00 00 	movb   $0x0,0x94(%rsi,%r14,1)
14001aebf:	00 00
14001aec1:	42 c7 84 36 90 00 00 	movl   $0xffffffff,0x90(%rsi,%r14,1)
14001aec8:	00 ff ff ff ff
14001aecd:	48 8b 06             	mov    (%rsi),%rax
14001aed0:	48 63 40 04          	movslq 0x4(%rax),%rax
14001aed4:	48 89 1c 06          	mov    %rbx,(%rsi,%rax,1)
14001aed8:	48 89 f9             	mov    %rdi,%rcx
14001aedb:	e8 f0 63 03 00       	call   0x1400512d0
14001aee0:	48 8d 05 d9 6a 0c 00 	lea    0xc6ad9(%rip),%rax        # 0x1400e19c0
14001aee7:	48 89 46 08          	mov    %rax,0x8(%rsi)
14001aeeb:	0f 57 c0             	xorps  %xmm0,%xmm0
14001aeee:	0f 11 46 48          	movups %xmm0,0x48(%rsi)
14001aef2:	0f 11 46 58          	movups %xmm0,0x58(%rsi)
14001aef6:	c7 46 68 10 00 00 00 	movl   $0x10,0x68(%rsi)
14001aefd:	48 89 f9             	mov    %rdi,%rcx
14001af00:	e8 1b 6a 03 00       	call   0x140051920
14001af05:	48 89 f0             	mov    %rsi,%rax
14001af08:	48 83 c4 28          	add    $0x28,%rsp
14001af0c:	5b                   	pop    %rbx
14001af0d:	5f                   	pop    %rdi
14001af0e:	5e                   	pop    %rsi
14001af0f:	41 5e                	pop    %r14
14001af11:	c3                   	ret
14001af12:	48 8b 06             	mov    (%rsi),%rax
14001af15:	e9 5a ff ff ff       	jmp    0x14001ae74
14001af1a:	cc                   	int3
14001af1b:	cc                   	int3
14001af1c:	cc                   	int3
14001af1d:	cc                   	int3
14001af1e:	cc                   	int3
14001af1f:	cc                   	int3
14001af20:	48 8b 41 30          	mov    0x30(%rcx),%rax
14001af24:	48 8b 51 58          	mov    0x58(%rcx),%rdx
14001af28:	48 39 c2             	cmp    %rax,%rdx
14001af2b:	72 42                	jb     0x14001af6f
14001af2d:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14001af32:	f6 41 60 08          	testb  $0x8,0x60(%rcx)
14001af36:	74 12                	je     0x14001af4a
14001af38:	4c 8b 41 18          	mov    0x18(%rcx),%r8
14001af3c:	4c 8b 49 20          	mov    0x20(%rcx),%r9
14001af40:	49 39 d1             	cmp    %rdx,%r9
14001af43:	72 0c                	jb     0x14001af51
14001af45:	4d 39 c8             	cmp    %r9,%r8
14001af48:	72 01                	jb     0x14001af4b
14001af4a:	c3                   	ret
14001af4b:	41 0f b6 00          	movzbl (%r8),%eax
14001af4f:	eb f9                	jmp    0x14001af4a
14001af51:	4c 8b 49 10          	mov    0x10(%rcx),%r9
14001af55:	4d 39 c8             	cmp    %r9,%r8
14001af58:	72 13                	jb     0x14001af6d
14001af5a:	4c 39 ca             	cmp    %r9,%rdx
14001af5d:	72 0e                	jb     0x14001af6d
14001af5f:	4c 39 c2             	cmp    %r8,%rdx
14001af62:	72 09                	jb     0x14001af6d
14001af64:	48 89 51 20          	mov    %rdx,0x20(%rcx)
14001af68:	49 89 d1             	mov    %rdx,%r9
14001af6b:	eb d8                	jmp    0x14001af45
14001af6d:	0f 0b                	ud2
14001af6f:	48 89 41 58          	mov    %rax,0x58(%rcx)
14001af73:	48 89 c2             	mov    %rax,%rdx
14001af76:	eb b5                	jmp    0x14001af2d
14001af78:	cc                   	int3
14001af79:	cc                   	int3
14001af7a:	cc                   	int3
14001af7b:	cc                   	int3
14001af7c:	cc                   	int3
14001af7d:	cc                   	int3
14001af7e:	cc                   	int3
14001af7f:	cc                   	int3
14001af80:	41 57                	push   %r15
14001af82:	41 56                	push   %r14
14001af84:	41 55                	push   %r13
14001af86:	41 54                	push   %r12
14001af88:	56                   	push   %rsi
14001af89:	57                   	push   %rdi
14001af8a:	55                   	push   %rbp
14001af8b:	53                   	push   %rbx
14001af8c:	48 83 ec 48          	sub    $0x48,%rsp
14001af90:	83 fa ff             	cmp    $0xffffffff,%edx
14001af93:	0f 84 02 02 00 00    	je     0x14001b19b
14001af99:	41 89 d5             	mov    %edx,%r13d
14001af9c:	48 89 ce             	mov    %rcx,%rsi
14001af9f:	48 8b 41 18          	mov    0x18(%rcx),%rax
14001afa3:	4c 8b 61 30          	mov    0x30(%rcx),%r12
14001afa7:	48 2b 41 10          	sub    0x10(%rcx),%rax
14001afab:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14001afb0:	48 8b 41 38          	mov    0x38(%rcx),%rax
14001afb4:	49 39 c4             	cmp    %rax,%r12
14001afb7:	0f 85 e5 01 00 00    	jne    0x14001b1a2
14001afbd:	f6 46 60 10          	testb  $0x10,0x60(%rsi)
14001afc1:	0f 84 e4 01 00 00    	je     0x14001b1ab
14001afc7:	49 be f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%r14
14001afce:	ff ff 7f
14001afd1:	48 8b 7e 28          	mov    0x28(%rsi),%rdi
14001afd5:	48 8b 6e 58          	mov    0x58(%rsi),%rbp
14001afd9:	48 8d 5e 40          	lea    0x40(%rsi),%rbx
14001afdd:	4c 0f be 7e 57       	movsbq 0x57(%rsi),%r15
14001afe2:	4d 85 ff             	test   %r15,%r15
14001afe5:	44 89 6c 24 2c       	mov    %r13d,0x2c(%rsp)
14001afea:	0f 88 bc 00 00 00    	js     0x14001b0ac
14001aff0:	41 80 ff 16          	cmp    $0x16,%r15b
14001aff4:	0f 84 fe 00 00 00    	je     0x14001b0f8
14001affa:	41 8d 47 01          	lea    0x1(%r15),%eax
14001affe:	24 7f                	and    $0x7f,%al
14001b000:	88 46 57             	mov    %al,0x57(%rsi)
14001b003:	49 89 dd             	mov    %rbx,%r13
14001b006:	66 43 c7 44 3d 00 00 	movw   $0x0,0x0(%r13,%r15,1)
14001b00d:	00
14001b00e:	80 7e 57 00          	cmpb   $0x0,0x57(%rsi)