140018347:	41 8b 00             	mov    (%r8),%eax
14001834a:	03 ca                	add    %edx,%ecx
14001834c:	23 c2                	and    %edx,%eax
14001834e:	0b c8                	or     %eax,%ecx
140018350:	81 e1 01 00 80 ff    	and    $0xff800001,%ecx
140018356:	83 c9 01             	or     $0x1,%ecx
140018359:	e9 57 ff ff ff       	jmp    0x1400182b5
14001835e:	83 e9 06             	sub    $0x6,%ecx
140018361:	74 66                	je     0x1400183c9
140018363:	83 e9 01             	sub    $0x1,%ecx
140018366:	74 56                	je     0x1400183be
140018368:	83 e9 01             	sub    $0x1,%ecx
14001836b:	74 34                	je     0x1400183a1
14001836d:	83 f9 01             	cmp    $0x1,%ecx
140018370:	75 50                	jne    0x1400183c2
140018372:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
140018378:	ba 00 00 80 7f       	mov    $0x7f800000,%edx
14001837d:	f6 d8                	neg    %al
14001837f:	b8 00 00 00 80       	mov    $0x80000000,%eax
140018384:	1b c9                	sbb    %ecx,%ecx
140018386:	23 c8                	and    %eax,%ecx
140018388:	41 8b 00             	mov    (%r8),%eax
14001838b:	23 c2                	and    %edx,%eax
14001838d:	03 ca                	add    %edx,%ecx
14001838f:	0b c8                	or     %eax,%ecx
140018391:	b8 03 00 00 00       	mov    $0x3,%eax
140018396:	81 e1 00 00 80 ff    	and    $0xff800000,%ecx
14001839c:	41 89 08             	mov    %ecx,(%r8)
14001839f:	eb 31                	jmp    0x1400183d2
1400183a1:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
1400183a7:	f6 d8                	neg    %al
1400183a9:	b8 00 00 00 80       	mov    $0x80000000,%eax
1400183ae:	1b c9                	sbb    %ecx,%ecx
1400183b0:	23 c8                	and    %eax,%ecx
1400183b2:	23 c8                	and    %eax,%ecx
1400183b4:	b8 02 00 00 00       	mov    $0x2,%eax
1400183b9:	41 89 08             	mov    %ecx,(%r8)
1400183bc:	eb 14                	jmp    0x1400183d2
1400183be:	41 83 20 00          	andl   $0x0,(%r8)
1400183c2:	b8 01 00 00 00       	mov    $0x1,%eax
1400183c7:	eb 09                	jmp    0x1400183d2
1400183c9:	41 c7 00 00 00 c0 ff 	movl   $0xffc00000,(%r8)
1400183d0:	33 c0                	xor    %eax,%eax
1400183d2:	48 83 c4 38          	add    $0x38,%rsp
1400183d6:	c3                   	ret
1400183d7:	cc                   	int3
1400183d8:	48 83 ec 38          	sub    $0x38,%rsp
1400183dc:	4c 8b ca             	mov    %rdx,%r9
1400183df:	83 f9 05             	cmp    $0x5,%ecx
1400183e2:	0f 8f 2d 01 00 00    	jg     0x140018515
1400183e8:	0f 84 e3 00 00 00    	je     0x1400184d1
1400183ee:	85 c9                	test   %ecx,%ecx
1400183f0:	0f 84 bf 00 00 00    	je     0x1400184b5
1400183f6:	83 e9 01             	sub    $0x1,%ecx
1400183f9:	0f 84 9a 00 00 00    	je     0x140018499
1400183ff:	83 e9 01             	sub    $0x1,%ecx
140018402:	74 78                	je     0x14001847c
140018404:	83 e9 01             	sub    $0x1,%ecx
140018407:	74 36                	je     0x14001843f
140018409:	83 f9 01             	cmp    $0x1,%ecx
14001840c:	0f 85 89 01 00 00    	jne    0x14001859b
140018412:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
140018418:	f6 d8                	neg    %al
14001841a:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140018421:	00 00 80
140018424:	48 1b c9             	sbb    %rcx,%rcx
140018427:	48 23 c8             	and    %rax,%rcx
14001842a:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140018431:	ff ff 7f
140018434:	48 03 c8             	add    %rax,%rcx
140018437:	49 89 08             	mov    %rcx,(%r8)
14001843a:	e9 70 01 00 00       	jmp    0x1400185af
14001843f:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
140018445:	48 ba 00 00 00 00 00 	movabs $0x7ff0000000000000,%rdx
14001844c:	00 f0 7f
14001844f:	f6 d8                	neg    %al
140018451:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140018458:	00 00 80
14001845b:	48 1b c9             	sbb    %rcx,%rcx
14001845e:	48 23 c8             	and    %rax,%rcx
140018461:	48 b8 00 00 00 00 00 	movabs $0xfff0000000000000,%rax
140018468:	00 f0 ff
14001846b:	48 03 ca             	add    %rdx,%rcx
14001846e:	48 23 c8             	and    %rax,%rcx
140018471:	49 8b 00             	mov    (%r8),%rax
140018474:	48 23 c2             	and    %rdx,%rax
140018477:	48 0b c8             	or     %rax,%rcx
14001847a:	eb bb                	jmp    0x140018437
14001847c:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
140018482:	f6 d8                	neg    %al
140018484:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14001848b:	00 00 80
14001848e:	48 1b c9             	sbb    %rcx,%rcx
140018491:	48 23 c8             	and    %rax,%rcx
140018494:	48 23 c8             	and    %rax,%rcx
140018497:	eb 9e                	jmp    0x140018437
140018499:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14001849e:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400184a3:	49 8b c9             	mov    %r9,%rcx
1400184a6:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
1400184ab:	e8 48 32 00 00       	call   0x14001b6f8
1400184b0:	e9 fc 00 00 00       	jmp    0x1400185b1
1400184b5:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400184ba:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400184bf:	49 8b c9             	mov    %r9,%rcx
1400184c2:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
1400184c7:	e8 ac 13 00 00       	call   0x140019878
1400184cc:	e9 e0 00 00 00       	jmp    0x1400185b1
1400184d1:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
1400184d7:	48 ba 00 00 00 00 00 	movabs $0x7ff0000000000000,%rdx
1400184de:	00 f0 7f
1400184e1:	f6 d8                	neg    %al
1400184e3:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1400184ea:	00 00 80
1400184ed:	48 1b c9             	sbb    %rcx,%rcx
1400184f0:	48 23 c8             	and    %rax,%rcx
1400184f3:	48 b8 01 00 00 00 00 	movabs $0xfff0000000000001,%rax
1400184fa:	00 f0 ff
1400184fd:	48 03 ca             	add    %rdx,%rcx
140018500:	48 23 c8             	and    %rax,%rcx
140018503:	49 8b 00             	mov    (%r8),%rax
140018506:	48 23 c2             	and    %rdx,%rax
140018509:	48 0b c8             	or     %rax,%rcx
14001850c:	48 83 c9 01          	or     $0x1,%rcx
140018510:	e9 22 ff ff ff       	jmp    0x140018437
140018515:	83 e9 06             	sub    $0x6,%ecx
140018518:	0f 84 84 00 00 00    	je     0x1400185a2
14001851e:	83 e9 01             	sub    $0x1,%ecx
140018521:	74 74                	je     0x140018597
140018523:	83 e9 01             	sub    $0x1,%ecx
140018526:	74 4a                	je     0x140018572
140018528:	83 f9 01             	cmp    $0x1,%ecx
14001852b:	75 6e                	jne    0x14001859b
14001852d:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
140018533:	48 ba 00 00 00 00 00 	movabs $0x7ff0000000000000,%rdx
14001853a:	00 f0 7f
14001853d:	f6 d8                	neg    %al
14001853f:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140018546:	00 00 80
140018549:	48 1b c9             	sbb    %rcx,%rcx
14001854c:	48 23 c8             	and    %rax,%rcx
14001854f:	48 b8 00 00 00 00 00 	movabs $0xfff0000000000000,%rax
140018556:	00 f0 ff
140018559:	48 03 ca             	add    %rdx,%rcx
14001855c:	48 23 c8             	and    %rax,%rcx
14001855f:	49 8b 00             	mov    (%r8),%rax
140018562:	48 23 c2             	and    %rdx,%rax
140018565:	48 0b c8             	or     %rax,%rcx
140018568:	b8 03 00 00 00       	mov    $0x3,%eax
14001856d:	49 89 08             	mov    %rcx,(%r8)
140018570:	eb 3f                	jmp    0x1400185b1
140018572:	8a 82 08 03 00 00    	mov    0x308(%rdx),%al
140018578:	f6 d8                	neg    %al
14001857a:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140018581:	00 00 80
140018584:	48 1b c9             	sbb    %rcx,%rcx
140018587:	48 23 c8             	and    %rax,%rcx
14001858a:	48 23 c8             	and    %rax,%rcx
14001858d:	b8 02 00 00 00       	mov    $0x2,%eax
140018592:	49 89 08             	mov    %rcx,(%r8)
140018595:	eb 1a                	jmp    0x1400185b1
140018597:	49 83 20 00          	andq   $0x0,(%r8)
14001859b:	b8 01 00 00 00       	mov    $0x1,%eax
1400185a0:	eb 0f                	jmp    0x1400185b1
1400185a2:	48 b8 00 00 00 00 00 	movabs $0xfff8000000000000,%rax
1400185a9:	00 f8 ff
1400185ac:	49 89 00             	mov    %rax,(%r8)
1400185af:	33 c0                	xor    %eax,%eax
1400185b1:	48 83 c4 38          	add    $0x38,%rsp
1400185b5:	c3                   	ret
1400185b6:	cc                   	int3
1400185b7:	cc                   	int3
1400185b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400185bd:	44 88 4c 24 20       	mov    %r9b,0x20(%rsp)
1400185c2:	55                   	push   %rbp
1400185c3:	56                   	push   %rsi
1400185c4:	57                   	push   %rdi
1400185c5:	41 54                	push   %r12
1400185c7:	41 55                	push   %r13
1400185c9:	41 56                	push   %r14
1400185cb:	41 57                	push   %r15
1400185cd:	48 83 ec 30          	sub    $0x30,%rsp
1400185d1:	4c 8b 3a             	mov    (%rdx),%r15
1400185d4:	4c 8d 72 18          	lea    0x18(%rdx),%r14
1400185d8:	33 ed                	xor    %ebp,%ebp
1400185da:	41 8b f0             	mov    %r8d,%esi
1400185dd:	48 8b da             	mov    %rdx,%rbx
1400185e0:	4c 8b e9             	mov    %rcx,%r13
1400185e3:	4d 85 ff             	test   %r15,%r15
1400185e6:	74 05                	je     0x1400185ed
1400185e8:	49 39 2e             	cmp    %rbp,(%r14)
1400185eb:	75 12                	jne    0x1400185ff
1400185ed:	e8 ea 8a 00 00       	call   0x1400210dc
1400185f2:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400185f8:	e8 57 69 ff ff       	call   0x14000ef54
1400185fd:	eb 31                	jmp    0x140018630
1400185ff:	85 f6                	test   %esi,%esi
140018601:	74 4b                	je     0x14001864e
140018603:	41 8d 40 fe          	lea    -0x2(%r8),%eax
140018607:	83 f8 22             	cmp    $0x22,%eax
14001860a:	76 42                	jbe    0x14001864e
14001860c:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
140018610:	45 33 c9             	xor    %r9d,%r9d
140018613:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
14001861a:	45 33 c0             	xor    %r8d,%r8d
14001861d:	33 c9                	xor    %ecx,%ecx
14001861f:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
140018624:	33 d2                	xor    %edx,%edx
140018626:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14001862b:	e8 58 68 ff ff       	call   0x14000ee88
140018630:	49 8b 06             	mov    (%r14),%rax
140018633:	48 85 c0             	test   %rax,%rax
140018636:	0f 84 0d 03 00 00    	je     0x140018949
14001863c:	48 39 6b 10          	cmp    %rbp,0x10(%rbx)
140018640:	0f 85 03 03 00 00    	jne    0x140018949
140018646:	40 88 28             	mov    %bpl,(%rax)
140018649:	e9 fb 02 00 00       	jmp    0x140018949
14001864e:	48 8b 42 10          	mov    0x10(%rdx),%rax
140018652:	4c 8b e5             	mov    %rbp,%r12
140018655:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
14001865a:	48 ff c0             	inc    %rax
14001865d:	48 89 42 10          	mov    %rax,0x10(%rdx)
140018661:	48 39 6a 08          	cmp    %rbp,0x8(%rdx)
140018665:	74 06                	je     0x14001866d
140018667:	48 3b 42 08          	cmp    0x8(%rdx),%rax
14001866b:	77 15                	ja     0x140018682
14001866d:	49 8b 0f             	mov    (%r15),%rcx
140018670:	e8 53 d2 00 00       	call   0x1400258c8
140018675:	8b f8                	mov    %eax,%edi
140018677:	83 f8 ff             	cmp    $0xffffffff,%eax
14001867a:	74 06                	je     0x140018682
14001867c:	49 ff 47 08          	incq   0x8(%r15)
140018680:	eb 03                	jmp    0x140018685
140018682:	40 8a fd             	mov    %bpl,%dil
140018685:	41 38 6d 28          	cmp    %bpl,0x28(%r13)
140018689:	75 3d                	jne    0x1400186c8
14001868b:	49 8b cd             	mov    %r13,%rcx
14001868e:	e8 ad bf ff ff       	call   0x140014640
140018693:	eb 33                	jmp    0x1400186c8
140018695:	48 8b 43 10          	mov    0x10(%rbx),%rax
140018699:	48 ff c0             	inc    %rax
14001869c:	48 89 43 10          	mov    %rax,0x10(%rbx)
1400186a0:	48 39 6b 08          	cmp    %rbp,0x8(%rbx)
1400186a4:	74 06                	je     0x1400186ac
1400186a6:	48 3b 43 08          	cmp    0x8(%rbx),%rax
1400186aa:	77 19                	ja     0x1400186c5
1400186ac:	48 8b 3b             	mov    (%rbx),%rdi
1400186af:	48 8b 0f             	mov    (%rdi),%rcx
1400186b2:	e8 11 d2 00 00       	call   0x1400258c8
1400186b7:	83 f8 ff             	cmp    $0xffffffff,%eax
1400186ba:	74 09                	je     0x1400186c5
1400186bc:	48 ff 47 08          	incq   0x8(%rdi)
1400186c0:	40 8a f8             	mov    %al,%dil
1400186c3:	eb 03                	jmp    0x1400186c8
1400186c5:	40 32 ff             	xor    %dil,%dil
1400186c8:	4d 8d 45 18          	lea    0x18(%r13),%r8
1400186cc:	40 0f b6 cf          	movzbl %dil,%ecx
1400186d0:	ba 08 00 00 00       	mov    $0x8,%edx
1400186d5:	e8 1e d9 ff ff       	call   0x140015ff8
1400186da:	85 c0                	test   %eax,%eax
1400186dc:	75 b7                	jne    0x140018695
1400186de:	0f b6 84 24 88 00 00 	movzbl 0x88(%rsp),%eax
1400186e5:	00
1400186e6:	8b e8                	mov    %eax,%ebp
1400186e8:	83 cd 02             	or     $0x2,%ebp
1400186eb:	40 80 ff 2d          	cmp    $0x2d,%dil
1400186ef:	0f 45 e8             	cmovne %eax,%ebp
1400186f2:	8d 47 d5             	lea    -0x2b(%rdi),%eax
1400186f5:	a8 fd                	test   $0xfd,%al
1400186f7:	75 33                	jne    0x14001872c
1400186f9:	48 8b 43 10          	mov    0x10(%rbx),%rax
1400186fd:	48 ff c0             	inc    %rax
140018700:	48 89 43 10          	mov    %rax,0x10(%rbx)
140018704:	4c 39 63 08          	cmp    %r12,0x8(%rbx)
140018708:	74 06                	je     0x140018710
14001870a:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14001870e:	77 19                	ja     0x140018729
140018710:	48 8b 3b             	mov    (%rbx),%rdi
140018713:	48 8b 0f             	mov    (%rdi),%rcx
140018716:	e8 ad d1 00 00       	call   0x1400258c8
14001871b:	83 f8 ff             	cmp    $0xffffffff,%eax
14001871e:	74 09                	je     0x140018729
140018720:	48 ff 47 08          	incq   0x8(%rdi)
140018724:	40 8a f8             	mov    %al,%dil
140018727:	eb 03                	jmp    0x14001872c
140018729:	40 32 ff             	xor    %dil,%dil
14001872c:	f7 c6 ef ff ff ff    	test   $0xffffffef,%esi
140018732:	0f 85 04 01 00 00    	jne    0x14001883c
140018738:	8d 47 d0             	lea    -0x30(%rdi),%eax
14001873b:	3c 09                	cmp    $0x9,%al
14001873d:	77 09                	ja     0x140018748
14001873f:	40 0f be c7          	movsbl %dil,%eax
140018743:	83 c0 d0             	add    $0xffffffd0,%eax
140018746:	eb 22                	jmp    0x14001876a
140018748:	8d 47 9f             	lea    -0x61(%rdi),%eax
14001874b:	3c 19                	cmp    $0x19,%al
14001874d:	77 09                	ja     0x140018758
14001874f:	40 0f be c7          	movsbl %dil,%eax
140018753:	83 c0 a9             	add    $0xffffffa9,%eax
140018756:	eb 12                	jmp    0x14001876a
140018758:	8d 47 bf             	lea    -0x41(%rdi),%eax
14001875b:	3c 19                	cmp    $0x19,%al
14001875d:	0f 87 cd 00 00 00    	ja     0x140018830
140018763:	40 0f be c7          	movsbl %dil,%eax
140018767:	83 c0 c9             	add    $0xffffffc9,%eax
14001876a:	85 c0                	test   %eax,%eax
14001876c:	0f 85 be 00 00 00    	jne    0x140018830
140018772:	48 8b 43 10          	mov    0x10(%rbx),%rax
140018776:	48 ff c0             	inc    %rax
140018779:	48 89 43 10          	mov    %rax,0x10(%rbx)
14001877d:	4c 39 63 08          	cmp    %r12,0x8(%rbx)
140018781:	74 06                	je     0x140018789
140018783:	48 3b 43 08          	cmp    0x8(%rbx),%rax
140018787:	77 5f                	ja     0x1400187e8
140018789:	4c 8b 3b             	mov    (%rbx),%r15
14001878c:	49 8b 0f             	mov    (%r15),%rcx
14001878f:	e8 34 d1 00 00       	call   0x1400258c8
140018794:	8b d0                	mov    %eax,%edx
140018796:	83 f8 ff             	cmp    $0xffffffff,%eax
140018799:	74 4d                	je     0x1400187e8
14001879b:	49 ff 47 08          	incq   0x8(%r15)
14001879f:	8d 48 a8             	lea    -0x58(%rax),%ecx
1400187a2:	f6 c1 df             	test   $0xdf,%cl
1400187a5:	75 43                	jne    0x1400187ea
1400187a7:	85 f6                	test   %esi,%esi
1400187a9:	b8 10 00 00 00       	mov    $0x10,%eax
1400187ae:	0f 45 c6             	cmovne %esi,%eax
1400187b1:	8b f0                	mov    %eax,%esi
1400187b3:	48 8b 43 10          	mov    0x10(%rbx),%rax
1400187b7:	48 ff c0             	inc    %rax
1400187ba:	48 89 43 10          	mov    %rax,0x10(%rbx)
1400187be:	4c 39 63 08          	cmp    %r12,0x8(%rbx)
1400187c2:	74 0b                	je     0x1400187cf
1400187c4:	48 3b 43 08          	cmp    0x8(%rbx),%rax
1400187c8:	76 05                	jbe    0x1400187cf
1400187ca:	40 32 ff             	xor    %dil,%dil
1400187cd:	eb 6d                	jmp    0x14001883c
1400187cf:	48 8b 3b             	mov    (%rbx),%rdi
1400187d2:	48 8b 0f             	mov    (%rdi),%rcx
1400187d5:	e8 ee d0 00 00       	call   0x1400258c8
1400187da:	83 f8 ff             	cmp    $0xffffffff,%eax
1400187dd:	74 eb                	je     0x1400187ca
1400187df:	48 ff 47 08          	incq   0x8(%rdi)
1400187e3:	40 8a f8             	mov    %al,%dil
1400187e6:	eb 54                	jmp    0x14001883c
1400187e8:	32 d2                	xor    %dl,%dl
1400187ea:	85 f6                	test   %esi,%esi
1400187ec:	b8 08 00 00 00       	mov    $0x8,%eax
1400187f1:	0f 45 c6             	cmovne %esi,%eax
1400187f4:	8b f0                	mov    %eax,%esi