1400980f9:	66 41 3b d0          	cmp    %r8w,%dx
1400980fd:	75 16                	jne    0x140098115
1400980ff:	f7 c1 ff ff 07 00    	test   $0x7ffff,%ecx
140098105:	75 08                	jne    0x14009810f
140098107:	f7 d8                	neg    %eax
140098109:	1b c0                	sbb    %eax,%eax
14009810b:	83 e0 04             	and    $0x4,%eax
14009810e:	c3                   	ret
14009810f:	b8 04 00 00 00       	mov    $0x4,%eax
140098114:	c3                   	ret
140098115:	33 c0                	xor    %eax,%eax
140098117:	c3                   	ret
140098118:	0f 28 c8             	movaps %xmm0,%xmm1
14009811b:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
140098121:	0f 57 c0             	xorps  %xmm0,%xmm0
140098124:	4c 8b d2             	mov    %rdx,%r10
140098127:	66 0f 2e c8          	ucomisd %xmm0,%xmm1
14009812b:	7a 09                	jp     0x140098136
14009812d:	75 07                	jne    0x140098136
14009812f:	33 c9                	xor    %ecx,%ecx
140098131:	e9 0c 01 00 00       	jmp    0x140098242
140098136:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
14009813b:	b9 f0 7f 00 00       	mov    $0x7ff0,%ecx
140098140:	4c 8b c0             	mov    %rax,%r8
140098143:	49 c1 e8 30          	shr    $0x30,%r8
140098147:	66 44 85 c1          	test   %r8w,%cx
14009814b:	0f 85 ad 00 00 00    	jne    0x1400981fe
140098151:	8b 54 24 08          	mov    0x8(%rsp),%edx
140098155:	48 c1 e8 20          	shr    $0x20,%rax
140098159:	a9 ff ff 0f 00       	test   $0xfffff,%eax
14009815e:	75 08                	jne    0x140098168
140098160:	85 d2                	test   %edx,%edx
140098162:	0f 84 96 00 00 00    	je     0x1400981fe
140098168:	45 33 c9             	xor    %r9d,%r9d
14009816b:	b9 03 fc ff ff       	mov    $0xfffffc03,%ecx
140098170:	66 0f 2f c1          	comisd %xmm1,%xmm0
140098174:	41 0f 97 c1          	seta   %r9b
140098178:	41 f6 c0 10          	test   $0x10,%r8b
14009817c:	75 24                	jne    0x1400981a2
14009817e:	8b 44 24 0c          	mov    0xc(%rsp),%eax
140098182:	03 c0                	add    %eax,%eax
140098184:	89 44 24 0c          	mov    %eax,0xc(%rsp)
140098188:	85 d2                	test   %edx,%edx
14009818a:	79 07                	jns    0x140098193
14009818c:	83 c8 01             	or     $0x1,%eax
14009818f:	89 44 24 0c          	mov    %eax,0xc(%rsp)
140098193:	03 d2                	add    %edx,%edx
140098195:	ff c9                	dec    %ecx
140098197:	f6 44 24 0e 10       	testb  $0x10,0xe(%rsp)
14009819c:	74 e4                	je     0x140098182
14009819e:	89 54 24 08          	mov    %edx,0x8(%rsp)
1400981a2:	0f b7 44 24 0e       	movzwl 0xe(%rsp),%eax
1400981a7:	ba ef ff 00 00       	mov    $0xffef,%edx
1400981ac:	66 23 c2             	and    %dx,%ax
1400981af:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
1400981b4:	45 85 c9             	test   %r9d,%r9d
1400981b7:	74 0d                	je     0x1400981c6
1400981b9:	ba 00 80 00 00       	mov    $0x8000,%edx
1400981be:	66 0b c2             	or     %dx,%ax
1400981c1:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
1400981c6:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
1400981cc:	ba ef bf 00 00       	mov    $0xbfef,%edx
1400981d1:	f2 0f 11 44 24 10    	movsd  %xmm0,0x10(%rsp)
1400981d7:	48 8b 44 24 10       	mov    0x10(%rsp),%rax
1400981dc:	48 c1 e8 30          	shr    $0x30,%rax
1400981e0:	66 23 c2             	and    %dx,%ax
1400981e3:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
1400981e9:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
1400981ee:	66 0b c2             	or     %dx,%ax
1400981f1:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
1400981f6:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
1400981fc:	eb 44                	jmp    0x140098242
1400981fe:	0f b7 4c 24 0e       	movzwl 0xe(%rsp),%ecx
140098203:	ba ef bf 00 00       	mov    $0xbfef,%edx
140098208:	c1 e9 04             	shr    $0x4,%ecx
14009820b:	f2 0f 11 4c 24 10    	movsd  %xmm1,0x10(%rsp)
140098211:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
140098217:	f2 0f 11 4c 24 18    	movsd  %xmm1,0x18(%rsp)
14009821d:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
140098222:	48 c1 e8 30          	shr    $0x30,%rax
140098226:	66 23 c2             	and    %dx,%ax
140098229:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
14009822e:	66 0b c2             	or     %dx,%ax
140098231:	66 89 44 24 16       	mov    %ax,0x16(%rsp)
140098236:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
14009823c:	f2 0f 10 44 24 10    	movsd  0x10(%rsp),%xmm0
140098242:	41 89 0a             	mov    %ecx,(%r10)
140098245:	c3                   	ret
140098246:	cc                   	int3
140098247:	cc                   	int3
140098248:	40 53                	rex push %rbx
14009824a:	48 83 ec 20          	sub    $0x20,%rsp
14009824e:	e8 cd 3a 00 00       	call   0x14009bd20
140098253:	8b d8                	mov    %eax,%ebx
140098255:	83 e3 3f             	and    $0x3f,%ebx
140098258:	e8 dd 3a 00 00       	call   0x14009bd3a
14009825d:	8b c3                	mov    %ebx,%eax
14009825f:	48 83 c4 20          	add    $0x20,%rsp
140098263:	5b                   	pop    %rbx
140098264:	c3                   	ret
140098265:	cc                   	int3
140098266:	cc                   	int3
140098267:	cc                   	int3
140098268:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14009826d:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140098272:	57                   	push   %rdi
140098273:	48 83 ec 20          	sub    $0x20,%rsp
140098277:	48 8b da             	mov    %rdx,%rbx
14009827a:	48 8b f9             	mov    %rcx,%rdi
14009827d:	e8 9e 3a 00 00       	call   0x14009bd20
140098282:	8b f0                	mov    %eax,%esi
140098284:	89 44 24 38          	mov    %eax,0x38(%rsp)
140098288:	8b cb                	mov    %ebx,%ecx
14009828a:	f7 d1                	not    %ecx
14009828c:	81 c9 7f 80 ff ff    	or     $0xffff807f,%ecx
140098292:	23 c8                	and    %eax,%ecx
140098294:	23 fb                	and    %ebx,%edi
140098296:	0b cf                	or     %edi,%ecx
140098298:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
14009829c:	80 3d d1 99 06 00 00 	cmpb   $0x0,0x699d1(%rip)        # 0x140101c74
1400982a3:	74 25                	je     0x1400982ca
1400982a5:	f6 c1 40             	test   $0x40,%cl
1400982a8:	74 20                	je     0x1400982ca
1400982aa:	e8 81 3a 00 00       	call   0x14009bd30
1400982af:	eb 21                	jmp    0x1400982d2
1400982b1:	c6 05 bc 99 06 00 00 	movb   $0x0,0x699bc(%rip)        # 0x140101c74
1400982b8:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
1400982bc:	83 e1 bf             	and    $0xffffffbf,%ecx
1400982bf:	e8 6c 3a 00 00       	call   0x14009bd30
1400982c4:	8b 74 24 38          	mov    0x38(%rsp),%esi
1400982c8:	eb 08                	jmp    0x1400982d2
1400982ca:	83 e1 bf             	and    $0xffffffbf,%ecx
1400982cd:	e8 5e 3a 00 00       	call   0x14009bd30
1400982d2:	8b c6                	mov    %esi,%eax
1400982d4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400982d9:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400982de:	48 83 c4 20          	add    $0x20,%rsp
1400982e2:	5f                   	pop    %rdi
1400982e3:	c3                   	ret
1400982e4:	48 83 ec 28          	sub    $0x28,%rsp
1400982e8:	e8 33 3a 00 00       	call   0x14009bd20
1400982ed:	83 e0 3f             	and    $0x3f,%eax
1400982f0:	48 83 c4 28          	add    $0x28,%rsp
1400982f4:	c3                   	ret
1400982f5:	cc                   	int3
1400982f6:	cc                   	int3
1400982f7:	cc                   	int3
1400982f8:	40 53                	rex push %rbx
1400982fa:	48 83 ec 20          	sub    $0x20,%rsp
1400982fe:	48 8b d9             	mov    %rcx,%rbx
140098301:	e8 1a 3a 00 00       	call   0x14009bd20
140098306:	83 e3 3f             	and    $0x3f,%ebx
140098309:	0b c3                	or     %ebx,%eax
14009830b:	8b c8                	mov    %eax,%ecx
14009830d:	48 83 c4 20          	add    $0x20,%rsp
140098311:	5b                   	pop    %rbx
140098312:	e9 19 3a 00 00       	jmp    0x14009bd30
140098317:	cc                   	int3
140098318:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14009831d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140098322:	48 83 ec 28          	sub    $0x28,%rsp
140098326:	45 33 c9             	xor    %r9d,%r9d
140098329:	45 33 c0             	xor    %r8d,%r8d
14009832c:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
140098331:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140098336:	ff 15 2c f5 05 00    	call   *0x5f52c(%rip)        # 0x1400f7868
14009833c:	48 83 c4 28          	add    $0x28,%rsp
140098340:	c3                   	ret
140098341:	cc                   	int3
140098342:	cc                   	int3
140098343:	cc                   	int3
140098344:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14009834a:	48 8b 4c 24 08       	mov    0x8(%rsp),%rcx
14009834f:	f2 0f 11 4c 24 08    	movsd  %xmm1,0x8(%rsp)
140098355:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
14009835a:	48 33 c1             	xor    %rcx,%rax
14009835d:	7d 18                	jge    0x140098377
14009835f:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140098366:	00 00 80
140098369:	48 33 c8             	xor    %rax,%rcx
14009836c:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140098371:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
140098377:	c3                   	ret
140098378:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14009837d:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140098382:	55                   	push   %rbp
140098383:	48 8b ec             	mov    %rsp,%rbp
140098386:	48 83 ec 70          	sub    $0x70,%rsp
14009838a:	48 83 65 c0 00       	andq   $0x0,-0x40(%rbp)
14009838f:	83 3d 1a 7a 07 00 00 	cmpl   $0x0,0x77a1a(%rip)        # 0x14010fdb0
140098396:	c6 45 d0 00          	movb   $0x0,-0x30(%rbp)
14009839a:	c6 45 e8 00          	movb   $0x0,-0x18(%rbp)
14009839e:	c6 45 f0 00          	movb   $0x0,-0x10(%rbp)
1400983a2:	c6 45 f8 00          	movb   $0x0,-0x8(%rbp)
1400983a6:	75 10                	jne    0x1400983b8
1400983a8:	0f 10 05 89 98 06 00 	movups 0x69889(%rip),%xmm0        # 0x140101c38
1400983af:	c6 45 e8 01          	movb   $0x1,-0x18(%rbp)
1400983b3:	f3 0f 7f 45 d8       	movdqu %xmm0,-0x28(%rbp)
1400983b8:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
1400983bc:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400983c1:	48 8b 45 30          	mov    0x30(%rbp),%rax
1400983c5:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400983ca:	e8 4d 02 00 00       	call   0x14009861c
1400983cf:	80 7d e8 02          	cmpb   $0x2,-0x18(%rbp)
1400983d3:	8b f8                	mov    %eax,%edi
1400983d5:	75 0b                	jne    0x1400983e2
1400983d7:	48 8b 4d c0          	mov    -0x40(%rbp),%rcx
1400983db:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
1400983e2:	80 7d f0 00          	cmpb   $0x0,-0x10(%rbp)
1400983e6:	74 0f                	je     0x1400983f7
1400983e8:	8b 5d ec             	mov    -0x14(%rbp),%ebx
1400983eb:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
1400983ef:	e8 1c 9d fd ff       	call   0x140072110
1400983f4:	89 58 20             	mov    %ebx,0x20(%rax)
1400983f7:	80 7d f8 00          	cmpb   $0x0,-0x8(%rbp)
1400983fb:	74 0f                	je     0x14009840c
1400983fd:	8b 5d f4             	mov    -0xc(%rbp),%ebx
140098400:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140098404:	e8 07 9d fd ff       	call   0x140072110
140098409:	89 58 24             	mov    %ebx,0x24(%rax)
14009840c:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140098411:	8b c7                	mov    %edi,%eax
140098413:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140098417:	49 8b 7b 18          	mov    0x18(%r11),%rdi
14009841b:	49 8b e3             	mov    %r11,%rsp
14009841e:	5d                   	pop    %rbp
14009841f:	c3                   	ret
140098420:	48 8b c4             	mov    %rsp,%rax
140098423:	48 89 50 10          	mov    %rdx,0x10(%rax)
140098427:	56                   	push   %rsi
140098428:	57                   	push   %rdi
140098429:	41 56                	push   %r14
14009842b:	48 83 ec 40          	sub    $0x40,%rsp
14009842f:	48 c7 40 d8 fe ff ff 	movq   $0xfffffffffffffffe,-0x28(%rax)
140098436:	ff
140098437:	48 89 58 18          	mov    %rbx,0x18(%rax)
14009843b:	48 89 68 20          	mov    %rbp,0x20(%rax)
14009843f:	49 8b d9             	mov    %r9,%rbx
140098442:	49 8b e8             	mov    %r8,%rbp
140098445:	48 8b f1             	mov    %rcx,%rsi
140098448:	45 33 f6             	xor    %r14d,%r14d
14009844b:	41 8b fe             	mov    %r14d,%edi
14009844e:	48 85 c9             	test   %rcx,%rcx
140098451:	74 10                	je     0x140098463
140098453:	4d 85 c0             	test   %r8,%r8
140098456:	75 07                	jne    0x14009845f
140098458:	33 c0                	xor    %eax,%eax
14009845a:	e9 a9 01 00 00       	jmp    0x140098608
14009845f:	66 44 89 31          	mov    %r14w,(%rcx)
140098463:	48 85 d2             	test   %rdx,%rdx
140098466:	75 2d                	jne    0x140098495
140098468:	41 c6 41 30 01       	movb   $0x1,0x30(%r9)
14009846d:	41 c7 41 2c 16 00 00 	movl   $0x16,0x2c(%r9)
140098474:	00
140098475:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14009847a:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14009847f:	45 33 c9             	xor    %r9d,%r9d
140098482:	45 33 c0             	xor    %r8d,%r8d
140098485:	33 c9                	xor    %ecx,%ecx
140098487:	e8 24 65 ff ff       	call   0x14008e9b0
14009848c:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140098490:	e9 73 01 00 00       	jmp    0x140098608
140098495:	45 38 71 28          	cmp    %r14b,0x28(%r9)
140098499:	75 0d                	jne    0x1400984a8
14009849b:	48 8b cb             	mov    %rbx,%rcx
14009849e:	e8 dd 9c fd ff       	call   0x140072180
1400984a3:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
1400984a8:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400984ac:	8b 48 0c             	mov    0xc(%rax),%ecx
1400984af:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
1400984b5:	75 24                	jne    0x1400984db
1400984b7:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
1400984bc:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1400984c1:	4c 8d 4c 24 60       	lea    0x60(%rsp),%r9
1400984c6:	4c 8b c5             	mov    %rbp,%r8
1400984c9:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
1400984ce:	48 8b ce             	mov    %rsi,%rcx
1400984d1:	e8 2e be fe ff       	call   0x140084304
1400984d6:	e9 2d 01 00 00       	jmp    0x140098608
1400984db:	48 8b 80 38 01 00 00 	mov    0x138(%rax),%rax
1400984e2:	48 85 f6             	test   %rsi,%rsi
1400984e5:	0f 84 d2 00 00 00    	je     0x1400985bd
1400984eb:	48 85 c0             	test   %rax,%rax
1400984ee:	75 26                	jne    0x140098516
1400984f0:	48 85 ed             	test   %rbp,%rbp
1400984f3:	74 19                	je     0x14009850e
1400984f5:	0f b6 04 17          	movzbl (%rdi,%rdx,1),%eax
1400984f9:	66 89 06             	mov    %ax,(%rsi)
1400984fc:	44 38 34 17          	cmp    %r14b,(%rdi,%rdx,1)
140098500:	74 0c                	je     0x14009850e
140098502:	48 ff c7             	inc    %rdi
140098505:	48 83 c6 02          	add    $0x2,%rsi
140098509:	48 3b fd             	cmp    %rbp,%rdi
14009850c:	72 e7                	jb     0x1400984f5
14009850e:	48 8b c7             	mov    %rdi,%rax
140098511:	e9 f2 00 00 00       	jmp    0x140098608
140098516:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
14009851a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14009851f:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140098523:	44 8b cf             	mov    %edi,%r9d
140098526:	4c 8b c2             	mov    %rdx,%r8
140098529:	8d 57 0a             	lea    0xa(%rdi),%edx
14009852c:	e8 e7 79 ff ff       	call   0x14008ff18
140098531:	48 98                	cltq
140098533:	48 85 c0             	test   %rax,%rax
140098536:	0f 85 c9 00 00 00    	jne    0x140098605
14009853c:	ff 15 5e f1 05 00    	call   *0x5f15e(%rip)        # 0x1400f76a0
140098542:	83 f8 7a             	cmp    $0x7a,%eax
140098545:	74 11                	je     0x140098558
140098547:	c6 43 30 01          	movb   $0x1,0x30(%rbx)
14009854b:	c7 43 2c 2a 00 00 00 	movl   $0x2a,0x2c(%rbx)
140098552:	66 44 89 36          	mov    %r14w,(%rsi)
140098556:	eb b6                	jmp    0x14009850e
140098558:	44 8b cd             	mov    %ebp,%r9d
14009855b:	4c 8b 54 24 68       	mov    0x68(%rsp),%r10
140098560:	4d 8b c2             	mov    %r10,%r8
140098563:	85 ed                	test   %ebp,%ebp
140098565:	74 2a                	je     0x140098591
140098567:	41 ff c9             	dec    %r9d
14009856a:	45 38 30             	cmp    %r14b,(%r8)
14009856d:	74 22                	je     0x140098591
14009856f:	41 0f b6 10          	movzbl (%r8),%edx
140098573:	48 8b 43 18          	mov    0x18(%rbx),%rax
140098577:	48 8b 08             	mov    (%rax),%rcx
14009857a:	66 44 39 34 51       	cmp    %r14w,(%rcx,%rdx,2)
14009857f:	7d 08                	jge    0x140098589
140098581:	49 ff c0             	inc    %r8
140098584:	45 38 30             	cmp    %r14b,(%r8)
140098587:	74 be                	je     0x140098547
140098589:	49 ff c0             	inc    %r8
14009858c:	45 85 c9             	test   %r9d,%r9d
14009858f:	eb d4                	jmp    0x140098565
140098591:	45 2b c2             	sub    %r10d,%r8d
140098594:	48 8b 43 18          	mov    0x18(%rbx),%rax
140098598:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
14009859c:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400985a1:	45 8b c8             	mov    %r8d,%r9d
1400985a4:	4d 8b c2             	mov    %r10,%r8
1400985a7:	ba 01 00 00 00       	mov    $0x1,%edx
1400985ac:	8b 48 0c             	mov    0xc(%rax),%ecx
1400985af:	e8 64 79 ff ff       	call   0x14008ff18
1400985b4:	48 98                	cltq
1400985b6:	48 85 c0             	test   %rax,%rax
1400985b9:	75 4d                	jne    0x140098608
1400985bb:	eb 8a                	jmp    0x140098547
1400985bd:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
1400985c1:	48 85 c0             	test   %rax,%rax
1400985c4:	75 0e                	jne    0x1400985d4
1400985c6:	48 ff c7             	inc    %rdi
1400985c9:	44 38 34 3a          	cmp    %r14b,(%rdx,%rdi,1)