1801104e3:	5f                   	pop    %rdi
1801104e4:	c3                   	ret
1801104e5:	cc                   	int3
1801104e6:	cc                   	int3
1801104e7:	cc                   	int3
1801104e8:	4c 8b d1             	mov    %rcx,%r10
1801104eb:	4c 3b ca             	cmp    %rdx,%r9
1801104ee:	73 1d                	jae    0x18011050d
1801104f0:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1801104f4:	48 8d 04 c1          	lea    (%rcx,%rax,8),%rax
1801104f8:	48 83 38 00          	cmpq   $0x0,(%rax)
1801104fc:	75 55                	jne    0x180110553
1801104fe:	48 ff ca             	dec    %rdx
180110501:	48 83 e8 08          	sub    $0x8,%rax
180110505:	49 3b d1             	cmp    %r9,%rdx
180110508:	77 ee                	ja     0x1801104f8
18011050a:	4c 3b ca             	cmp    %rdx,%r9
18011050d:	76 1a                	jbe    0x180110529
18011050f:	49 8d 41 ff          	lea    -0x1(%r9),%rax
180110513:	49 8d 04 c0          	lea    (%r8,%rax,8),%rax
180110517:	48 83 38 00          	cmpq   $0x0,(%rax)
18011051b:	75 3d                	jne    0x18011055a
18011051d:	49 ff c9             	dec    %r9
180110520:	48 83 e8 08          	sub    $0x8,%rax
180110524:	4c 3b ca             	cmp    %rdx,%r9
180110527:	77 ee                	ja     0x180110517
180110529:	48 85 d2             	test   %rdx,%rdx
18011052c:	74 21                	je     0x18011054f
18011052e:	49 8d 40 f8          	lea    -0x8(%r8),%rax
180110532:	4d 2b d0             	sub    %r8,%r10
180110535:	48 8d 04 d0          	lea    (%rax,%rdx,8),%rax
180110539:	49 8b 0c 02          	mov    (%r10,%rax,1),%rcx
18011053d:	4c 8b 00             	mov    (%rax),%r8
180110540:	4c 3b c1             	cmp    %rcx,%r8
180110543:	75 1a                	jne    0x18011055f
180110545:	48 83 e8 08          	sub    $0x8,%rax
180110549:	48 83 ea 01          	sub    $0x1,%rdx
18011054d:	75 ea                	jne    0x180110539
18011054f:	33 c0                	xor    %eax,%eax
180110551:	c3                   	ret
180110552:	cc                   	int3
180110553:	b8 01 00 00 00       	mov    $0x1,%eax
180110558:	c3                   	ret
180110559:	cc                   	int3
18011055a:	83 c8 ff             	or     $0xffffffff,%eax
18011055d:	c3                   	ret
18011055e:	cc                   	int3
18011055f:	1b c0                	sbb    %eax,%eax
180110561:	83 e0 02             	and    $0x2,%eax
180110564:	ff c8                	dec    %eax
180110566:	c3                   	ret
180110567:	cc                   	int3
180110568:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011056d:	45 33 d2             	xor    %r10d,%r10d
180110570:	48 8b da             	mov    %rdx,%rbx
180110573:	4c 8b d9             	mov    %rcx,%r11
180110576:	45 8b ca             	mov    %r10d,%r9d
180110579:	4d 85 c0             	test   %r8,%r8
18011057c:	74 49                	je     0x1801105c7
18011057e:	4c 2b da             	sub    %rdx,%r11
180110581:	49 8b 0c 1b          	mov    (%r11,%rbx,1),%rcx
180110585:	48 8b 13             	mov    (%rbx),%rdx
180110588:	48 8b c1             	mov    %rcx,%rax
18011058b:	48 2b 03             	sub    (%rbx),%rax
18011058e:	48 33 d1             	xor    %rcx,%rdx
180110591:	49 2b c2             	sub    %r10,%rax
180110594:	4c 8b d0             	mov    %rax,%r10
180110597:	48 8b 03             	mov    (%rbx),%rax
18011059a:	4c 33 d1             	xor    %rcx,%r10
18011059d:	48 2b c1             	sub    %rcx,%rax
1801105a0:	49 2b c1             	sub    %r9,%rax
1801105a3:	4c 0b d2             	or     %rdx,%r10
1801105a6:	4c 33 d1             	xor    %rcx,%r10
1801105a9:	4c 8b c8             	mov    %rax,%r9
1801105ac:	4c 33 0b             	xor    (%rbx),%r9
1801105af:	4c 0b ca             	or     %rdx,%r9
1801105b2:	49 c1 ea 3f          	shr    $0x3f,%r10
1801105b6:	4c 33 0b             	xor    (%rbx),%r9
1801105b9:	48 8d 5b 08          	lea    0x8(%rbx),%rbx
1801105bd:	49 c1 e9 3f          	shr    $0x3f,%r9
1801105c1:	49 83 e8 01          	sub    $0x1,%r8
1801105c5:	75 ba                	jne    0x180110581
1801105c7:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1801105cc:	45 2b ca             	sub    %r10d,%r9d
1801105cf:	41 8b c1             	mov    %r9d,%eax
1801105d2:	c3                   	ret
1801105d3:	cc                   	int3
1801105d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801105d9:	57                   	push   %rdi
1801105da:	48 83 ec 20          	sub    $0x20,%rsp
1801105de:	45 33 db             	xor    %r11d,%r11d
1801105e1:	49 8b f8             	mov    %r8,%rdi
1801105e4:	bb 01 00 00 00       	mov    $0x1,%ebx
1801105e9:	4d 85 c9             	test   %r9,%r9
1801105ec:	74 5a                	je     0x180110648
1801105ee:	4c 8b d2             	mov    %rdx,%r10
1801105f1:	48 2b ca             	sub    %rdx,%rcx
1801105f4:	4d 8b c1             	mov    %r9,%r8
1801105f7:	4a 8b 04 11          	mov    (%rcx,%r10,1),%rax
1801105fb:	4c 0b d8             	or     %rax,%r11
1801105fe:	49 89 02             	mov    %rax,(%r10)
180110601:	4d 8d 52 08          	lea    0x8(%r10),%r10
180110605:	4c 2b c3             	sub    %rbx,%r8
180110608:	75 ed                	jne    0x1801105f7
18011060a:	4d 85 db             	test   %r11,%r11
18011060d:	74 39                	je     0x180110648
18011060f:	49 8b c1             	mov    %r9,%rax
180110612:	4c 8b c2             	mov    %rdx,%r8
180110615:	48 c1 e0 06          	shl    $0x6,%rax
180110619:	48 8b cf             	mov    %rdi,%rcx
18011061c:	48 3d 00 01 00 00    	cmp    $0x100,%rax
180110622:	75 07                	jne    0x18011062b
180110624:	e8 37 28 02 00       	call   0x180132e60
180110629:	eb 05                	jmp    0x180110630
18011062b:	e8 00 28 02 00       	call   0x180132e30
180110630:	48 85 c0             	test   %rax,%rax
180110633:	74 13                	je     0x180110648
180110635:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
18011063a:	33 db                	xor    %ebx,%ebx
18011063c:	48 85 c9             	test   %rcx,%rcx
18011063f:	74 07                	je     0x180110648
180110641:	c7 41 10 06 00 00 00 	movl   $0x6,0x10(%rcx)
180110648:	8b c3                	mov    %ebx,%eax
18011064a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011064f:	48 83 c4 20          	add    $0x20,%rsp
180110653:	5f                   	pop    %rdi
180110654:	c3                   	ret
180110655:	cc                   	int3
180110656:	cc                   	int3
180110657:	cc                   	int3
180110658:	48 8b c4             	mov    %rsp,%rax
18011065b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18011065f:	48 89 70 10          	mov    %rsi,0x10(%rax)
180110663:	48 89 78 18          	mov    %rdi,0x18(%rax)
180110667:	4c 89 70 20          	mov    %r14,0x20(%rax)
18011066b:	41 57                	push   %r15
18011066d:	48 83 ec 20          	sub    $0x20,%rsp
180110671:	49 8b d9             	mov    %r9,%rbx
180110674:	4d 8b d0             	mov    %r8,%r10
180110677:	48 8b f2             	mov    %rdx,%rsi
18011067a:	4c 8b f9             	mov    %rcx,%r15
18011067d:	bf 01 00 00 00       	mov    $0x1,%edi
180110682:	49 3b d1             	cmp    %r9,%rdx
180110685:	0f 82 81 00 00 00    	jb     0x18011070c
18011068b:	48 8b c2             	mov    %rdx,%rax
18011068e:	b9 00 00 00 80       	mov    $0x80000000,%ecx
180110693:	48 0b c3             	or     %rbx,%rax
180110696:	48 85 c1             	test   %rax,%rcx
180110699:	75 71                	jne    0x18011070c
18011069b:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
1801106a0:	48 85 db             	test   %rbx,%rbx
1801106a3:	75 04                	jne    0x1801106a9
1801106a5:	33 c0                	xor    %eax,%eax
1801106a7:	eb 24                	jmp    0x1801106cd
1801106a9:	48 8b c3             	mov    %rbx,%rax
1801106ac:	4d 8b c6             	mov    %r14,%r8
1801106af:	48 c1 e0 06          	shl    $0x6,%rax
1801106b3:	49 8b d2             	mov    %r10,%rdx
1801106b6:	49 8b cf             	mov    %r15,%rcx
1801106b9:	48 3d 00 01 00 00    	cmp    $0x100,%rax
1801106bf:	75 07                	jne    0x1801106c8
1801106c1:	e8 9a 27 02 00       	call   0x180132e60
1801106c6:	eb 05                	jmp    0x1801106cd
1801106c8:	e8 63 27 02 00       	call   0x180132e30
1801106cd:	48 2b f3             	sub    %rbx,%rsi
1801106d0:	4d 8d 04 de          	lea    (%r14,%rbx,8),%r8
1801106d4:	4c 8b ce             	mov    %rsi,%r9
1801106d7:	49 8d 0c df          	lea    (%r15,%rbx,8),%rcx
1801106db:	48 8b d0             	mov    %rax,%rdx
1801106de:	e8 5d 00 00 00       	call   0x180110740
1801106e3:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1801106e8:	48 85 c9             	test   %rcx,%rcx
1801106eb:	74 05                	je     0x1801106f2
1801106ed:	48 89 01             	mov    %rax,(%rcx)
1801106f0:	eb 2d                	jmp    0x18011071f
1801106f2:	48 85 c0             	test   %rax,%rax
1801106f5:	74 28                	je     0x18011071f
1801106f7:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1801106fc:	33 ff                	xor    %edi,%edi
1801106fe:	48 85 c0             	test   %rax,%rax
180110701:	74 1c                	je     0x18011071f
180110703:	c7 40 10 0d 00 00 00 	movl   $0xd,0x10(%rax)
18011070a:	eb 13                	jmp    0x18011071f
18011070c:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
180110711:	33 ff                	xor    %edi,%edi
180110713:	48 85 c9             	test   %rcx,%rcx
180110716:	74 07                	je     0x18011071f
180110718:	c7 41 10 06 00 00 00 	movl   $0x6,0x10(%rcx)
18011071f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180110724:	8b c7                	mov    %edi,%eax
180110726:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
18011072b:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180110730:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
180110735:	48 83 c4 20          	add    $0x20,%rsp
180110739:	41 5f                	pop    %r15
18011073b:	c3                   	ret
18011073c:	cc                   	int3
18011073d:	cc                   	int3
18011073e:	cc                   	int3
18011073f:	cc                   	int3
180110740:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180110745:	57                   	push   %rdi
180110746:	48 83 ec 20          	sub    $0x20,%rsp
18011074a:	4c 8b da             	mov    %rdx,%r11
18011074d:	48 8b f9             	mov    %rcx,%rdi
180110750:	33 d2                	xor    %edx,%edx
180110752:	4d 85 c9             	test   %r9,%r9
180110755:	74 2d                	je     0x180110784
180110757:	48 8b d9             	mov    %rcx,%rbx
18011075a:	4d 8b d0             	mov    %r8,%r10
18011075d:	49 2b d8             	sub    %r8,%rbx
180110760:	4a 8b 0c 13          	mov    (%rbx,%r10,1),%rcx
180110764:	48 8b c1             	mov    %rcx,%rax
180110767:	49 2b c3             	sub    %r11,%rax
18011076a:	49 89 02             	mov    %rax,(%r10)
18011076d:	49 3b cb             	cmp    %r11,%rcx
180110770:	73 21                	jae    0x180110793
180110772:	48 ff c2             	inc    %rdx
180110775:	49 83 c2 08          	add    $0x8,%r10
180110779:	41 bb 01 00 00 00    	mov    $0x1,%r11d
18011077f:	49 3b d1             	cmp    %r9,%rdx
180110782:	75 dc                	jne    0x180110760
180110784:	49 8b c3             	mov    %r11,%rax
180110787:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011078c:	48 83 c4 20          	add    $0x20,%rsp
180110790:	5f                   	pop    %rdi
180110791:	c3                   	ret
180110792:	cc                   	int3
180110793:	49 3b f8             	cmp    %r8,%rdi
180110796:	74 1b                	je     0x1801107b3
180110798:	4c 2b ca             	sub    %rdx,%r9
18011079b:	49 8d 4a 08          	lea    0x8(%r10),%rcx
18011079f:	48 8d 53 08          	lea    0x8(%rbx),%rdx
1801107a3:	49 03 d2             	add    %r10,%rdx
1801107a6:	4e 8d 04 cd f8 ff ff 	lea    -0x8(,%r9,8),%r8
1801107ad:	ff
1801107ae:	e8 0d 52 02 00       	call   0x1801359c0
1801107b3:	33 c0                	xor    %eax,%eax
1801107b5:	eb d0                	jmp    0x180110787
1801107b7:	cc                   	int3
1801107b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801107bd:	45 33 c9             	xor    %r9d,%r9d
1801107c0:	4c 8b da             	mov    %rdx,%r11
1801107c3:	48 8b d9             	mov    %rcx,%rbx
1801107c6:	41 ba 01 00 00 00    	mov    $0x1,%r10d
1801107cc:	4d 85 c0             	test   %r8,%r8
1801107cf:	74 34                	je     0x180110805
1801107d1:	48 2b da             	sub    %rdx,%rbx
1801107d4:	4a 8b 14 1b          	mov    (%rbx,%r11,1),%rdx
1801107d8:	49 8b 0b             	mov    (%r11),%rcx
1801107db:	48 8b c2             	mov    %rdx,%rax
1801107de:	48 2b c1             	sub    %rcx,%rax
1801107e1:	4d 8d 5b 08          	lea    0x8(%r11),%r11
1801107e5:	49 2b c1             	sub    %r9,%rax
1801107e8:	48 33 ca             	xor    %rdx,%rcx
1801107eb:	4c 8b c8             	mov    %rax,%r9
1801107ee:	4c 33 ca             	xor    %rdx,%r9
1801107f1:	4c 0b c9             	or     %rcx,%r9
1801107f4:	4c 33 ca             	xor    %rdx,%r9
1801107f7:	49 c1 e9 3f          	shr    $0x3f,%r9
1801107fb:	4d 2b c2             	sub    %r10,%r8
1801107fe:	75 d4                	jne    0x1801107d4
180110800:	4d 85 c9             	test   %r9,%r9
180110803:	75 14                	jne    0x180110819
180110805:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
18011080a:	45 33 d2             	xor    %r10d,%r10d
18011080d:	48 85 c9             	test   %rcx,%rcx
180110810:	74 07                	je     0x180110819
180110812:	c7 41 10 07 00 00 00 	movl   $0x7,0x10(%rcx)
180110819:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18011081e:	41 8b c2             	mov    %r10d,%eax
180110821:	c3                   	ret
180110822:	cc                   	int3
180110823:	cc                   	int3
180110824:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180110829:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18011082e:	57                   	push   %rdi
18011082f:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
180110836:	48 8b fa             	mov    %rdx,%rdi
180110839:	48 8b d9             	mov    %rcx,%rbx
18011083c:	33 d2                	xor    %edx,%edx
18011083e:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180110843:	41 b8 80 00 00 00    	mov    $0x80,%r8d
180110849:	e8 32 54 02 00       	call   0x180135c80
18011084e:	45 33 db             	xor    %r11d,%r11d
180110851:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
180110856:	48 8d 94 24 c0 00 00 	lea    0xc0(%rsp),%rdx
18011085d:	00
18011085e:	44 89 9c 24 c0 00 00 	mov    %r11d,0xc0(%rsp)
180110865:	00
180110866:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
18011086b:	41 8d 5b 01          	lea    0x1(%r11),%ebx
18011086f:	89 5c 24 3c          	mov    %ebx,0x3c(%rsp)
180110873:	e8 a4 3c 00 00       	call   0x18011451c
180110878:	85 c0                	test   %eax,%eax
18011087a:	74 28                	je     0x1801108a4
18011087c:	f7 9c 24 c0 00 00 00 	negl   0xc0(%rsp)
180110883:	48 8d 94 24 c0 00 00 	lea    0xc0(%rsp),%rdx
18011088a:	00
18011088b:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180110890:	e8 87 3c 00 00       	call   0x18011451c
180110895:	85 c0                	test   %eax,%eax
180110897:	74 0b                	je     0x1801108a4
180110899:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
18011089e:	44 8b db             	mov    %ebx,%r11d
1801108a1:	48 89 07             	mov    %rax,(%rdi)
1801108a4:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
1801108ab:	00
1801108ac:	41 8b c3             	mov    %r11d,%eax
1801108af:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1801108b6:	5f                   	pop    %rdi
1801108b7:	c3                   	ret
1801108b8:	cc                   	int3
1801108b9:	cc                   	int3
1801108ba:	cc                   	int3
1801108bb:	cc                   	int3
1801108bc:	48 8b c4             	mov    %rsp,%rax
1801108bf:	48 89 58 08          	mov    %rbx,0x8(%rax)
1801108c3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1801108c7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1801108cb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1801108cf:	41 56                	push   %r14
1801108d1:	48 83 ec 40          	sub    $0x40,%rsp
1801108d5:	49 8b d9             	mov    %r9,%rbx
1801108d8:	49 8b f0             	mov    %r8,%rsi
1801108db:	4c 8b ca             	mov    %rdx,%r9
1801108de:	4c 8b c1             	mov    %rcx,%r8
1801108e1:	48 8b fa             	mov    %rdx,%rdi
1801108e4:	4c 8b d9             	mov    %rcx,%r11
1801108e7:	48 8b d3             	mov    %rbx,%rdx
1801108ea:	48 8b ce             	mov    %rsi,%rcx
1801108ed:	33 ed                	xor    %ebp,%ebp
1801108ef:	e8 f4 fb ff ff       	call   0x1801104e8
1801108f4:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
1801108f9:	85 c0                	test   %eax,%eax
1801108fb:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
180110902:	00
180110903:	4d 8b c3             	mov    %r11,%r8
180110906:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18011090b:	4c 0f 48 c6          	cmovs  %rsi,%r8
18011090f:	49 0f 48 f3          	cmovs  %r11,%rsi
180110913:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
180110918:	48 8b ce             	mov    %rsi,%rcx
18011091b:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180110920:	4c 8b cb             	mov    %rbx,%r9
180110923:	48 8b d7             	mov    %rdi,%rdx
180110926:	e8 2d fd ff ff       	call   0x180110658
18011092b:	85 c0                	test   %eax,%eax
18011092d:	74 20                	je     0x18011094f
18011092f:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx