14018e4a0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14018e4a5:	55                   	push   %rbp
14018e4a6:	56                   	push   %rsi
14018e4a7:	41 56                	push   %r14
14018e4a9:	48 83 ec 20          	sub    $0x20,%rsp
14018e4ad:	48 8b 59 28          	mov    0x28(%rcx),%rbx
14018e4b1:	48 8b f2             	mov    %rdx,%rsi
14018e4b4:	41 8b e8             	mov    %r8d,%ebp
14018e4b7:	4c 8b d1             	mov    %rcx,%r10
14018e4ba:	4c 8b 4b 40          	mov    0x40(%rbx),%r9
14018e4be:	4d 85 c9             	test   %r9,%r9
14018e4c1:	75 37                	jne    0x14018e4fa
14018e4c3:	8b 4b 30             	mov    0x30(%rbx),%ecx
14018e4c6:	ba 01 00 00 00       	mov    $0x1,%edx
14018e4cb:	d3 e2                	shl    %cl,%edx
14018e4cd:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14018e4d3:	49 8b 4a 40          	mov    0x40(%r10),%rcx
14018e4d7:	41 ff 52 30          	call   *0x30(%r10)
14018e4db:	48 89 43 40          	mov    %rax,0x40(%rbx)
14018e4df:	4c 8b c8             	mov    %rax,%r9
14018e4e2:	48 85 c0             	test   %rax,%rax
14018e4e5:	75 13                	jne    0x14018e4fa
14018e4e7:	b8 01 00 00 00       	mov    $0x1,%eax
14018e4ec:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14018e4f1:	48 83 c4 20          	add    $0x20,%rsp
14018e4f5:	41 5e                	pop    %r14
14018e4f7:	5e                   	pop    %rsi
14018e4f8:	5d                   	pop    %rbp
14018e4f9:	c3                   	ret
14018e4fa:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
14018e4ff:	8b 7b 34             	mov    0x34(%rbx),%edi
14018e502:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
14018e507:	45 33 ff             	xor    %r15d,%r15d
14018e50a:	85 ff                	test   %edi,%edi
14018e50c:	75 11                	jne    0x14018e51f
14018e50e:	8b 4b 30             	mov    0x30(%rbx),%ecx
14018e511:	bf 01 00 00 00       	mov    $0x1,%edi
14018e516:	d3 e7                	shl    %cl,%edi
14018e518:	89 7b 34             	mov    %edi,0x34(%rbx)
14018e51b:	4c 89 7b 38          	mov    %r15,0x38(%rbx)
14018e51f:	3b ef                	cmp    %edi,%ebp
14018e521:	72 1a                	jb     0x14018e53d
14018e523:	44 8b c7             	mov    %edi,%r8d
14018e526:	49 8b c9             	mov    %r9,%rcx
14018e529:	49 2b f0             	sub    %r8,%rsi
14018e52c:	48 8b d6             	mov    %rsi,%rdx
14018e52f:	e8 f4 e4 16 00       	call   0x1402fca28
14018e534:	8b 43 34             	mov    0x34(%rbx),%eax
14018e537:	44 89 7b 3c          	mov    %r15d,0x3c(%rbx)
14018e53b:	eb 51                	jmp    0x14018e58e
14018e53d:	8b 4b 3c             	mov    0x3c(%rbx),%ecx
14018e540:	48 8b d6             	mov    %rsi,%rdx
14018e543:	2b f9                	sub    %ecx,%edi
14018e545:	3b fd                	cmp    %ebp,%edi
14018e547:	0f 47 fd             	cmova  %ebp,%edi
14018e54a:	48 2b d5             	sub    %rbp,%rdx
14018e54d:	44 8b c7             	mov    %edi,%r8d
14018e550:	49 03 c9             	add    %r9,%rcx
14018e553:	e8 d0 e4 16 00       	call   0x1402fca28
14018e558:	2b ef                	sub    %edi,%ebp
14018e55a:	74 1a                	je     0x14018e576
14018e55c:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
14018e560:	44 8b c5             	mov    %ebp,%r8d
14018e563:	49 2b f0             	sub    %r8,%rsi
14018e566:	48 8b d6             	mov    %rsi,%rdx
14018e569:	e8 ba e4 16 00       	call   0x1402fca28
14018e56e:	8b 43 34             	mov    0x34(%rbx),%eax
14018e571:	89 6b 3c             	mov    %ebp,0x3c(%rbx)
14018e574:	eb 18                	jmp    0x14018e58e
14018e576:	01 7b 3c             	add    %edi,0x3c(%rbx)
14018e579:	8b 4b 34             	mov    0x34(%rbx),%ecx
14018e57c:	39 4b 3c             	cmp    %ecx,0x3c(%rbx)
14018e57f:	75 04                	jne    0x14018e585
14018e581:	44 89 7b 3c          	mov    %r15d,0x3c(%rbx)
14018e585:	8b 43 38             	mov    0x38(%rbx),%eax
14018e588:	3b c1                	cmp    %ecx,%eax
14018e58a:	73 05                	jae    0x14018e591
14018e58c:	03 c7                	add    %edi,%eax
14018e58e:	89 43 38             	mov    %eax,0x38(%rbx)
14018e591:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
14018e596:	33 c0                	xor    %eax,%eax
14018e598:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
14018e59d:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14018e5a2:	48 83 c4 20          	add    $0x20,%rsp
14018e5a6:	41 5e                	pop    %r14
14018e5a8:	5e                   	pop    %rsi
14018e5a9:	5d                   	pop    %rbp
14018e5aa:	c3                   	ret
14018e5ab:	cc                   	int3
14018e5ac:	cc                   	int3
14018e5ad:	cc                   	int3
14018e5ae:	cc                   	int3
14018e5af:	cc                   	int3
14018e5b0:	41 0f af d0          	imul   %r8d,%edx
14018e5b4:	8b ca                	mov    %edx,%ecx
14018e5b6:	48 ff 25 63 b9 19 00 	rex.W jmp *0x19b963(%rip)        # 0x140329f20
14018e5bd:	cc                   	int3
14018e5be:	cc                   	int3
14018e5bf:	cc                   	int3
14018e5c0:	48 8b ca             	mov    %rdx,%rcx
14018e5c3:	48 ff 25 4e b9 19 00 	rex.W jmp *0x19b94e(%rip)        # 0x140329f18
14018e5ca:	cc                   	int3
14018e5cb:	cc                   	int3
14018e5cc:	cc                   	int3
14018e5cd:	cc                   	int3
14018e5ce:	cc                   	int3
14018e5cf:	cc                   	int3
14018e5d0:	48 8d 05 29 eb 19 00 	lea    0x19eb29(%rip),%rax        # 0x14032d100
14018e5d7:	c3                   	ret
14018e5d8:	cc                   	int3
14018e5d9:	cc                   	int3
14018e5da:	cc                   	int3
14018e5db:	cc                   	int3
14018e5dc:	cc                   	int3
14018e5dd:	cc                   	int3
14018e5de:	cc                   	int3
14018e5df:	cc                   	int3
14018e5e0:	45 8b c0             	mov    %r8d,%r8d
14018e5e3:	e9 08 00 00 00       	jmp    0x14018e5f0
14018e5e8:	cc                   	int3
14018e5e9:	cc                   	int3
14018e5ea:	cc                   	int3
14018e5eb:	cc                   	int3
14018e5ec:	cc                   	int3
14018e5ed:	cc                   	int3
14018e5ee:	cc                   	int3
14018e5ef:	cc                   	int3
14018e5f0:	44 8b c9             	mov    %ecx,%r9d
14018e5f3:	4c 8b d2             	mov    %rdx,%r10
14018e5f6:	41 c1 e9 10          	shr    $0x10,%r9d
14018e5fa:	0f b7 c9             	movzwl %cx,%ecx
14018e5fd:	49 83 f8 01          	cmp    $0x1,%r8
14018e601:	75 31                	jne    0x14018e634
14018e603:	0f b6 12             	movzbl (%rdx),%edx
14018e606:	03 d1                	add    %ecx,%edx
14018e608:	81 fa f1 ff 00 00    	cmp    $0xfff1,%edx
14018e60e:	44 8d 82 0f 00 ff ff 	lea    -0xfff1(%rdx),%r8d
14018e615:	44 0f 42 c2          	cmovb  %edx,%r8d
14018e619:	43 8d 04 08          	lea    (%r8,%r9,1),%eax
14018e61d:	3d f1 ff 00 00       	cmp    $0xfff1,%eax
14018e622:	8d 88 0f 00 ff ff    	lea    -0xfff1(%rax),%ecx
14018e628:	0f 42 c8             	cmovb  %eax,%ecx
14018e62b:	c1 e1 10             	shl    $0x10,%ecx
14018e62e:	41 0b c8             	or     %r8d,%ecx
14018e631:	8b c1                	mov    %ecx,%eax
14018e633:	c3                   	ret
14018e634:	48 85 d2             	test   %rdx,%rdx
14018e637:	75 06                	jne    0x14018e63f
14018e639:	b8 01 00 00 00       	mov    $0x1,%eax
14018e63e:	c3                   	ret
14018e63f:	49 83 f8 10          	cmp    $0x10,%r8
14018e643:	73 47                	jae    0x14018e68c
14018e645:	4d 85 c0             	test   %r8,%r8
14018e648:	74 19                	je     0x14018e663
14018e64a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14018e650:	41 0f b6 02          	movzbl (%r10),%eax
14018e654:	4d 8d 52 01          	lea    0x1(%r10),%r10
14018e658:	03 c8                	add    %eax,%ecx
14018e65a:	44 03 c9             	add    %ecx,%r9d
14018e65d:	49 83 e8 01          	sub    $0x1,%r8
14018e661:	75 ed                	jne    0x14018e650
14018e663:	81 f9 f1 ff 00 00    	cmp    $0xfff1,%ecx
14018e669:	44 8d 81 0f 00 ff ff 	lea    -0xfff1(%rcx),%r8d
14018e670:	b8 71 80 07 80       	mov    $0x80078071,%eax
14018e675:	44 0f 42 c1          	cmovb  %ecx,%r8d
14018e679:	41 f7 e1             	mul    %r9d
14018e67c:	c1 ea 0f             	shr    $0xf,%edx
14018e67f:	6b c2 0f             	imul   $0xf,%edx,%eax
14018e682:	41 03 c1             	add    %r9d,%eax
14018e685:	c1 e0 10             	shl    $0x10,%eax
14018e688:	41 0b c0             	or     %r8d,%eax
14018e68b:	c3                   	ret
14018e68c:	49 81 f8 b0 15 00 00 	cmp    $0x15b0,%r8
14018e693:	0f 82 26 01 00 00    	jb     0x14018e7bf
14018e699:	4d 8b d8             	mov    %r8,%r11
14018e69c:	48 b8 f7 b6 98 63 bb 	movabs $0x79baa6bb6398b6f7,%rax
14018e6a3:	a6 ba 79
14018e6a6:	49 f7 e0             	mul    %r8
14018e6a9:	4c 2b da             	sub    %rdx,%r11
14018e6ac:	49 d1 eb             	shr    $1,%r11
14018e6af:	4c 03 da             	add    %rdx,%r11
14018e6b2:	49 c1 eb 0c          	shr    $0xc,%r11
14018e6b6:	49 69 c3 50 ea ff ff 	imul   $0xffffffffffffea50,%r11,%rax
14018e6bd:	4c 03 c0             	add    %rax,%r8
14018e6c0:	ba 5b 01 00 00       	mov    $0x15b,%edx
14018e6c5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14018e6cc:	00 00 00 00
14018e6d0:	41 0f b6 02          	movzbl (%r10),%eax
14018e6d4:	03 c8                	add    %eax,%ecx
14018e6d6:	41 0f b6 42 01       	movzbl 0x1(%r10),%eax
14018e6db:	44 03 c9             	add    %ecx,%r9d
14018e6de:	03 c8                	add    %eax,%ecx
14018e6e0:	41 0f b6 42 02       	movzbl 0x2(%r10),%eax
14018e6e5:	44 03 c9             	add    %ecx,%r9d
14018e6e8:	03 c8                	add    %eax,%ecx
14018e6ea:	41 0f b6 42 03       	movzbl 0x3(%r10),%eax
14018e6ef:	44 03 c9             	add    %ecx,%r9d
14018e6f2:	03 c8                	add    %eax,%ecx
14018e6f4:	41 0f b6 42 04       	movzbl 0x4(%r10),%eax
14018e6f9:	44 03 c9             	add    %ecx,%r9d
14018e6fc:	03 c8                	add    %eax,%ecx
14018e6fe:	41 0f b6 42 05       	movzbl 0x5(%r10),%eax
14018e703:	44 03 c9             	add    %ecx,%r9d
14018e706:	03 c8                	add    %eax,%ecx
14018e708:	41 0f b6 42 06       	movzbl 0x6(%r10),%eax
14018e70d:	44 03 c9             	add    %ecx,%r9d
14018e710:	03 c8                	add    %eax,%ecx
14018e712:	41 0f b6 42 07       	movzbl 0x7(%r10),%eax
14018e717:	44 03 c9             	add    %ecx,%r9d
14018e71a:	03 c8                	add    %eax,%ecx
14018e71c:	41 0f b6 42 08       	movzbl 0x8(%r10),%eax
14018e721:	44 03 c9             	add    %ecx,%r9d
14018e724:	03 c8                	add    %eax,%ecx
14018e726:	41 0f b6 42 09       	movzbl 0x9(%r10),%eax
14018e72b:	44 03 c9             	add    %ecx,%r9d
14018e72e:	03 c8                	add    %eax,%ecx
14018e730:	41 0f b6 42 0a       	movzbl 0xa(%r10),%eax
14018e735:	44 03 c9             	add    %ecx,%r9d
14018e738:	03 c8                	add    %eax,%ecx
14018e73a:	41 0f b6 42 0b       	movzbl 0xb(%r10),%eax
14018e73f:	44 03 c9             	add    %ecx,%r9d
14018e742:	03 c8                	add    %eax,%ecx
14018e744:	41 0f b6 42 0c       	movzbl 0xc(%r10),%eax
14018e749:	44 03 c9             	add    %ecx,%r9d
14018e74c:	03 c8                	add    %eax,%ecx
14018e74e:	41 0f b6 42 0d       	movzbl 0xd(%r10),%eax
14018e753:	44 03 c9             	add    %ecx,%r9d
14018e756:	03 c8                	add    %eax,%ecx
14018e758:	41 0f b6 42 0e       	movzbl 0xe(%r10),%eax
14018e75d:	44 03 c9             	add    %ecx,%r9d
14018e760:	03 c8                	add    %eax,%ecx
14018e762:	41 0f b6 42 0f       	movzbl 0xf(%r10),%eax
14018e767:	44 03 c9             	add    %ecx,%r9d
14018e76a:	49 83 c2 10          	add    $0x10,%r10
14018e76e:	03 c8                	add    %eax,%ecx
14018e770:	44 03 c9             	add    %ecx,%r9d
14018e773:	83 c2 ff             	add    $0xffffffff,%edx
14018e776:	0f 85 54 ff ff ff    	jne    0x14018e6d0
14018e77c:	b8 71 80 07 80       	mov    $0x80078071,%eax
14018e781:	f7 e1                	mul    %ecx
14018e783:	c1 ea 0f             	shr    $0xf,%edx
14018e786:	69 c2 0f 00 ff ff    	imul   $0xffff000f,%edx,%eax
14018e78c:	03 c8                	add    %eax,%ecx
14018e78e:	b8 71 80 07 80       	mov    $0x80078071,%eax
14018e793:	41 f7 e1             	mul    %r9d
14018e796:	c1 ea 0f             	shr    $0xf,%edx
14018e799:	69 c2 0f 00 ff ff    	imul   $0xffff000f,%edx,%eax
14018e79f:	44 03 c8             	add    %eax,%r9d
14018e7a2:	49 83 eb 01          	sub    $0x1,%r11
14018e7a6:	0f 85 14 ff ff ff    	jne    0x14018e6c0
14018e7ac:	4d 85 c0             	test   %r8,%r8
14018e7af:	0f 84 06 01 00 00    	je     0x14018e8bb
14018e7b5:	49 83 f8 10          	cmp    $0x10,%r8
14018e7b9:	0f 82 c3 00 00 00    	jb     0x14018e882
14018e7bf:	49 8b d0             	mov    %r8,%rdx
14018e7c2:	48 c1 ea 04          	shr    $0x4,%rdx
14018e7c6:	48 6b c2 f0          	imul   $0xfffffffffffffff0,%rdx,%rax
14018e7ca:	4c 03 c0             	add    %rax,%r8
14018e7cd:	0f 1f 00             	nopl   (%rax)
14018e7d0:	41 0f b6 02          	movzbl (%r10),%eax
14018e7d4:	03 c8                	add    %eax,%ecx
14018e7d6:	41 0f b6 42 01       	movzbl 0x1(%r10),%eax
14018e7db:	44 03 c9             	add    %ecx,%r9d
14018e7de:	03 c8                	add    %eax,%ecx
14018e7e0:	41 0f b6 42 02       	movzbl 0x2(%r10),%eax
14018e7e5:	44 03 c9             	add    %ecx,%r9d
14018e7e8:	03 c8                	add    %eax,%ecx
14018e7ea:	41 0f b6 42 03       	movzbl 0x3(%r10),%eax
14018e7ef:	44 03 c9             	add    %ecx,%r9d
14018e7f2:	03 c8                	add    %eax,%ecx
14018e7f4:	41 0f b6 42 04       	movzbl 0x4(%r10),%eax
14018e7f9:	44 03 c9             	add    %ecx,%r9d
14018e7fc:	03 c8                	add    %eax,%ecx
14018e7fe:	41 0f b6 42 05       	movzbl 0x5(%r10),%eax
14018e803:	44 03 c9             	add    %ecx,%r9d
14018e806:	03 c8                	add    %eax,%ecx
14018e808:	41 0f b6 42 06       	movzbl 0x6(%r10),%eax
14018e80d:	44 03 c9             	add    %ecx,%r9d
14018e810:	03 c8                	add    %eax,%ecx
14018e812:	41 0f b6 42 07       	movzbl 0x7(%r10),%eax
14018e817:	44 03 c9             	add    %ecx,%r9d
14018e81a:	03 c8                	add    %eax,%ecx
14018e81c:	41 0f b6 42 08       	movzbl 0x8(%r10),%eax
14018e821:	44 03 c9             	add    %ecx,%r9d
14018e824:	03 c8                	add    %eax,%ecx
14018e826:	41 0f b6 42 09       	movzbl 0x9(%r10),%eax
14018e82b:	44 03 c9             	add    %ecx,%r9d
14018e82e:	03 c8                	add    %eax,%ecx
14018e830:	41 0f b6 42 0a       	movzbl 0xa(%r10),%eax
14018e835:	44 03 c9             	add    %ecx,%r9d
14018e838:	03 c8                	add    %eax,%ecx
14018e83a:	41 0f b6 42 0b       	movzbl 0xb(%r10),%eax
14018e83f:	44 03 c9             	add    %ecx,%r9d
14018e842:	03 c8                	add    %eax,%ecx
14018e844:	41 0f b6 42 0c       	movzbl 0xc(%r10),%eax
14018e849:	44 03 c9             	add    %ecx,%r9d
14018e84c:	03 c8                	add    %eax,%ecx
14018e84e:	41 0f b6 42 0d       	movzbl 0xd(%r10),%eax
14018e853:	44 03 c9             	add    %ecx,%r9d
14018e856:	03 c8                	add    %eax,%ecx
14018e858:	41 0f b6 42 0e       	movzbl 0xe(%r10),%eax
14018e85d:	44 03 c9             	add    %ecx,%r9d
14018e860:	03 c8                	add    %eax,%ecx
14018e862:	41 0f b6 42 0f       	movzbl 0xf(%r10),%eax
14018e867:	44 03 c9             	add    %ecx,%r9d
14018e86a:	49 83 c2 10          	add    $0x10,%r10
14018e86e:	03 c8                	add    %eax,%ecx
14018e870:	44 03 c9             	add    %ecx,%r9d
14018e873:	48 83 ea 01          	sub    $0x1,%rdx
14018e877:	0f 85 53 ff ff ff    	jne    0x14018e7d0
14018e87d:	4d 85 c0             	test   %r8,%r8
14018e880:	74 13                	je     0x14018e895
14018e882:	41 0f b6 02          	movzbl (%r10),%eax
14018e886:	4d 8d 52 01          	lea    0x1(%r10),%r10
14018e88a:	03 c8                	add    %eax,%ecx
14018e88c:	44 03 c9             	add    %ecx,%r9d
14018e88f:	49 83 e8 01          	sub    $0x1,%r8
14018e893:	75 ed                	jne    0x14018e882
14018e895:	b8 71 80 07 80       	mov    $0x80078071,%eax
14018e89a:	f7 e1                	mul    %ecx
14018e89c:	b8 71 80 07 80       	mov    $0x80078071,%eax
14018e8a1:	c1 ea 0f             	shr    $0xf,%edx
14018e8a4:	69 d2 0f 00 ff ff    	imul   $0xffff000f,%edx,%edx
14018e8aa:	03 ca                	add    %edx,%ecx
14018e8ac:	41 f7 e1             	mul    %r9d
14018e8af:	c1 ea 0f             	shr    $0xf,%edx
14018e8b2:	69 d2 0f 00 ff ff    	imul   $0xffff000f,%edx,%edx
14018e8b8:	44 03 ca             	add    %edx,%r9d
14018e8bb:	41 c1 e1 10          	shl    $0x10,%r9d
14018e8bf:	44 0b c9             	or     %ecx,%r9d
14018e8c2:	41 8b c1             	mov    %r9d,%eax
14018e8c5:	c3                   	ret
14018e8c6:	cc                   	int3
14018e8c7:	cc                   	int3
14018e8c8:	cc                   	int3
14018e8c9:	cc                   	int3
14018e8ca:	cc                   	int3
14018e8cb:	cc                   	int3
14018e8cc:	cc                   	int3
14018e8cd:	cc                   	int3
14018e8ce:	cc                   	int3
14018e8cf:	cc                   	int3
14018e8d0:	45 8b c0             	mov    %r8d,%r8d
14018e8d3:	48 85 d2             	test   %rdx,%rdx
14018e8d6:	75 03                	jne    0x14018e8db
14018e8d8:	33 c0                	xor    %eax,%eax
14018e8da:	c3                   	ret
14018e8db:	e9 00 00 00 00       	jmp    0x14018e8e0
14018e8e0:	40 57                	rex push %rdi
14018e8e2:	48 8d 3d b7 44 1b 00 	lea    0x1b44b7(%rip),%rdi        # 0x140342da0