140087ebd:	0f b7 16             	movzwl (%rsi),%edx
140087ec0:	e8 df 0e 01 00       	call   0x140098da4
140087ec5:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140087ec9:	74 08                	je     0x140087ed3
140087ecb:	eb d2                	jmp    0x140087e9f
140087ecd:	48 ff c8             	dec    %rax
140087ed0:	48 03 c3             	add    %rbx,%rax
140087ed3:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140087ed8:	48 33 cc             	xor    %rsp,%rcx
140087edb:	e8 f0 73 fe ff       	call   0x14006f2d0
140087ee0:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
140087ee7:	00
140087ee8:	48 83 c4 40          	add    $0x40,%rsp
140087eec:	41 5f                	pop    %r15
140087eee:	41 5e                	pop    %r14
140087ef0:	41 5d                	pop    %r13
140087ef2:	41 5c                	pop    %r12
140087ef4:	5f                   	pop    %rdi
140087ef5:	5e                   	pop    %rsi
140087ef6:	5d                   	pop    %rbp
140087ef7:	c3                   	ret
140087ef8:	40 55                	rex push %rbp
140087efa:	53                   	push   %rbx
140087efb:	57                   	push   %rdi
140087efc:	48 8d 6c 24 c1       	lea    -0x3f(%rsp),%rbp
140087f01:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140087f08:	48 8b 05 31 91 07 00 	mov    0x79131(%rip),%rax        # 0x140101040
140087f0f:	48 33 c4             	xor    %rsp,%rax
140087f12:	48 89 45 37          	mov    %rax,0x37(%rbp)
140087f16:	48 83 65 ef 00       	andq   $0x0,-0x11(%rbp)
140087f1b:	48 8b d9             	mov    %rcx,%rbx
140087f1e:	83 3d 8b 7e 08 00 00 	cmpl   $0x0,0x87e8b(%rip)        # 0x14010fdb0
140087f25:	48 8b 45 7f          	mov    0x7f(%rbp),%rax
140087f29:	c6 45 ff 00          	movb   $0x0,-0x1(%rbp)
140087f2d:	c6 45 17 00          	movb   $0x0,0x17(%rbp)
140087f31:	c6 45 1f 00          	movb   $0x0,0x1f(%rbp)
140087f35:	c6 45 27 00          	movb   $0x0,0x27(%rbp)
140087f39:	75 10                	jne    0x140087f4b
140087f3b:	0f 10 05 f6 9c 07 00 	movups 0x79cf6(%rip),%xmm0        # 0x140101c38
140087f42:	c6 45 17 01          	movb   $0x1,0x17(%rbp)
140087f46:	f3 0f 7f 45 07       	movdqu %xmm0,0x7(%rbp)
140087f4b:	48 85 d2             	test   %rdx,%rdx
140087f4e:	75 2c                	jne    0x140087f7c
140087f50:	4d 85 c0             	test   %r8,%r8
140087f53:	74 27                	je     0x140087f7c
140087f55:	48 8d 45 ef          	lea    -0x11(%rbp),%rax
140087f59:	c6 45 1f 01          	movb   $0x1,0x1f(%rbp)
140087f5d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140087f62:	8d 7a 16             	lea    0x16(%rdx),%edi
140087f65:	48 21 54 24 20       	and    %rdx,0x20(%rsp)
140087f6a:	45 33 c9             	xor    %r9d,%r9d
140087f6d:	45 33 c0             	xor    %r8d,%r8d
140087f70:	89 7d 1b             	mov    %edi,0x1b(%rbp)
140087f73:	33 c9                	xor    %ecx,%ecx
140087f75:	e8 36 6a 00 00       	call   0x14008e9b0
140087f7a:	eb 36                	jmp    0x140087fb2
140087f7c:	83 4d df ff          	orl    $0xffffffff,-0x21(%rbp)
140087f80:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
140087f84:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140087f89:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
140087f8d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140087f92:	48 85 d2             	test   %rdx,%rdx
140087f95:	75 08                	jne    0x140087f9f
140087f97:	44 8d 42 05          	lea    0x5(%rdx),%r8d
140087f9b:	48 8d 55 2f          	lea    0x2f(%rbp),%rdx
140087f9f:	e8 a0 00 00 00       	call   0x140088044
140087fa4:	8b f8                	mov    %eax,%edi
140087fa6:	48 85 db             	test   %rbx,%rbx
140087fa9:	74 07                	je     0x140087fb2
140087fab:	48 63 45 df          	movslq -0x21(%rbp),%rax
140087faf:	48 89 03             	mov    %rax,(%rbx)
140087fb2:	80 7d 17 02          	cmpb   $0x2,0x17(%rbp)
140087fb6:	75 0b                	jne    0x140087fc3
140087fb8:	48 8b 45 ef          	mov    -0x11(%rbp),%rax
140087fbc:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140087fc3:	80 7d 1f 00          	cmpb   $0x0,0x1f(%rbp)
140087fc7:	74 0f                	je     0x140087fd8
140087fc9:	8b 5d 1b             	mov    0x1b(%rbp),%ebx
140087fcc:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
140087fd0:	e8 3b a1 fe ff       	call   0x140072110
140087fd5:	89 58 20             	mov    %ebx,0x20(%rax)
140087fd8:	80 7d 27 00          	cmpb   $0x0,0x27(%rbp)
140087fdc:	74 0f                	je     0x140087fed
140087fde:	8b 5d 23             	mov    0x23(%rbp),%ebx
140087fe1:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
140087fe5:	e8 26 a1 fe ff       	call   0x140072110
140087fea:	89 58 24             	mov    %ebx,0x24(%rax)
140087fed:	8b c7                	mov    %edi,%eax
140087fef:	48 8b 4d 37          	mov    0x37(%rbp),%rcx
140087ff3:	48 33 cc             	xor    %rsp,%rcx
140087ff6:	e8 d5 72 fe ff       	call   0x14006f2d0
140087ffb:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
140088002:	5f                   	pop    %rdi
140088003:	5b                   	pop    %rbx
140088004:	5d                   	pop    %rbp
140088005:	c3                   	ret
140088006:	cc                   	int3
140088007:	cc                   	int3
140088008:	48 83 ec 38          	sub    $0x38,%rsp
14008800c:	48 83 4c 24 40 ff    	orq    $0xffffffffffffffff,0x40(%rsp)
140088012:	4d 8b c8             	mov    %r8,%r9
140088015:	48 8b c1             	mov    %rcx,%rax
140088018:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14008801d:	48 f7 d8             	neg    %rax
140088020:	44 0f b7 ca          	movzwl %dx,%r9d
140088024:	48 8b d1             	mov    %rcx,%rdx
140088027:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14008802c:	4d 1b c0             	sbb    %r8,%r8
14008802f:	41 83 e0 05          	and    $0x5,%r8d
140088033:	e8 c0 fe ff ff       	call   0x140087ef8
140088038:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14008803d:	48 83 c4 38          	add    $0x38,%rsp
140088041:	c3                   	ret
140088042:	cc                   	int3
140088043:	cc                   	int3
140088044:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140088049:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14008804e:	66 44 89 4c 24 20    	mov    %r9w,0x20(%rsp)
140088054:	56                   	push   %rsi
140088055:	57                   	push   %rdi
140088056:	41 56                	push   %r14
140088058:	48 83 ec 40          	sub    $0x40,%rsp
14008805c:	48 8b b4 24 88 00 00 	mov    0x88(%rsp),%rsi
140088063:	00
140088064:	33 db                	xor    %ebx,%ebx
140088066:	49 8b e8             	mov    %r8,%rbp
140088069:	4c 8b f2             	mov    %rdx,%r14
14008806c:	48 8b f9             	mov    %rcx,%rdi
14008806f:	38 5e 28             	cmp    %bl,0x28(%rsi)
140088072:	75 0e                	jne    0x140088082
140088074:	48 8b ce             	mov    %rsi,%rcx
140088077:	e8 04 a1 fe ff       	call   0x140072180
14008807c:	44 0f b7 4c 24 78    	movzwl 0x78(%rsp),%r9d
140088082:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140088089:	00
14008808a:	48 85 c0             	test   %rax,%rax
14008808d:	74 02                	je     0x140088091
14008808f:	89 18                	mov    %ebx,(%rax)
140088091:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
140088095:	81 79 0c e9 fd 00 00 	cmpl   $0xfde9,0xc(%rcx)
14008809c:	75 38                	jne    0x1400880d6
14008809e:	48 85 c0             	test   %rax,%rax
1400880a1:	41 0f b7 d1          	movzwl %r9w,%edx
1400880a5:	4c 8d 05 d4 7f 08 00 	lea    0x87fd4(%rip),%r8        # 0x140110080
1400880ac:	4c 8b ce             	mov    %rsi,%r9
1400880af:	4c 0f 45 c0          	cmovne %rax,%r8
1400880b3:	49 8b ce             	mov    %r14,%rcx
1400880b6:	e8 8d 0d 01 00       	call   0x140098e48
1400880bb:	48 85 ff             	test   %rdi,%rdi
1400880be:	74 02                	je     0x1400880c2
1400880c0:	89 07                	mov    %eax,(%rdi)
1400880c2:	83 f8 04             	cmp    $0x4,%eax
1400880c5:	7e 31                	jle    0x1400880f8
1400880c7:	38 5e 30             	cmp    %bl,0x30(%rsi)
1400880ca:	74 03                	je     0x1400880cf
1400880cc:	8b 5e 2c             	mov    0x2c(%rsi),%ebx
1400880cf:	8b c3                	mov    %ebx,%eax
1400880d1:	e9 87 00 00 00       	jmp    0x14008815d
1400880d6:	48 39 99 38 01 00 00 	cmp    %rbx,0x138(%rcx)
1400880dd:	75 1d                	jne    0x1400880fc
1400880df:	b8 ff 00 00 00       	mov    $0xff,%eax
1400880e4:	66 44 3b c8          	cmp    %ax,%r9w
1400880e8:	77 5f                	ja     0x140088149
1400880ea:	45 88 0e             	mov    %r9b,(%r14)
1400880ed:	48 85 ff             	test   %rdi,%rdi
1400880f0:	74 06                	je     0x1400880f8
1400880f2:	c7 07 01 00 00 00    	movl   $0x1,(%rdi)
1400880f8:	33 c0                	xor    %eax,%eax
1400880fa:	eb 61                	jmp    0x14008815d
1400880fc:	48 8d 84 24 88 00 00 	lea    0x88(%rsp),%rax
140088103:	00
140088104:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%rsp)
14008810b:	8b 49 0c             	mov    0xc(%rcx),%ecx
14008810e:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
140088113:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140088118:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14008811e:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140088123:	33 d2                	xor    %edx,%edx
140088125:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
140088129:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14008812e:	e8 b5 b9 00 00       	call   0x140093ae8
140088133:	85 c0                	test   %eax,%eax
140088135:	74 12                	je     0x140088149
140088137:	39 9c 24 88 00 00 00 	cmp    %ebx,0x88(%rsp)
14008813e:	75 09                	jne    0x140088149
140088140:	48 85 ff             	test   %rdi,%rdi
140088143:	74 b3                	je     0x1400880f8
140088145:	89 07                	mov    %eax,(%rdi)
140088147:	eb af                	jmp    0x1400880f8
140088149:	48 85 ff             	test   %rdi,%rdi
14008814c:	74 03                	je     0x140088151
14008814e:	83 0f ff             	orl    $0xffffffff,(%rdi)
140088151:	b8 2a 00 00 00       	mov    $0x2a,%eax
140088156:	89 46 2c             	mov    %eax,0x2c(%rsi)
140088159:	c6 46 30 01          	movb   $0x1,0x30(%rsi)
14008815d:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140088162:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140088167:	48 83 c4 40          	add    $0x40,%rsp
14008816b:	41 5e                	pop    %r14
14008816d:	5f                   	pop    %rdi
14008816e:	5e                   	pop    %rsi
14008816f:	c3                   	ret
140088170:	0f b7 02             	movzwl (%rdx),%eax
140088173:	44 0f b7 01          	movzwl (%rcx),%r8d
140088177:	44 2b c0             	sub    %eax,%r8d
14008817a:	75 19                	jne    0x140088195
14008817c:	48 2b ca             	sub    %rdx,%rcx
14008817f:	66 85 c0             	test   %ax,%ax
140088182:	74 11                	je     0x140088195
140088184:	48 83 c2 02          	add    $0x2,%rdx
140088188:	0f b7 02             	movzwl (%rdx),%eax
14008818b:	44 0f b7 04 11       	movzwl (%rcx,%rdx,1),%r8d
140088190:	44 2b c0             	sub    %eax,%r8d
140088193:	74 ea                	je     0x14008817f
140088195:	41 8b c0             	mov    %r8d,%eax
140088198:	41 c1 e8 1f          	shr    $0x1f,%r8d
14008819c:	f7 d8                	neg    %eax
14008819e:	c1 e8 1f             	shr    $0x1f,%eax
1400881a1:	41 2b c0             	sub    %r8d,%eax
1400881a4:	c3                   	ret
1400881a5:	cc                   	int3
1400881a6:	cc                   	int3
1400881a7:	cc                   	int3
1400881a8:	45 33 d2             	xor    %r10d,%r10d
1400881ab:	4c 8b c2             	mov    %rdx,%r8
1400881ae:	66 44 39 11          	cmp    %r10w,(%rcx)
1400881b2:	48 8b c1             	mov    %rcx,%rax
1400881b5:	74 29                	je     0x1400881e0
1400881b7:	4d 8b c8             	mov    %r8,%r9
1400881ba:	66 45 39 10          	cmp    %r10w,(%r8)
1400881be:	74 16                	je     0x1400881d6
1400881c0:	41 0f b7 10          	movzwl (%r8),%edx
1400881c4:	66 39 10             	cmp    %dx,(%rax)
1400881c7:	74 17                	je     0x1400881e0
1400881c9:	49 83 c1 02          	add    $0x2,%r9
1400881cd:	41 0f b7 11          	movzwl (%r9),%edx
1400881d1:	66 85 d2             	test   %dx,%dx
1400881d4:	75 ee                	jne    0x1400881c4
1400881d6:	48 83 c0 02          	add    $0x2,%rax
1400881da:	66 44 39 10          	cmp    %r10w,(%rax)
1400881de:	eb d5                	jmp    0x1400881b5
1400881e0:	48 2b c1             	sub    %rcx,%rax
1400881e3:	48 d1 f8             	sar    $1,%rax
1400881e6:	c3                   	ret
1400881e7:	cc                   	int3
1400881e8:	8b 05 22 8e 07 00    	mov    0x78e22(%rip),%eax        # 0x140101010
1400881ee:	4c 8b c1             	mov    %rcx,%r8
1400881f1:	48 8b d1             	mov    %rcx,%rdx
1400881f4:	83 f8 05             	cmp    $0x5,%eax
1400881f7:	0f 8c 82 00 00 00    	jl     0x14008827f
1400881fd:	41 f6 c0 01          	test   $0x1,%r8b
140088201:	74 11                	je     0x140088214
140088203:	33 c9                	xor    %ecx,%ecx
140088205:	66 39 0a             	cmp    %cx,(%rdx)
140088208:	0f 84 f9 00 00 00    	je     0x140088307
14008820e:	48 83 c2 02          	add    $0x2,%rdx
140088212:	eb f1                	jmp    0x140088205
140088214:	83 e1 1f             	and    $0x1f,%ecx
140088217:	b8 20 00 00 00       	mov    $0x20,%eax
14008821c:	48 2b c1             	sub    %rcx,%rax
14008821f:	48 f7 d9             	neg    %rcx
140088222:	4d 1b c9             	sbb    %r9,%r9
140088225:	33 c9                	xor    %ecx,%ecx
140088227:	4c 23 c8             	and    %rax,%r9
14008822a:	49 d1 e9             	shr    $1,%r9
14008822d:	4b 8d 04 48          	lea    (%r8,%r9,2),%rax
140088231:	4c 3b c0             	cmp    %rax,%r8
140088234:	74 0e                	je     0x140088244
140088236:	66 39 0a             	cmp    %cx,(%rdx)
140088239:	74 09                	je     0x140088244
14008823b:	48 83 c2 02          	add    $0x2,%rdx
14008823f:	48 3b d0             	cmp    %rax,%rdx
140088242:	75 f2                	jne    0x140088236
140088244:	49 2b d0             	sub    %r8,%rdx
140088247:	48 d1 fa             	sar    $1,%rdx
14008824a:	49 3b d1             	cmp    %r9,%rdx
14008824d:	0f 85 ba 00 00 00    	jne    0x14008830d
140088253:	49 8d 14 50          	lea    (%r8,%rdx,2),%rdx
140088257:	c5 e9 ef d2          	vpxor  %xmm2,%xmm2,%xmm2
14008825b:	c5 ed 75 0a          	vpcmpeqw (%rdx),%ymm2,%ymm1
14008825f:	c5 fd d7 c1          	vpmovmskb %ymm1,%eax
140088263:	85 c0                	test   %eax,%eax
140088265:	75 06                	jne    0x14008826d
140088267:	48 83 c2 20          	add    $0x20,%rdx
14008826b:	eb ee                	jmp    0x14008825b
14008826d:	c5 f8 77             	vzeroupper
140088270:	66 39 0a             	cmp    %cx,(%rdx)
140088273:	0f 84 8e 00 00 00    	je     0x140088307
140088279:	48 83 c2 02          	add    $0x2,%rdx
14008827d:	eb f1                	jmp    0x140088270
14008827f:	83 f8 01             	cmp    $0x1,%eax
140088282:	7c 76                	jl     0x1400882fa
140088284:	41 f6 c0 01          	test   $0x1,%r8b
140088288:	74 0d                	je     0x140088297
14008828a:	33 c9                	xor    %ecx,%ecx
14008828c:	66 39 0a             	cmp    %cx,(%rdx)
14008828f:	74 76                	je     0x140088307
140088291:	48 83 c2 02          	add    $0x2,%rdx
140088295:	eb f5                	jmp    0x14008828c
140088297:	83 e1 0f             	and    $0xf,%ecx
14008829a:	b8 10 00 00 00       	mov    $0x10,%eax
14008829f:	48 2b c1             	sub    %rcx,%rax
1400882a2:	48 f7 d9             	neg    %rcx
1400882a5:	4d 1b c9             	sbb    %r9,%r9
1400882a8:	33 c9                	xor    %ecx,%ecx
1400882aa:	4c 23 c8             	and    %rax,%r9
1400882ad:	49 d1 e9             	shr    $1,%r9
1400882b0:	4b 8d 04 48          	lea    (%r8,%r9,2),%rax
1400882b4:	4c 3b c0             	cmp    %rax,%r8
1400882b7:	74 0e                	je     0x1400882c7
1400882b9:	66 39 0a             	cmp    %cx,(%rdx)
1400882bc:	74 09                	je     0x1400882c7
1400882be:	48 83 c2 02          	add    $0x2,%rdx
1400882c2:	48 3b d0             	cmp    %rax,%rdx
1400882c5:	75 f2                	jne    0x1400882b9
1400882c7:	49 2b d0             	sub    %r8,%rdx
1400882ca:	48 d1 fa             	sar    $1,%rdx
1400882cd:	49 3b d1             	cmp    %r9,%rdx
1400882d0:	75 3b                	jne    0x14008830d
1400882d2:	49 8d 14 50          	lea    (%r8,%rdx,2),%rdx
1400882d6:	0f 57 c9             	xorps  %xmm1,%xmm1
1400882d9:	66 0f 6f c1          	movdqa %xmm1,%xmm0
1400882dd:	66 0f 75 02          	pcmpeqw (%rdx),%xmm0
1400882e1:	66 0f d7 c0          	pmovmskb %xmm0,%eax
1400882e5:	85 c0                	test   %eax,%eax
1400882e7:	75 06                	jne    0x1400882ef
1400882e9:	48 83 c2 10          	add    $0x10,%rdx
1400882ed:	eb ea                	jmp    0x1400882d9
1400882ef:	66 39 0a             	cmp    %cx,(%rdx)
1400882f2:	74 13                	je     0x140088307
1400882f4:	48 83 c2 02          	add    $0x2,%rdx
1400882f8:	eb f5                	jmp    0x1400882ef
1400882fa:	33 c9                	xor    %ecx,%ecx
1400882fc:	66 39 0a             	cmp    %cx,(%rdx)
1400882ff:	74 06                	je     0x140088307
140088301:	48 83 c2 02          	add    $0x2,%rdx
140088305:	eb f5                	jmp    0x1400882fc
140088307:	49 2b d0             	sub    %r8,%rdx
14008830a:	48 d1 fa             	sar    $1,%rdx
14008830d:	48 8b c2             	mov    %rdx,%rax
140088310:	c3                   	ret
140088311:	cc                   	int3
140088312:	cc                   	int3
140088313:	cc                   	int3
140088314:	8b 05 f6 8c 07 00    	mov    0x78cf6(%rip),%eax        # 0x140101010
14008831a:	4c 8b d2             	mov    %rdx,%r10
14008831d:	4c 8b c1             	mov    %rcx,%r8
140088320:	83 f8 05             	cmp    $0x5,%eax
140088323:	0f 8c cc 00 00 00    	jl     0x1400883f5
140088329:	41 f6 c0 01          	test   $0x1,%r8b