140022539:	5f                   	pop    %rdi
14002253a:	c3                   	ret
14002253b:	cc                   	int3
14002253c:	cc                   	int3
14002253d:	cc                   	int3
14002253e:	cc                   	int3
14002253f:	cc                   	int3
140022540:	cc                   	int3
140022541:	cc                   	int3
140022542:	cc                   	int3
140022543:	cc                   	int3
140022544:	cc                   	int3
140022545:	cc                   	int3
140022546:	cc                   	int3
140022547:	cc                   	int3
140022548:	cc                   	int3
140022549:	cc                   	int3
14002254a:	cc                   	int3
14002254b:	cc                   	int3
14002254c:	cc                   	int3
14002254d:	cc                   	int3
14002254e:	cc                   	int3
14002254f:	cc                   	int3
140022550:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140022555:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14002255a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14002255f:	55                   	push   %rbp
140022560:	48 8b ec             	mov    %rsp,%rbp
140022563:	48 83 ec 50          	sub    $0x50,%rsp
140022567:	8b c2                	mov    %edx,%eax
140022569:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
14002256d:	85 c0                	test   %eax,%eax
14002256f:	ba 10 00 00 00       	mov    $0x10,%edx
140022574:	49 8b f8             	mov    %r8,%rdi
140022577:	48 8b f1             	mov    %rcx,%rsi
14002257a:	0f 45 d0             	cmovne %eax,%edx
14002257d:	4c 8d 45 28          	lea    0x28(%rbp),%r8
140022581:	48 ff 15 28 d5 01 00 	rex.W call *0x1d528(%rip)        # 0x14003fab0
140022588:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14002258d:	85 c0                	test   %eax,%eax
14002258f:	0f 84 de 00 00 00    	je     0x140022673
140022595:	48 8b 4d 28          	mov    0x28(%rbp),%rcx
140022599:	4c 8d 4d e8          	lea    -0x18(%rbp),%r9
14002259d:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
1400225a1:	ba 00 00 00 80       	mov    $0x80000000,%edx
1400225a6:	48 ff 15 03 d5 01 00 	rex.W call *0x1d503(%rip)        # 0x14003fab0
1400225ad:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400225b2:	85 c0                	test   %eax,%eax
1400225b4:	0f 84 b9 00 00 00    	je     0x140022673
1400225ba:	48 8b 5d d0          	mov    -0x30(%rbp),%rbx
1400225be:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
1400225c2:	48 8b cb             	mov    %rbx,%rcx
1400225c5:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1400225c9:	ba 10 00 00 00       	mov    $0x10,%edx
1400225ce:	48 ff 15 db d4 01 00 	rex.W call *0x1d4db(%rip)        # 0x14003fab0
1400225d5:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400225da:	85 c0                	test   %eax,%eax
1400225dc:	0f 84 91 00 00 00    	je     0x140022673
1400225e2:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
1400225e6:	48 8b d7             	mov    %rdi,%rdx
1400225e9:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1400225ed:	48 8b cb             	mov    %rbx,%rcx
1400225f0:	e8 5f d1 ff ff       	call   0x14001f754
1400225f5:	85 c0                	test   %eax,%eax
1400225f7:	74 7a                	je     0x140022673
1400225f9:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
1400225fd:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140022601:	48 8b 4d 28          	mov    0x28(%rbp),%rcx
140022605:	48 ff 15 d4 d3 01 00 	rex.W call *0x1d3d4(%rip)        # 0x14003f9e0
14002260c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022611:	85 c0                	test   %eax,%eax
140022613:	74 5e                	je     0x140022673
140022615:	48 8b 5d 28          	mov    0x28(%rbp),%rbx
140022619:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
14002261d:	48 8b cb             	mov    %rbx,%rcx
140022620:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
140022624:	ba 01 00 00 80       	mov    $0x80000001,%edx
140022629:	48 ff 15 80 d4 01 00 	rex.W call *0x1d480(%rip)        # 0x14003fab0
140022630:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022635:	85 c0                	test   %eax,%eax
140022637:	74 3a                	je     0x140022673
140022639:	48 8d 57 30          	lea    0x30(%rdi),%rdx
14002263d:	48 8b cb             	mov    %rbx,%rcx
140022640:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
140022644:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
140022648:	e8 ef 36 00 00       	call   0x140025d3c
14002264d:	85 c0                	test   %eax,%eax
14002264f:	74 22                	je     0x140022673
140022651:	4c 8b 45 f0          	mov    -0x10(%rbp),%r8
140022655:	48 8b ce             	mov    %rsi,%rcx
140022658:	48 8b 55 28          	mov    0x28(%rbp),%rdx
14002265c:	48 ff 15 7d d3 01 00 	rex.W call *0x1d37d(%rip)        # 0x14003f9e0
140022663:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022668:	85 c0                	test   %eax,%eax
14002266a:	74 07                	je     0x140022673
14002266c:	b8 01 00 00 00       	mov    $0x1,%eax
140022671:	eb 02                	jmp    0x140022675
140022673:	33 c0                	xor    %eax,%eax
140022675:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14002267a:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
14002267f:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
140022684:	48 83 c4 50          	add    $0x50,%rsp
140022688:	5d                   	pop    %rbp
140022689:	c3                   	ret
14002268a:	cc                   	int3
14002268b:	cc                   	int3
14002268c:	cc                   	int3
14002268d:	cc                   	int3
14002268e:	cc                   	int3
14002268f:	cc                   	int3
140022690:	cc                   	int3
140022691:	cc                   	int3
140022692:	cc                   	int3
140022693:	cc                   	int3
140022694:	cc                   	int3
140022695:	cc                   	int3
140022696:	cc                   	int3
140022697:	cc                   	int3
140022698:	cc                   	int3
140022699:	cc                   	int3
14002269a:	cc                   	int3
14002269b:	cc                   	int3
14002269c:	cc                   	int3
14002269d:	cc                   	int3
14002269e:	cc                   	int3
14002269f:	cc                   	int3
1400226a0:	48 85 c9             	test   %rcx,%rcx
1400226a3:	74 60                	je     0x140022705
1400226a5:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400226aa:	57                   	push   %rdi
1400226ab:	48 83 ec 20          	sub    $0x20,%rsp
1400226af:	48 8b d9             	mov    %rcx,%rbx
1400226b2:	e8 b1 d1 ff ff       	call   0x14001f868
1400226b7:	48 8d 7b 30          	lea    0x30(%rbx),%rdi
1400226bb:	48 85 ff             	test   %rdi,%rdi
1400226be:	74 3b                	je     0x1400226fb
1400226c0:	48 8b 3f             	mov    (%rdi),%rdi
1400226c3:	48 85 ff             	test   %rdi,%rdi
1400226c6:	74 33                	je     0x1400226fb
1400226c8:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
1400226cc:	48 85 c9             	test   %rcx,%rcx
1400226cf:	74 10                	je     0x1400226e1
1400226d1:	48 83 c1 08          	add    $0x8,%rcx
1400226d5:	48 ff 15 7c d2 01 00 	rex.W call *0x1d27c(%rip)        # 0x14003f958
1400226dc:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400226e1:	48 8b 1f             	mov    (%rdi),%rbx
1400226e4:	48 8b cf             	mov    %rdi,%rcx
1400226e7:	48 ff 15 3a d3 01 00 	rex.W call *0x1d33a(%rip)        # 0x14003fa28
1400226ee:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400226f3:	48 8b fb             	mov    %rbx,%rdi
1400226f6:	48 85 db             	test   %rbx,%rbx
1400226f9:	75 cd                	jne    0x1400226c8
1400226fb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140022700:	48 83 c4 20          	add    $0x20,%rsp
140022704:	5f                   	pop    %rdi
140022705:	c3                   	ret
140022706:	cc                   	int3
140022707:	cc                   	int3
140022708:	cc                   	int3
140022709:	cc                   	int3
14002270a:	cc                   	int3
14002270b:	cc                   	int3
14002270c:	cc                   	int3
14002270d:	cc                   	int3
14002270e:	cc                   	int3
14002270f:	cc                   	int3
140022710:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140022715:	55                   	push   %rbp
140022716:	56                   	push   %rsi
140022717:	57                   	push   %rdi
140022718:	48 83 ec 30          	sub    $0x30,%rsp
14002271c:	8b c2                	mov    %edx,%eax
14002271e:	33 ed                	xor    %ebp,%ebp
140022720:	85 c0                	test   %eax,%eax
140022722:	49 8b f8             	mov    %r8,%rdi
140022725:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
14002272a:	48 8b d9             	mov    %rcx,%rbx
14002272d:	8d 75 10             	lea    0x10(%rbp),%esi
140022730:	8b d6                	mov    %esi,%edx
140022732:	0f 45 d0             	cmovne %eax,%edx
140022735:	48 ff 15 9c d2 01 00 	rex.W call *0x1d29c(%rip)        # 0x14003f9d8
14002273c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022741:	85 c0                	test   %eax,%eax
140022743:	0f 84 34 01 00 00    	je     0x14002287d
140022749:	40 38 2f             	cmp    %bpl,(%rdi)
14002274c:	7d 73                	jge    0x1400227c1
14002274e:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
140022753:	ba 01 00 00 80       	mov    $0x80000001,%edx
140022758:	48 8b cb             	mov    %rbx,%rcx
14002275b:	48 ff 15 76 d2 01 00 	rex.W call *0x1d276(%rip)        # 0x14003f9d8
140022762:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022767:	85 c0                	test   %eax,%eax
140022769:	0f 84 0e 01 00 00    	je     0x14002287d
14002276f:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
140022774:	8b d6                	mov    %esi,%edx
140022776:	48 8b cb             	mov    %rbx,%rcx
140022779:	48 ff 15 58 d2 01 00 	rex.W call *0x1d258(%rip)        # 0x14003f9d8
140022780:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022785:	85 c0                	test   %eax,%eax
140022787:	0f 84 f0 00 00 00    	je     0x14002287d
14002278d:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140022791:	48 8b cb             	mov    %rbx,%rcx
140022794:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
140022799:	e8 7e 8a ff ff       	call   0x14001b21c
14002279e:	85 c0                	test   %eax,%eax
1400227a0:	0f 84 d7 00 00 00    	je     0x14002287d
1400227a6:	8b 54 24 58          	mov    0x58(%rsp),%edx
1400227aa:	48 8b cb             	mov    %rbx,%rcx
1400227ad:	48 ff 15 5c d2 01 00 	rex.W call *0x1d25c(%rip)        # 0x14003fa10
1400227b4:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400227b9:	85 c0                	test   %eax,%eax
1400227bb:	0f 84 bc 00 00 00    	je     0x14002287d
1400227c1:	48 8b 47 18          	mov    0x18(%rdi),%rax
1400227c5:	48 85 c0             	test   %rax,%rax
1400227c8:	74 35                	je     0x1400227ff
1400227ca:	41 b8 ff ff ff 7f    	mov    $0x7fffffff,%r8d
1400227d0:	41 8b c8             	mov    %r8d,%ecx
1400227d3:	40 38 28             	cmp    %bpl,(%rax)
1400227d6:	74 09                	je     0x1400227e1
1400227d8:	48 ff c0             	inc    %rax
1400227db:	48 83 e9 01          	sub    $0x1,%rcx
1400227df:	75 f2                	jne    0x1400227d3
1400227e1:	48 8b c1             	mov    %rcx,%rax
1400227e4:	48 f7 d8             	neg    %rax
1400227e7:	1b d2                	sbb    %edx,%edx
1400227e9:	4c 2b c1             	sub    %rcx,%r8
1400227ec:	f7 d2                	not    %edx
1400227ee:	81 e2 57 00 07 80    	and    $0x80070057,%edx
1400227f4:	48 f7 d9             	neg    %rcx
1400227f7:	48 1b ed             	sbb    %rbp,%rbp
1400227fa:	49 23 e8             	and    %r8,%rbp
1400227fd:	eb 05                	jmp    0x140022804
1400227ff:	ba 57 00 07 80       	mov    $0x80070057,%edx
140022804:	33 f6                	xor    %esi,%esi
140022806:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
14002280b:	85 d2                	test   %edx,%edx
14002280d:	48 8b cb             	mov    %rbx,%rcx
140022810:	ba 00 00 00 80       	mov    $0x80000000,%edx
140022815:	48 0f 49 f5          	cmovns %rbp,%rsi
140022819:	48 ff 15 b8 d1 01 00 	rex.W call *0x1d1b8(%rip)        # 0x14003f9d8
140022820:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022825:	85 c0                	test   %eax,%eax
140022827:	74 54                	je     0x14002287d
140022829:	4c 8b 4f 18          	mov    0x18(%rdi),%r9
14002282d:	44 8b c6             	mov    %esi,%r8d
140022830:	ba 1b 00 00 00       	mov    $0x1b,%edx
140022835:	48 8b cb             	mov    %rbx,%rcx
140022838:	48 ff 15 c9 d1 01 00 	rex.W call *0x1d1c9(%rip)        # 0x14003fa08
14002283f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022844:	85 c0                	test   %eax,%eax
140022846:	74 35                	je     0x14002287d
140022848:	8b 54 24 58          	mov    0x58(%rsp),%edx
14002284c:	48 8b cb             	mov    %rbx,%rcx
14002284f:	48 ff 15 ba d1 01 00 	rex.W call *0x1d1ba(%rip)        # 0x14003fa10
140022856:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14002285b:	85 c0                	test   %eax,%eax
14002285d:	74 1e                	je     0x14002287d
14002285f:	8b 54 24 20          	mov    0x20(%rsp),%edx
140022863:	48 8b cb             	mov    %rbx,%rcx
140022866:	48 ff 15 a3 d1 01 00 	rex.W call *0x1d1a3(%rip)        # 0x14003fa10
14002286d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022872:	85 c0                	test   %eax,%eax
140022874:	74 07                	je     0x14002287d
140022876:	b8 01 00 00 00       	mov    $0x1,%eax
14002287b:	eb 02                	jmp    0x14002287f
14002287d:	33 c0                	xor    %eax,%eax
14002287f:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140022884:	48 83 c4 30          	add    $0x30,%rsp
140022888:	5f                   	pop    %rdi
140022889:	5e                   	pop    %rsi
14002288a:	5d                   	pop    %rbp
14002288b:	c3                   	ret
14002288c:	cc                   	int3
14002288d:	cc                   	int3
14002288e:	cc                   	int3
14002288f:	cc                   	int3
140022890:	cc                   	int3
140022891:	cc                   	int3
140022892:	cc                   	int3
140022893:	cc                   	int3
140022894:	cc                   	int3
140022895:	cc                   	int3
140022896:	cc                   	int3
140022897:	cc                   	int3
140022898:	cc                   	int3
140022899:	cc                   	int3
14002289a:	cc                   	int3
14002289b:	cc                   	int3
14002289c:	cc                   	int3
14002289d:	cc                   	int3
14002289e:	cc                   	int3
14002289f:	cc                   	int3
1400228a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400228a5:	55                   	push   %rbp
1400228a6:	56                   	push   %rsi
1400228a7:	57                   	push   %rdi
1400228a8:	48 8b ec             	mov    %rsp,%rbp
1400228ab:	48 83 ec 50          	sub    $0x50,%rsp
1400228af:	8b c2                	mov    %edx,%eax
1400228b1:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
1400228b5:	85 c0                	test   %eax,%eax
1400228b7:	ba 10 00 00 00       	mov    $0x10,%edx
1400228bc:	49 8b d8             	mov    %r8,%rbx
1400228bf:	48 8b f1             	mov    %rcx,%rsi
1400228c2:	0f 45 d0             	cmovne %eax,%edx
1400228c5:	4c 8d 45 38          	lea    0x38(%rbp),%r8
1400228c9:	48 ff 15 e0 d1 01 00 	rex.W call *0x1d1e0(%rip)        # 0x14003fab0
1400228d0:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400228d5:	85 c0                	test   %eax,%eax
1400228d7:	0f 84 25 01 00 00    	je     0x140022a02
1400228dd:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
1400228e1:	48 8d 55 28          	lea    0x28(%rbp),%rdx
1400228e5:	33 c0                	xor    %eax,%eax
1400228e7:	88 03                	mov    %al,(%rbx)
1400228e9:	48 ff 15 d0 d0 01 00 	rex.W call *0x1d0d0(%rip)        # 0x14003f9c0
1400228f0:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400228f5:	ba 01 00 00 80       	mov    $0x80000001,%edx
1400228fa:	39 55 28             	cmp    %edx,0x28(%rbp)
1400228fd:	0f 85 83 00 00 00    	jne    0x140022986
140022903:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140022907:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
14002290b:	80 0b 80             	orb    $0x80,(%rbx)
14002290e:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
140022912:	48 ff 15 97 d1 01 00 	rex.W call *0x1d197(%rip)        # 0x14003fab0
140022919:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14002291e:	85 c0                	test   %eax,%eax
140022920:	0f 84 dc 00 00 00    	je     0x140022a02
140022926:	48 8b 7d d0          	mov    -0x30(%rbp),%rdi
14002292a:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
14002292e:	48 8b cf             	mov    %rdi,%rcx
140022931:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
140022935:	ba 10 00 00 00       	mov    $0x10,%edx
14002293a:	48 ff 15 6f d1 01 00 	rex.W call *0x1d16f(%rip)        # 0x14003fab0
140022941:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022946:	85 c0                	test   %eax,%eax
140022948:	0f 84 b4 00 00 00    	je     0x140022a02
14002294e:	48 8d 53 08          	lea    0x8(%rbx),%rdx
140022952:	48 8b cf             	mov    %rdi,%rcx
140022955:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
140022959:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
14002295d:	e8 8a 89 ff ff       	call   0x14001b2ec
140022962:	85 c0                	test   %eax,%eax
140022964:	0f 84 98 00 00 00    	je     0x140022a02
14002296a:	4c 8b 45 d8          	mov    -0x28(%rbp),%r8
14002296e:	48 8b 55 d0          	mov    -0x30(%rbp),%rdx
140022972:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140022976:	48 ff 15 63 d0 01 00 	rex.W call *0x1d063(%rip)        # 0x14003f9e0
14002297d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140022982:	85 c0                	test   %eax,%eax
140022984:	74 7c                	je     0x140022a02