14089f2b9:	7f 1a                	jg     0x14089f2d5
14089f2bb:	44 8b ce             	mov    %esi,%r9d
14089f2be:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
14089f2c3:	44 8b c5             	mov    %ebp,%r8d
14089f2c6:	ba 90 00 00 00       	mov    $0x90,%edx
14089f2cb:	48 8b cf             	mov    %rdi,%rcx
14089f2ce:	e8 cd da 00 00       	call   0x1408acda0
14089f2d3:	eb 2f                	jmp    0x14089f304
14089f2d5:	8d 41 01             	lea    0x1(%rcx),%eax
14089f2d8:	33 d2                	xor    %edx,%edx
14089f2da:	89 87 90 00 00 00    	mov    %eax,0x90(%rdi)
14089f2e0:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
14089f2e4:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
14089f2eb:	c7 04 c8 90 00 00 00 	movl   $0x90,(%rax,%rcx,8)
14089f2f2:	89 6c c8 04          	mov    %ebp,0x4(%rax,%rcx,8)
14089f2f6:	89 74 c8 08          	mov    %esi,0x8(%rax,%rcx,8)
14089f2fa:	44 89 74 c8 0c       	mov    %r14d,0xc(%rax,%rcx,8)
14089f2ff:	48 89 54 c8 10       	mov    %rdx,0x10(%rax,%rcx,8)
14089f304:	48 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%rax
14089f30b:	48 8d 15 ce 22 7b 00 	lea    0x7b22ce(%rip),%rdx        # 0x1410515e0
14089f312:	48 85 c0             	test   %rax,%rax
14089f315:	89 74 24 28          	mov    %esi,0x28(%rsp)
14089f319:	48 8b cb             	mov    %rbx,%rcx
14089f31c:	89 74 24 20          	mov    %esi,0x20(%rsp)
14089f320:	48 0f 45 c8          	cmovne %rax,%rcx
14089f324:	44 8b cd             	mov    %ebp,%r9d
14089f327:	c6 41 21 01          	movb   $0x1,0x21(%rcx)
14089f32b:	49 8b ce             	mov    %r14,%rcx
14089f32e:	48 8b 03             	mov    (%rbx),%rax
14089f331:	48 c1 e1 05          	shl    $0x5,%rcx
14089f335:	4c 8b 40 20          	mov    0x20(%rax),%r8
14089f339:	4e 8b 04 01          	mov    (%rcx,%r8,1),%r8
14089f33d:	48 8b cb             	mov    %rbx,%rcx
14089f340:	e8 8b ed 04 00       	call   0x1408ee0d0
14089f345:	85 f6                	test   %esi,%esi
14089f347:	74 12                	je     0x14089f35b
14089f349:	0f b6 43 1f          	movzbl 0x1f(%rbx),%eax
14089f34d:	3c 08                	cmp    $0x8,%al
14089f34f:	73 0a                	jae    0x14089f35b
14089f351:	89 b4 83 d8 00 00 00 	mov    %esi,0xd8(%rbx,%rax,4)
14089f358:	fe 43 1f             	incb   0x1f(%rbx)
14089f35b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14089f360:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14089f365:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14089f36a:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14089f36f:	48 83 c4 30          	add    $0x30,%rsp
14089f373:	41 5e                	pop    %r14
14089f375:	c3                   	ret
14089f376:	cc                   	int3
14089f377:	cc                   	int3
14089f378:	cc                   	int3
14089f379:	cc                   	int3
14089f37a:	cc                   	int3
14089f37b:	cc                   	int3
14089f37c:	cc                   	int3
14089f37d:	cc                   	int3
14089f37e:	cc                   	int3
14089f37f:	cc                   	int3
14089f380:	45 33 c0             	xor    %r8d,%r8d
14089f383:	4c 8b c9             	mov    %rcx,%r9
14089f386:	f6 42 12 04          	testb  $0x4,0x12(%rdx)
14089f38a:	75 62                	jne    0x14089f3ee
14089f38c:	0f 1f 40 00          	nopl   0x0(%rax)
14089f390:	41 83 39 00          	cmpl   $0x0,(%r9)
14089f394:	74 09                	je     0x14089f39f
14089f396:	48 8b 02             	mov    (%rdx),%rax
14089f399:	f6 40 04 01          	testb  $0x1,0x4(%rax)
14089f39d:	74 4f                	je     0x14089f3ee
14089f39f:	49 8b 41 68          	mov    0x68(%r9),%rax
14089f3a3:	48 85 42 30          	test   %rax,0x30(%rdx)
14089f3a7:	75 45                	jne    0x14089f3ee
14089f3a9:	45 85 c0             	test   %r8d,%r8d
14089f3ac:	74 15                	je     0x14089f3c3
14089f3ae:	0f b7 42 12          	movzwl 0x12(%rdx),%eax
14089f3b2:	66 0f ba e0 0a       	bt     $0xa,%ax
14089f3b7:	73 0a                	jae    0x14089f3c3
14089f3b9:	66 0d 00 02          	or     $0x200,%ax
14089f3bd:	66 89 42 12          	mov    %ax,0x12(%rdx)
14089f3c1:	eb 05                	jmp    0x14089f3c8
14089f3c3:	66 83 4a 12 04       	orw    $0x4,0x12(%rdx)
14089f3c8:	48 63 42 18          	movslq 0x18(%rdx),%rax
14089f3cc:	85 c0                	test   %eax,%eax
14089f3ce:	78 1e                	js     0x14089f3ee
14089f3d0:	48 6b c8 38          	imul   $0x38,%rax,%rcx
14089f3d4:	48 8b 42 08          	mov    0x8(%rdx),%rax
14089f3d8:	48 03 48 20          	add    0x20(%rax),%rcx
14089f3dc:	48 8b d1             	mov    %rcx,%rdx
14089f3df:	80 41 16 ff          	addb   $0xff,0x16(%rcx)
14089f3e3:	75 09                	jne    0x14089f3ee
14089f3e5:	41 ff c0             	inc    %r8d
14089f3e8:	f6 41 12 04          	testb  $0x4,0x12(%rcx)
14089f3ec:	74 a2                	je     0x14089f390
14089f3ee:	c3                   	ret
14089f3ef:	cc                   	int3
14089f3f0:	48 83 ec 28          	sub    $0x28,%rsp
14089f3f4:	80 3a a8             	cmpb   $0xa8,(%rdx)
14089f3f7:	75 1a                	jne    0x14089f413
14089f3f9:	48 83 7a 38 00       	cmpq   $0x0,0x38(%rdx)
14089f3fe:	75 13                	jne    0x14089f413
14089f400:	4c 8b 42 08          	mov    0x8(%rdx),%r8
14089f404:	48 8d 15 1d 3f 7b 00 	lea    0x7b3f1d(%rip),%rdx        # 0x141053328
14089f40b:	48 8b 09             	mov    (%rcx),%rcx
14089f40e:	e8 6d a4 03 00       	call   0x1408d9880
14089f413:	33 c0                	xor    %eax,%eax
14089f415:	48 83 c4 28          	add    $0x28,%rsp
14089f419:	c3                   	ret
14089f41a:	cc                   	int3
14089f41b:	cc                   	int3
14089f41c:	cc                   	int3
14089f41d:	cc                   	int3
14089f41e:	cc                   	int3
14089f41f:	cc                   	int3
14089f420:	f2 0f 10 0d 40 93 77 	movsd  0x779340(%rip),%xmm1        # 0x141018768
14089f427:	00
14089f428:	66 0f 2f c8          	comisd %xmm0,%xmm1
14089f42c:	72 0b                	jb     0x14089f439
14089f42e:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14089f435:	00 00 80
14089f438:	c3                   	ret
14089f439:	66 0f 2f 05 17 f4 70 	comisd 0x70f417(%rip),%xmm0        # 0x140fae858
14089f440:	00
14089f441:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
14089f448:	ff ff 7f
14089f44b:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
14089f450:	48 0f 43 c1          	cmovae %rcx,%rax
14089f454:	c3                   	ret
14089f455:	cc                   	int3
14089f456:	cc                   	int3
14089f457:	cc                   	int3
14089f458:	cc                   	int3
14089f459:	cc                   	int3
14089f45a:	cc                   	int3
14089f45b:	cc                   	int3
14089f45c:	cc                   	int3
14089f45d:	cc                   	int3
14089f45e:	cc                   	int3
14089f45f:	cc                   	int3
14089f460:	40 53                	rex push %rbx
14089f462:	57                   	push   %rdi
14089f463:	41 56                	push   %r14
14089f465:	48 83 ec 30          	sub    $0x30,%rsp
14089f469:	41 83 39 00          	cmpl   $0x0,(%r9)
14089f46d:	49 8b f9             	mov    %r9,%rdi
14089f470:	44 8b f2             	mov    %edx,%r14d
14089f473:	48 8b d9             	mov    %rcx,%rbx
14089f476:	0f 85 12 01 00 00    	jne    0x14089f58e
14089f47c:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
14089f47f:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14089f484:	48 8b 69 50          	mov    0x50(%rcx),%rbp
14089f488:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
14089f48d:	48 63 f0             	movslq %eax,%rsi
14089f490:	48 03 71 60          	add    0x60(%rcx),%rsi
14089f494:	4c 89 7c 24 60       	mov    %r15,0x60(%rsp)
14089f499:	44 0f b6 79 09       	movzbl 0x9(%rcx),%r15d
14089f49e:	0f b6 46 01          	movzbl 0x1(%rsi),%eax
14089f4a2:	0f b6 16             	movzbl (%rsi),%edx
14089f4a5:	c1 e2 08             	shl    $0x8,%edx
14089f4a8:	0b d0                	or     %eax,%edx
14089f4aa:	48 8b 43 48          	mov    0x48(%rbx),%rax
14089f4ae:	42 8d 0c 02          	lea    (%rdx,%r8,1),%ecx
14089f4b2:	3b 48 38             	cmp    0x38(%rax),%ecx
14089f4b5:	76 35                	jbe    0x14089f4ec
14089f4b7:	48 8d 05 86 45 7b 00 	lea    0x7b4586(%rip),%rax        # 0x141053a44
14089f4be:	41 b9 a5 20 01 00    	mov    $0x120a5,%r9d
14089f4c4:	4c 8d 05 a5 43 7b 00 	lea    0x7b43a5(%rip),%r8        # 0x141053870
14089f4cb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14089f4d0:	48 8d 15 79 43 7b 00 	lea    0x7b4379(%rip),%rdx        # 0x141053850
14089f4d7:	b9 0b 00 00 00       	mov    $0xb,%ecx
14089f4dc:	e8 5f a0 fd ff       	call   0x140879540
14089f4e1:	c7 07 0b 00 00 00    	movl   $0xb,(%rdi)
14089f4e7:	e9 93 00 00 00       	jmp    0x14089f57f
14089f4ec:	48 8b cb             	mov    %rbx,%rcx
14089f4ef:	e8 1c b0 00 00       	call   0x1408aa510
14089f4f4:	85 c0                	test   %eax,%eax
14089f4f6:	74 07                	je     0x14089f4ff
14089f4f8:	89 07                	mov    %eax,(%rdi)
14089f4fa:	e9 80 00 00 00       	jmp    0x14089f57f
14089f4ff:	0f b7 43 18          	movzwl 0x18(%rbx),%eax
14089f503:	66 83 e8 01          	sub    $0x1,%ax
14089f507:	66 89 43 18          	mov    %ax,0x18(%rbx)
14089f50b:	75 45                	jne    0x14089f552
14089f50d:	33 c0                	xor    %eax,%eax
14089f50f:	41 8d 4f 01          	lea    0x1(%r15),%ecx
14089f513:	89 04 29             	mov    %eax,(%rcx,%rbp,1)
14089f516:	41 88 44 2f 07       	mov    %al,0x7(%r15,%rbp,1)
14089f51b:	48 8b 43 48          	mov    0x48(%rbx),%rax
14089f51f:	8b 48 38             	mov    0x38(%rax),%ecx
14089f522:	c1 e9 08             	shr    $0x8,%ecx
14089f525:	41 88 4c 2f 05       	mov    %cl,0x5(%r15,%rbp,1)
14089f52a:	48 8b 43 48          	mov    0x48(%rbx),%rax
14089f52e:	0f b6 48 38          	movzbl 0x38(%rax),%ecx
14089f532:	41 88 4c 2f 06       	mov    %cl,0x6(%r15,%rbp,1)
14089f537:	48 8b 43 48          	mov    0x48(%rbx),%rax
14089f53b:	0f b6 4b 0a          	movzbl 0xa(%rbx),%ecx
14089f53f:	8b 50 38             	mov    0x38(%rax),%edx
14089f542:	0f b6 43 09          	movzbl 0x9(%rbx),%eax
14089f546:	2b d1                	sub    %ecx,%edx
14089f548:	2b d0                	sub    %eax,%edx
14089f54a:	83 ea 08             	sub    $0x8,%edx
14089f54d:	89 53 14             	mov    %edx,0x14(%rbx)
14089f550:	eb 2d                	jmp    0x14089f57f
14089f552:	0f b7 c0             	movzwl %ax,%eax
14089f555:	48 8d 56 02          	lea    0x2(%rsi),%rdx
14089f559:	41 2b c6             	sub    %r14d,%eax
14089f55c:	48 8b ce             	mov    %rsi,%rcx
14089f55f:	03 c0                	add    %eax,%eax
14089f561:	4c 63 c0             	movslq %eax,%r8
14089f564:	e8 a7 fa 63 00       	call   0x140edf010
14089f569:	0f b6 43 19          	movzbl 0x19(%rbx),%eax
14089f56d:	41 88 44 2f 03       	mov    %al,0x3(%r15,%rbp,1)
14089f572:	0f b6 43 18          	movzbl 0x18(%rbx),%eax
14089f576:	41 88 44 2f 04       	mov    %al,0x4(%r15,%rbp,1)
14089f57b:	83 43 14 02          	addl   $0x2,0x14(%rbx)
14089f57f:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
14089f584:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14089f589:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
14089f58e:	48 83 c4 30          	add    $0x30,%rsp
14089f592:	41 5e                	pop    %r14
14089f594:	5f                   	pop    %rdi
14089f595:	5b                   	pop    %rbx
14089f596:	c3                   	ret
14089f597:	cc                   	int3
14089f598:	cc                   	int3
14089f599:	cc                   	int3
14089f59a:	cc                   	int3
14089f59b:	cc                   	int3
14089f59c:	cc                   	int3
14089f59d:	cc                   	int3
14089f59e:	cc                   	int3
14089f59f:	cc                   	int3
14089f5a0:	85 d2                	test   %edx,%edx
14089f5a2:	74 2c                	je     0x14089f5d0
14089f5a4:	80 39 b2             	cmpb   $0xb2,(%rcx)
14089f5a7:	74 27                	je     0x14089f5d0
14089f5a9:	f7 41 04 00 00 00 01 	testl  $0x1000000,0x4(%rcx)
14089f5b0:	75 1e                	jne    0x14089f5d0
14089f5b2:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
14089f5b7:	75 0f                	jne    0x14089f5c8
14089f5b9:	48 83 79 20 00       	cmpq   $0x0,0x20(%rcx)
14089f5be:	75 08                	jne    0x14089f5c8
14089f5c0:	41 b8 10 00 00 00    	mov    $0x10,%r8d
14089f5c6:	eb 0e                	jmp    0x14089f5d6
14089f5c8:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
14089f5ce:	eb 06                	jmp    0x14089f5d6
14089f5d0:	41 b8 48 00 00 00    	mov    $0x48,%r8d
14089f5d6:	b8 04 00 00 00       	mov    $0x4,%eax
14089f5db:	48 8b d1             	mov    %rcx,%rdx
14089f5de:	f7 04 01 00 08 00 00 	testl  $0x800,(%rcx,%rax,1)
14089f5e5:	75 24                	jne    0x14089f60b
14089f5e7:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14089f5eb:	48 85 d2             	test   %rdx,%rdx
14089f5ee:	74 1b                	je     0x14089f60b
14089f5f0:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14089f5f7:	48 ff c0             	inc    %rax
14089f5fa:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1)
14089f5fe:	75 f7                	jne    0x14089f5f7
14089f600:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
14089f605:	41 ff c0             	inc    %r8d
14089f608:	44 03 c0             	add    %eax,%r8d
14089f60b:	41 8d 40 07          	lea    0x7(%r8),%eax
14089f60f:	83 e0 f8             	and    $0xfffffff8,%eax
14089f612:	c3                   	ret
14089f613:	cc                   	int3
14089f614:	cc                   	int3
14089f615:	cc                   	int3
14089f616:	cc                   	int3
14089f617:	cc                   	int3
14089f618:	cc                   	int3
14089f619:	cc                   	int3
14089f61a:	cc                   	int3
14089f61b:	cc                   	int3
14089f61c:	cc                   	int3
14089f61d:	cc                   	int3
14089f61e:	cc                   	int3
14089f61f:	cc                   	int3
14089f620:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14089f625:	57                   	push   %rdi
14089f626:	48 83 ec 20          	sub    $0x20,%rsp
14089f62a:	8b f2                	mov    %edx,%esi
14089f62c:	48 8b f9             	mov    %rcx,%rdi
14089f62f:	48 85 c9             	test   %rcx,%rcx
14089f632:	74 48                	je     0x14089f67c
14089f634:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
14089f639:	e8 62 ff ff ff       	call   0x14089f5a0
14089f63e:	8b e8                	mov    %eax,%ebp
14089f640:	40 f6 c6 01          	test   $0x1,%sil
14089f644:	74 26                	je     0x14089f66c
14089f646:	48 8b 49 18          	mov    0x18(%rcx),%rcx
14089f64a:	8b d6                	mov    %esi,%edx
14089f64c:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14089f651:	e8 ca ff ff ff       	call   0x14089f620
14089f656:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14089f65a:	8b d6                	mov    %esi,%edx
14089f65c:	8b d8                	mov    %eax,%ebx
14089f65e:	e8 bd ff ff ff       	call   0x14089f620
14089f663:	03 c5                	add    %ebp,%eax
14089f665:	03 c3                	add    %ebx,%eax
14089f667:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14089f66c:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14089f671:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14089f676:	48 83 c4 20          	add    $0x20,%rsp
14089f67a:	5f                   	pop    %rdi
14089f67b:	c3                   	ret
14089f67c:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14089f681:	33 c0                	xor    %eax,%eax
14089f683:	48 83 c4 20          	add    $0x20,%rsp
14089f687:	5f                   	pop    %rdi
14089f688:	c3                   	ret
14089f689:	cc                   	int3
14089f68a:	cc                   	int3
14089f68b:	cc                   	int3
14089f68c:	cc                   	int3
14089f68d:	cc                   	int3
14089f68e:	cc                   	int3
14089f68f:	cc                   	int3
14089f690:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
14089f695:	89 54 24 10          	mov    %edx,0x10(%rsp)
14089f699:	53                   	push   %rbx
14089f69a:	55                   	push   %rbp
14089f69b:	56                   	push   %rsi
14089f69c:	57                   	push   %rdi
14089f69d:	41 54                	push   %r12
14089f69f:	41 55                	push   %r13
14089f6a1:	41 56                	push   %r14
14089f6a3:	41 57                	push   %r15
14089f6a5:	48 83 ec 58          	sub    $0x58,%rsp
14089f6a9:	48 8b 41 50          	mov    0x50(%rcx),%rax
14089f6ad:	47 8d 2c 08          	lea    (%r8,%r9,1),%r13d
14089f6b1:	0f b7 71 18          	movzwl 0x18(%rcx),%esi
14089f6b5:	45 8b f9             	mov    %r9d,%r15d
14089f6b8:	0f b6 59 0c          	movzbl 0xc(%rcx),%ebx
14089f6bc:	45 8b f0             	mov    %r8d,%r14d
14089f6bf:	48 8b bc 24 c0 00 00 	mov    0xc0(%rsp),%rdi
14089f6c6:	00
14089f6c7:	03 de                	add    %esi,%ebx
14089f6c9:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14089f6ce:	03 da                	add    %edx,%ebx
14089f6d0:	0f b6 41 09          	movzbl 0x9(%rcx),%eax
14089f6d4:	44 8b e2             	mov    %edx,%r12d
14089f6d7:	88 84 24 b8 00 00 00 	mov    %al,0xb8(%rsp)
14089f6de:	48 8b e9             	mov    %rcx,%rbp
14089f6e1:	43 8d 04 09          	lea    (%r9,%r9,1),%eax
14089f6e5:	48 98                	cltq
14089f6e7:	48 03 41 60          	add    0x60(%rcx),%rax
14089f6eb:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14089f6f0:	41 3b d0             	cmp    %r8d,%edx
14089f6f3:	7d 66                	jge    0x14089f75b
14089f6f5:	44 2b c2             	sub    %edx,%r8d
14089f6f8:	4c 8b cf             	mov    %rdi,%r9
14089f6fb:	e8 40 82 01 00       	call   0x1408b7940