14018f3a1:	c3                   	ret
14018f3a2:	cc                   	int3
14018f3a3:	cc                   	int3
14018f3a4:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14018f3a9:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
14018f3ae:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14018f3b3:	55                   	push   %rbp
14018f3b4:	48 8b ec             	mov    %rsp,%rbp
14018f3b7:	48 83 ec 60          	sub    $0x60,%rsp
14018f3bb:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
14018f3bf:	48 85 c9             	test   %rcx,%rcx
14018f3c2:	75 15                	jne    0x14018f3d9
14018f3c4:	e8 43 0b 00 00       	call   0x14018ff0c
14018f3c9:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f3cf:	e8 90 c1 ff ff       	call   0x14018b564
14018f3d4:	83 c8 ff             	or     $0xffffffff,%eax
14018f3d7:	eb 63                	jmp    0x14018f43c
14018f3d9:	41 83 f8 04          	cmp    $0x4,%r8d
14018f3dd:	74 0b                	je     0x14018f3ea
14018f3df:	45 85 c0             	test   %r8d,%r8d
14018f3e2:	74 0f                	je     0x14018f3f3
14018f3e4:	41 83 f8 40          	cmp    $0x40,%r8d
14018f3e8:	75 da                	jne    0x14018f3c4
14018f3ea:	41 f7 c0 bf ff ff ff 	test   $0xffffffbf,%r8d
14018f3f1:	75 0c                	jne    0x14018f3ff
14018f3f3:	49 8d 41 fe          	lea    -0x2(%r9),%rax
14018f3f7:	48 3d fd ff ff 7f    	cmp    $0x7ffffffd,%rax
14018f3fd:	77 c5                	ja     0x14018f3c4
14018f3ff:	48 8d 45 28          	lea    0x28(%rbp),%rax
14018f403:	48 89 4d c8          	mov    %rcx,-0x38(%rbp)
14018f407:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14018f40b:	4c 8d 4d c8          	lea    -0x38(%rbp),%r9
14018f40f:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
14018f413:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
14018f417:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
14018f41b:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
14018f41f:	48 8d 45 20          	lea    0x20(%rbp),%rax
14018f423:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
14018f427:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
14018f42b:	48 8d 45 18          	lea    0x18(%rbp),%rax
14018f42f:	48 8d 4d 10          	lea    0x10(%rbp),%rcx
14018f433:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14018f437:	e8 38 fe ff ff       	call   0x14018f274
14018f43c:	48 83 c4 60          	add    $0x60,%rsp
14018f440:	5d                   	pop    %rbp
14018f441:	c3                   	ret
14018f442:	cc                   	int3
14018f443:	cc                   	int3
14018f444:	40 53                	rex push %rbx
14018f446:	48 83 ec 20          	sub    $0x20,%rsp
14018f44a:	48 8b d9             	mov    %rcx,%rbx
14018f44d:	48 85 c9             	test   %rcx,%rcx
14018f450:	75 14                	jne    0x14018f466
14018f452:	e8 b5 0a 00 00       	call   0x14018ff0c
14018f457:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f45d:	e8 02 c1 ff ff       	call   0x14018b564
14018f462:	33 c0                	xor    %eax,%eax
14018f464:	eb 6d                	jmp    0x14018f4d3
14018f466:	83 fa 01             	cmp    $0x1,%edx
14018f469:	75 f7                	jne    0x14018f462
14018f46b:	33 c0                	xor    %eax,%eax
14018f46d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14018f472:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14018f477:	e8 cc 80 01 00       	call   0x1401a7548
14018f47c:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
14018f481:	48 b9 00 80 c1 2a 21 	movabs $0xfe624e212ac18000,%rcx
14018f488:	4e 62 fe
14018f48b:	4c 03 c1             	add    %rcx,%r8
14018f48e:	48 b8 bd 42 7a e5 d5 	movabs $0xd6bf94d5e57a42bd,%rax
14018f495:	94 bf d6
14018f498:	49 f7 e8             	imul   %r8
14018f49b:	49 03 d0             	add    %r8,%rdx
14018f49e:	48 c1 fa 17          	sar    $0x17,%rdx
14018f4a2:	48 8b c2             	mov    %rdx,%rax
14018f4a5:	48 c1 e8 3f          	shr    $0x3f,%rax
14018f4a9:	48 03 d0             	add    %rax,%rdx
14018f4ac:	48 b8 ff 6f 40 93 07 	movabs $0x793406fff,%rax
14018f4b3:	00 00 00
14018f4b6:	48 3b d0             	cmp    %rax,%rdx
14018f4b9:	7f a7                	jg     0x14018f462
14018f4bb:	69 ca 80 96 98 00    	imul   $0x989680,%edx,%ecx
14018f4c1:	b8 01 00 00 00       	mov    $0x1,%eax
14018f4c6:	48 89 13             	mov    %rdx,(%rbx)
14018f4c9:	44 2b c1             	sub    %ecx,%r8d
14018f4cc:	41 6b c8 64          	imul   $0x64,%r8d,%ecx
14018f4d0:	89 4b 08             	mov    %ecx,0x8(%rbx)
14018f4d3:	48 83 c4 20          	add    $0x20,%rsp
14018f4d7:	5b                   	pop    %rbx
14018f4d8:	c3                   	ret
14018f4d9:	cc                   	int3
14018f4da:	cc                   	int3
14018f4db:	cc                   	int3
14018f4dc:	40 53                	rex push %rbx
14018f4de:	48 83 ec 30          	sub    $0x30,%rsp
14018f4e2:	33 c0                	xor    %eax,%eax
14018f4e4:	48 8b d9             	mov    %rcx,%rbx
14018f4e7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14018f4ec:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14018f4f1:	8d 50 01             	lea    0x1(%rax),%edx
14018f4f4:	e8 4b ff ff ff       	call   0x14018f444
14018f4f9:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
14018f4fe:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
14018f502:	83 f8 01             	cmp    $0x1,%eax
14018f505:	48 0f 45 d1          	cmovne %rcx,%rdx
14018f509:	48 85 db             	test   %rbx,%rbx
14018f50c:	74 03                	je     0x14018f511
14018f50e:	48 89 13             	mov    %rdx,(%rbx)
14018f511:	48 8b c2             	mov    %rdx,%rax
14018f514:	48 83 c4 30          	add    $0x30,%rsp
14018f518:	5b                   	pop    %rbx
14018f519:	c3                   	ret
14018f51a:	cc                   	int3
14018f51b:	cc                   	int3
14018f51c:	e9 9b 74 01 00       	jmp    0x1401a69bc
14018f521:	cc                   	int3
14018f522:	cc                   	int3
14018f523:	cc                   	int3
14018f524:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f529:	57                   	push   %rdi
14018f52a:	48 83 ec 20          	sub    $0x20,%rsp
14018f52e:	8b 42 14             	mov    0x14(%rdx),%eax
14018f531:	48 8b da             	mov    %rdx,%rbx
14018f534:	8b f9                	mov    %ecx,%edi
14018f536:	c1 e8 0c             	shr    $0xc,%eax
14018f539:	a8 01                	test   $0x1,%al
14018f53b:	75 7d                	jne    0x14018f5ba
14018f53d:	48 8b ca             	mov    %rdx,%rcx
14018f540:	e8 77 63 01 00       	call   0x1401a58bc
14018f545:	4c 63 c8             	movslq %eax,%r9
14018f548:	48 8d 15 81 bf 11 00 	lea    0x11bf81(%rip),%rdx        # 0x1402ab4d0
14018f54f:	4c 8d 15 ba e1 18 00 	lea    0x18e1ba(%rip),%r10        # 0x14031d710
14018f556:	41 8d 49 02          	lea    0x2(%r9),%ecx
14018f55a:	83 f9 01             	cmp    $0x1,%ecx
14018f55d:	76 18                	jbe    0x14018f577
14018f55f:	4d 8b c1             	mov    %r9,%r8
14018f562:	49 8b c9             	mov    %r9,%rcx
14018f565:	41 83 e0 3f          	and    $0x3f,%r8d
14018f569:	48 c1 f9 06          	sar    $0x6,%rcx
14018f56d:	49 c1 e0 06          	shl    $0x6,%r8
14018f571:	4d 03 04 ca          	add    (%r10,%rcx,8),%r8
14018f575:	eb 03                	jmp    0x14018f57a
14018f577:	4c 8b c2             	mov    %rdx,%r8
14018f57a:	41 80 78 39 00       	cmpb   $0x0,0x39(%r8)
14018f57f:	75 24                	jne    0x14018f5a5
14018f581:	41 8d 41 02          	lea    0x2(%r9),%eax
14018f585:	83 f8 01             	cmp    $0x1,%eax
14018f588:	76 15                	jbe    0x14018f59f
14018f58a:	49 8b d1             	mov    %r9,%rdx
14018f58d:	49 8b c1             	mov    %r9,%rax
14018f590:	83 e2 3f             	and    $0x3f,%edx
14018f593:	48 c1 f8 06          	sar    $0x6,%rax
14018f597:	48 c1 e2 06          	shl    $0x6,%rdx
14018f59b:	49 03 14 c2          	add    (%r10,%rax,8),%rdx
14018f59f:	f6 42 3d 01          	testb  $0x1,0x3d(%rdx)
14018f5a3:	74 15                	je     0x14018f5ba
14018f5a5:	e8 62 09 00 00       	call   0x14018ff0c
14018f5aa:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f5b0:	e8 af bf ff ff       	call   0x14018b564
14018f5b5:	83 c8 ff             	or     $0xffffffff,%eax
14018f5b8:	eb 6c                	jmp    0x14018f626
14018f5ba:	83 ff ff             	cmp    $0xffffffff,%edi
14018f5bd:	74 f6                	je     0x14018f5b5
14018f5bf:	8b 43 14             	mov    0x14(%rbx),%eax
14018f5c2:	8b 4b 14             	mov    0x14(%rbx),%ecx
14018f5c5:	a8 01                	test   $0x1,%al
14018f5c7:	75 08                	jne    0x14018f5d1
14018f5c9:	83 e1 06             	and    $0x6,%ecx
14018f5cc:	80 f9 06             	cmp    $0x6,%cl
14018f5cf:	75 e4                	jne    0x14018f5b5
14018f5d1:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
14018f5d6:	75 08                	jne    0x14018f5e0
14018f5d8:	48 8b cb             	mov    %rbx,%rcx
14018f5db:	e8 88 9c 01 00       	call   0x1401a9268
14018f5e0:	48 8b 03             	mov    (%rbx),%rax
14018f5e3:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14018f5e7:	75 0c                	jne    0x14018f5f5
14018f5e9:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
14018f5ed:	74 c6                	je     0x14018f5b5
14018f5ef:	48 ff c0             	inc    %rax
14018f5f2:	48 89 03             	mov    %rax,(%rbx)
14018f5f5:	8b 43 14             	mov    0x14(%rbx),%eax
14018f5f8:	48 ff 0b             	decq   (%rbx)
14018f5fb:	c1 e8 0c             	shr    $0xc,%eax
14018f5fe:	a8 01                	test   $0x1,%al
14018f600:	48 8b 03             	mov    (%rbx),%rax
14018f603:	74 0d                	je     0x14018f612
14018f605:	40 38 38             	cmp    %dil,(%rax)
14018f608:	74 0b                	je     0x14018f615
14018f60a:	48 ff c0             	inc    %rax
14018f60d:	48 89 03             	mov    %rax,(%rbx)
14018f610:	eb a3                	jmp    0x14018f5b5
14018f612:	40 88 38             	mov    %dil,(%rax)
14018f615:	ff 43 10             	incl   0x10(%rbx)
14018f618:	f0 83 63 14 f7       	lock andl $0xfffffff7,0x14(%rbx)
14018f61d:	f0 83 4b 14 01       	lock orl $0x1,0x14(%rbx)
14018f622:	40 0f b6 c7          	movzbl %dil,%eax
14018f626:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018f62b:	48 83 c4 20          	add    $0x20,%rsp
14018f62f:	5f                   	pop    %rdi
14018f630:	c3                   	ret
14018f631:	cc                   	int3
14018f632:	cc                   	int3
14018f633:	cc                   	int3
14018f634:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f639:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14018f63e:	57                   	push   %rdi
14018f63f:	48 83 ec 20          	sub    $0x20,%rsp
14018f643:	48 8b da             	mov    %rdx,%rbx
14018f646:	8b f9                	mov    %ecx,%edi
14018f648:	33 c0                	xor    %eax,%eax
14018f64a:	48 85 d2             	test   %rdx,%rdx
14018f64d:	0f 95 c0             	setne  %al
14018f650:	85 c0                	test   %eax,%eax
14018f652:	75 15                	jne    0x14018f669
14018f654:	e8 b3 08 00 00       	call   0x14018ff0c
14018f659:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f65f:	e8 00 bf ff ff       	call   0x14018b564
14018f664:	83 c8 ff             	or     $0xffffffff,%eax
14018f667:	eb 1f                	jmp    0x14018f688
14018f669:	48 8b ca             	mov    %rdx,%rcx
14018f66c:	e8 33 cc ff ff       	call   0x14018c2a4
14018f671:	90                   	nop
14018f672:	48 8b d3             	mov    %rbx,%rdx
14018f675:	8b cf                	mov    %edi,%ecx
14018f677:	e8 a8 fe ff ff       	call   0x14018f524
14018f67c:	8b f8                	mov    %eax,%edi
14018f67e:	48 8b cb             	mov    %rbx,%rcx
14018f681:	e8 2a cc ff ff       	call   0x14018c2b0
14018f686:	8b c7                	mov    %edi,%eax
14018f688:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018f68d:	48 83 c4 20          	add    $0x20,%rsp
14018f691:	5f                   	pop    %rdi
14018f692:	c3                   	ret
14018f693:	cc                   	int3
14018f694:	48 83 ec 28          	sub    $0x28,%rsp
14018f698:	48 85 c9             	test   %rcx,%rcx
14018f69b:	75 18                	jne    0x14018f6b5
14018f69d:	e8 6a 08 00 00       	call   0x14018ff0c
14018f6a2:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f6a8:	e8 b7 be ff ff       	call   0x14018b564
14018f6ad:	83 c8 ff             	or     $0xffffffff,%eax
14018f6b0:	48 83 c4 28          	add    $0x28,%rsp
14018f6b4:	c3                   	ret
14018f6b5:	48 85 d2             	test   %rdx,%rdx
14018f6b8:	74 e3                	je     0x14018f69d
14018f6ba:	48 8b 12             	mov    (%rdx),%rdx
14018f6bd:	45 33 c0             	xor    %r8d,%r8d
14018f6c0:	48 83 c4 28          	add    $0x28,%rsp
14018f6c4:	e9 bf 05 00 00       	jmp    0x14018fc88
14018f6c9:	cc                   	int3
14018f6ca:	cc                   	int3
14018f6cb:	cc                   	int3
14018f6cc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f6d1:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14018f6d6:	55                   	push   %rbp
14018f6d7:	56                   	push   %rsi
14018f6d8:	57                   	push   %rdi
14018f6d9:	41 54                	push   %r12
14018f6db:	41 55                	push   %r13
14018f6dd:	41 56                	push   %r14
14018f6df:	41 57                	push   %r15
14018f6e1:	48 83 ec 30          	sub    $0x30,%rsp
14018f6e5:	4d 8b f0             	mov    %r8,%r14
14018f6e8:	48 8b ea             	mov    %rdx,%rbp
14018f6eb:	4c 8b e1             	mov    %rcx,%r12
14018f6ee:	4d 85 c0             	test   %r8,%r8
14018f6f1:	74 1a                	je     0x14018f70d
14018f6f3:	4d 85 c9             	test   %r9,%r9
14018f6f6:	74 15                	je     0x14018f70d
14018f6f8:	48 85 c9             	test   %rcx,%rcx
14018f6fb:	75 27                	jne    0x14018f724
14018f6fd:	e8 0a 08 00 00       	call   0x14018ff0c
14018f702:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f708:	e8 57 be ff ff       	call   0x14018b564
14018f70d:	33 c0                	xor    %eax,%eax
14018f70f:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14018f714:	48 83 c4 30          	add    $0x30,%rsp
14018f718:	41 5f                	pop    %r15
14018f71a:	41 5e                	pop    %r14
14018f71c:	41 5d                	pop    %r13
14018f71e:	41 5c                	pop    %r12
14018f720:	5f                   	pop    %rdi
14018f721:	5e                   	pop    %rsi
14018f722:	5d                   	pop    %rbp
14018f723:	c3                   	ret
14018f724:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
14018f72b:	00
14018f72c:	48 85 db             	test   %rbx,%rbx
14018f72f:	74 0e                	je     0x14018f73f
14018f731:	33 d2                	xor    %edx,%edx
14018f733:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14018f737:	49 f7 f6             	div    %r14
14018f73a:	4c 3b c8             	cmp    %rax,%r9
14018f73d:	76 2b                	jbe    0x14018f76a
14018f73f:	48 83 fd ff          	cmp    $0xffffffffffffffff,%rbp
14018f743:	74 12                	je     0x14018f757
14018f745:	4c 8b c5             	mov    %rbp,%r8
14018f748:	33 d2                	xor    %edx,%edx
14018f74a:	e8 21 93 ff ff       	call   0x140188a70
14018f74f:	4c 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9
14018f756:	00
14018f757:	48 85 db             	test   %rbx,%rbx
14018f75a:	74 a1                	je     0x14018f6fd
14018f75c:	33 d2                	xor    %edx,%edx
14018f75e:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14018f762:	49 f7 f6             	div    %r14
14018f765:	4c 3b c8             	cmp    %rax,%r9
14018f768:	77 93                	ja     0x14018f6fd
14018f76a:	8b 43 14             	mov    0x14(%rbx),%eax
14018f76d:	a9 c0 04 00 00       	test   $0x4c0,%eax
14018f772:	74 05                	je     0x14018f779
14018f774:	8b 4b 20             	mov    0x20(%rbx),%ecx
14018f777:	eb 05                	jmp    0x14018f77e
14018f779:	b9 00 10 00 00       	mov    $0x1000,%ecx
14018f77e:	49 8b fe             	mov    %r14,%rdi
14018f781:	89 8c 24 90 00 00 00 	mov    %ecx,0x90(%rsp)
14018f788:	49 0f af f9          	imul   %r9,%rdi
14018f78c:	4d 8b fc             	mov    %r12,%r15
14018f78f:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14018f794:	48 8b f7             	mov    %rdi,%rsi
14018f797:	4c 8b ed             	mov    %rbp,%r13
14018f79a:	48 85 ff             	test   %rdi,%rdi
14018f79d:	0f 84 62 01 00 00    	je     0x14018f905
14018f7a3:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
14018f7a8:	8b 43 14             	mov    0x14(%rbx),%eax
14018f7ab:	a9 c0 04 00 00       	test   $0x4c0,%eax
14018f7b0:	0f 84 b2 00 00 00    	je     0x14018f868
14018f7b6:	48 63 43 10          	movslq 0x10(%rbx),%rax
14018f7ba:	85 c0                	test   %eax,%eax
14018f7bc:	0f 84 a6 00 00 00    	je     0x14018f868
14018f7c2:	0f 88 68 01 00 00    	js     0x14018f930
14018f7c8:	48 3b f0             	cmp    %rax,%rsi
14018f7cb:	44 8b f8             	mov    %eax,%r15d
14018f7ce:	44 0f 42 fe          	cmovb  %esi,%r15d
14018f7d2:	4d 3b fd             	cmp    %r13,%r15
14018f7d5:	0f 87 32 01 00 00    	ja     0x14018f90d
14018f7db:	48 8b 0b             	mov    (%rbx),%rcx
14018f7de:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
14018f7e3:	4d 85 ff             	test   %r15,%r15
14018f7e6:	74 5b                	je     0x14018f843
14018f7e8:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14018f7ed:	48 85 c0             	test   %rax,%rax
14018f7f0:	75 0d                	jne    0x14018f7ff
14018f7f2:	e8 15 07 00 00       	call   0x14018ff0c
14018f7f7:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f7fd:	eb 3f                	jmp    0x14018f83e
14018f7ff:	48 85 c9             	test   %rcx,%rcx
14018f802:	74 15                	je     0x14018f819
14018f804:	4d 3b ef             	cmp    %r15,%r13
14018f807:	72 10                	jb     0x14018f819