14015351f:	5f                   	pop    %rdi
140153520:	c3                   	ret
140153521:	48 8b 17             	mov    (%rdi),%rdx
140153524:	48 85 d2             	test   %rdx,%rdx
140153527:	74 16                	je     0x14015353f
140153529:	48 8b 42 08          	mov    0x8(%rdx),%rax
14015352d:	48 63 48 04          	movslq 0x4(%rax),%rcx
140153531:	48 83 c2 08          	add    $0x8,%rdx
140153535:	48 03 ca             	add    %rdx,%rcx
140153538:	48 8b 01             	mov    (%rcx),%rax
14015353b:	ff 50 08             	call   *0x8(%rax)
14015353e:	90                   	nop
14015353f:	32 c0                	xor    %al,%al
140153541:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140153546:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14015354b:	48 83 c4 20          	add    $0x20,%rsp
14015354f:	5f                   	pop    %rdi
140153550:	c3                   	ret
140153551:	cc                   	int3
140153552:	cc                   	int3
140153553:	cc                   	int3
140153554:	cc                   	int3
140153555:	cc                   	int3
140153556:	cc                   	int3
140153557:	cc                   	int3
140153558:	cc                   	int3
140153559:	cc                   	int3
14015355a:	cc                   	int3
14015355b:	cc                   	int3
14015355c:	cc                   	int3
14015355d:	cc                   	int3
14015355e:	cc                   	int3
14015355f:	cc                   	int3
140153560:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140153565:	57                   	push   %rdi
140153566:	48 83 ec 20          	sub    $0x20,%rsp
14015356a:	48 8b d9             	mov    %rcx,%rbx
14015356d:	48 8b 49 e0          	mov    -0x20(%rcx),%rcx
140153571:	48 8b 41 10          	mov    0x10(%rcx),%rax
140153575:	48 85 c0             	test   %rax,%rax
140153578:	74 02                	je     0x14015357c
14015357a:	ff d0                	call   *%rax
14015357c:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140153581:	f0 0f c1 43 f8       	lock xadd %eax,-0x8(%rbx)
140153586:	83 f8 01             	cmp    $0x1,%eax
140153589:	75 52                	jne    0x1401535dd
14015358b:	48 8d 7b d8          	lea    -0x28(%rbx),%rdi
14015358f:	48 85 ff             	test   %rdi,%rdi
140153592:	74 3c                	je     0x1401535d0
140153594:	48 8d 05 bd 85 0c 00 	lea    0xc85bd(%rip),%rax        # 0x14021bb58
14015359b:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
14015359f:	48 8b 43 f0          	mov    -0x10(%rbx),%rax
1401535a3:	48 63 50 04          	movslq 0x4(%rax),%rdx
1401535a7:	48 8d 05 8a 86 0c 00 	lea    0xc868a(%rip),%rax        # 0x14021bc38
1401535ae:	48 89 44 1a f0       	mov    %rax,-0x10(%rdx,%rbx,1)
1401535b3:	e8 18 29 f7 ff       	call   0x1400c5ed0
1401535b8:	90                   	nop
1401535b9:	48 8d 05 28 89 0e 00 	lea    0xe8928(%rip),%rax        # 0x14023bee8
1401535c0:	48 89 03             	mov    %rax,(%rbx)
1401535c3:	ba 30 00 00 00       	mov    $0x30,%edx
1401535c8:	48 8b cf             	mov    %rdi,%rcx
1401535cb:	e8 7c 30 03 00       	call   0x14018664c
1401535d0:	b0 01                	mov    $0x1,%al
1401535d2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401535d7:	48 83 c4 20          	add    $0x20,%rsp
1401535db:	5f                   	pop    %rdi
1401535dc:	c3                   	ret
1401535dd:	32 c0                	xor    %al,%al
1401535df:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401535e4:	48 83 c4 20          	add    $0x20,%rsp
1401535e8:	5f                   	pop    %rdi
1401535e9:	c3                   	ret
1401535ea:	cc                   	int3
1401535eb:	cc                   	int3
1401535ec:	cc                   	int3
1401535ed:	cc                   	int3
1401535ee:	cc                   	int3
1401535ef:	cc                   	int3
1401535f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401535f5:	57                   	push   %rdi
1401535f6:	48 83 ec 20          	sub    $0x20,%rsp
1401535fa:	48 8b fa             	mov    %rdx,%rdi
1401535fd:	48 8b d9             	mov    %rcx,%rbx
140153600:	e8 cb 28 f7 ff       	call   0x1400c5ed0
140153605:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140153609:	48 83 39 78          	cmpq   $0x78,(%rcx)
14015360d:	72 1e                	jb     0x14015362d
14015360f:	48 8b 41 70          	mov    0x70(%rcx),%rax
140153613:	48 85 c0             	test   %rax,%rax
140153616:	74 15                	je     0x14015362d
140153618:	48 8b d7             	mov    %rdi,%rdx
14015361b:	ff d0                	call   *%rax
14015361d:	85 c0                	test   %eax,%eax
14015361f:	0f 95 c0             	setne  %al
140153622:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140153627:	48 83 c4 20          	add    $0x20,%rsp
14015362b:	5f                   	pop    %rdi
14015362c:	c3                   	ret
14015362d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140153632:	32 c0                	xor    %al,%al
140153634:	48 83 c4 20          	add    $0x20,%rsp
140153638:	5f                   	pop    %rdi
140153639:	c3                   	ret
14015363a:	cc                   	int3
14015363b:	cc                   	int3
14015363c:	cc                   	int3
14015363d:	cc                   	int3
14015363e:	cc                   	int3
14015363f:	cc                   	int3
140153640:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140153645:	53                   	push   %rbx
140153646:	55                   	push   %rbp
140153647:	56                   	push   %rsi
140153648:	57                   	push   %rdi
140153649:	41 56                	push   %r14
14015364b:	48 83 ec 20          	sub    $0x20,%rsp
14015364f:	49 8b f8             	mov    %r8,%rdi
140153652:	4c 8b f2             	mov    %rdx,%r14
140153655:	48 8b d9             	mov    %rcx,%rbx
140153658:	33 f6                	xor    %esi,%esi
14015365a:	e8 71 28 f7 ff       	call   0x1400c5ed0
14015365f:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
140153663:	48 81 3b f8 00 00 00 	cmpq   $0xf8,(%rbx)
14015366a:	0f 82 fd 00 00 00    	jb     0x14015376d
140153670:	48 8b ab f0 00 00 00 	mov    0xf0(%rbx),%rbp
140153677:	48 85 ed             	test   %rbp,%rbp
14015367a:	0f 84 ed 00 00 00    	je     0x14015376d
140153680:	48 8b 17             	mov    (%rdi),%rdx
140153683:	48 85 d2             	test   %rdx,%rdx
140153686:	75 0d                	jne    0x140153695
140153688:	32 c0                	xor    %al,%al
14015368a:	48 83 c4 20          	add    $0x20,%rsp
14015368e:	41 5e                	pop    %r14
140153690:	5f                   	pop    %rdi
140153691:	5e                   	pop    %rsi
140153692:	5d                   	pop    %rbp
140153693:	5b                   	pop    %rbx
140153694:	c3                   	ret
140153695:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
14015369a:	48 8b 42 08          	mov    0x8(%rdx),%rax
14015369e:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401536a2:	48 83 c2 08          	add    $0x8,%rdx
1401536a6:	48 03 ca             	add    %rdx,%rcx
1401536a9:	48 8b 01             	mov    (%rcx),%rax
1401536ac:	ff 10                	call   *(%rax)
1401536ae:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
1401536b3:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1401536b8:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401536bd:	48 85 c0             	test   %rax,%rax
1401536c0:	75 02                	jne    0x1401536c4
1401536c2:	eb 6d                	jmp    0x140153731
1401536c4:	8b 48 f0             	mov    -0x10(%rax),%ecx
1401536c7:	3b 0d 93 79 15 00    	cmp    0x157993(%rip),%ecx        # 0x1402ab060
1401536cd:	74 2d                	je     0x1401536fc
1401536cf:	48 8b d0             	mov    %rax,%rdx
1401536d2:	e8 09 32 f7 ff       	call   0x1400c68e0
1401536d7:	48 8b f0             	mov    %rax,%rsi
1401536da:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401536df:	48 85 c0             	test   %rax,%rax
1401536e2:	74 16                	je     0x1401536fa
1401536e4:	48 8b 48 08          	mov    0x8(%rax),%rcx
1401536e8:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401536ec:	48 83 c0 08          	add    $0x8,%rax
1401536f0:	48 03 c8             	add    %rax,%rcx
1401536f3:	48 8b 01             	mov    (%rcx),%rax
1401536f6:	ff 50 08             	call   *0x8(%rax)
1401536f9:	90                   	nop
1401536fa:	eb 35                	jmp    0x140153731
1401536fc:	48 8d 70 f8          	lea    -0x8(%rax),%rsi
140153700:	48 8b 0e             	mov    (%rsi),%rcx
140153703:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140153707:	48 85 d2             	test   %rdx,%rdx
14015370a:	74 07                	je     0x140153713
14015370c:	ff d2                	call   *%rdx
14015370e:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140153713:	48 8b 36             	mov    (%rsi),%rsi
140153716:	48 85 c0             	test   %rax,%rax
140153719:	74 16                	je     0x140153731
14015371b:	48 8b 50 08          	mov    0x8(%rax),%rdx
14015371f:	48 63 4a 04          	movslq 0x4(%rdx),%rcx
140153723:	48 83 c0 08          	add    $0x8,%rax
140153727:	48 03 c8             	add    %rax,%rcx
14015372a:	48 8b 01             	mov    (%rcx),%rax
14015372d:	ff 50 08             	call   *0x8(%rax)
140153730:	90                   	nop
140153731:	4c 8b c6             	mov    %rsi,%r8
140153734:	49 8b d6             	mov    %r14,%rdx
140153737:	48 8b cb             	mov    %rbx,%rcx
14015373a:	ff d5                	call   *%rbp
14015373c:	85 c0                	test   %eax,%eax
14015373e:	0f 95 c3             	setne  %bl
140153741:	4c 8b 07             	mov    (%rdi),%r8
140153744:	4d 85 c0             	test   %r8,%r8
140153747:	74 16                	je     0x14015375f
140153749:	49 8b 48 08          	mov    0x8(%r8),%rcx
14015374d:	48 63 49 04          	movslq 0x4(%rcx),%rcx
140153751:	49 83 c0 08          	add    $0x8,%r8
140153755:	49 03 c8             	add    %r8,%rcx
140153758:	48 8b 11             	mov    (%rcx),%rdx
14015375b:	ff 52 08             	call   *0x8(%rdx)
14015375e:	90                   	nop
14015375f:	0f b6 c3             	movzbl %bl,%eax
140153762:	48 83 c4 20          	add    $0x20,%rsp
140153766:	41 5e                	pop    %r14
140153768:	5f                   	pop    %rdi
140153769:	5e                   	pop    %rsi
14015376a:	5d                   	pop    %rbp
14015376b:	5b                   	pop    %rbx
14015376c:	c3                   	ret
14015376d:	48 8b 17             	mov    (%rdi),%rdx
140153770:	48 85 d2             	test   %rdx,%rdx
140153773:	74 16                	je     0x14015378b
140153775:	48 8b 42 08          	mov    0x8(%rdx),%rax
140153779:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015377d:	48 83 c2 08          	add    $0x8,%rdx
140153781:	48 03 ca             	add    %rdx,%rcx
140153784:	48 8b 01             	mov    (%rcx),%rax
140153787:	ff 50 08             	call   *0x8(%rax)
14015378a:	90                   	nop
14015378b:	32 c0                	xor    %al,%al
14015378d:	48 83 c4 20          	add    $0x20,%rsp
140153791:	41 5e                	pop    %r14
140153793:	5f                   	pop    %rdi
140153794:	5e                   	pop    %rsi
140153795:	5d                   	pop    %rbp
140153796:	5b                   	pop    %rbx
140153797:	c3                   	ret
140153798:	cc                   	int3
140153799:	cc                   	int3
14015379a:	cc                   	int3
14015379b:	cc                   	int3
14015379c:	cc                   	int3
14015379d:	cc                   	int3
14015379e:	cc                   	int3
14015379f:	cc                   	int3
1401537a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401537a5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1401537aa:	57                   	push   %rdi
1401537ab:	48 83 ec 20          	sub    $0x20,%rsp
1401537af:	41 0f b6 f8          	movzbl %r8b,%edi
1401537b3:	48 8b f2             	mov    %rdx,%rsi
1401537b6:	48 8b d9             	mov    %rcx,%rbx
1401537b9:	e8 12 27 f7 ff       	call   0x1400c5ed0
1401537be:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
1401537c2:	48 81 39 d8 00 00 00 	cmpq   $0xd8,(%rcx)
1401537c9:	72 29                	jb     0x1401537f4
1401537cb:	48 8b 81 d0 00 00 00 	mov    0xd0(%rcx),%rax
1401537d2:	48 85 c0             	test   %rax,%rax
1401537d5:	74 1d                	je     0x1401537f4
1401537d7:	44 8b c7             	mov    %edi,%r8d
1401537da:	48 8b d6             	mov    %rsi,%rdx
1401537dd:	ff d0                	call   *%rax
1401537df:	85 c0                	test   %eax,%eax
1401537e1:	0f 95 c0             	setne  %al
1401537e4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401537e9:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1401537ee:	48 83 c4 20          	add    $0x20,%rsp
1401537f2:	5f                   	pop    %rdi
1401537f3:	c3                   	ret
1401537f4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401537f9:	32 c0                	xor    %al,%al
1401537fb:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140153800:	48 83 c4 20          	add    $0x20,%rsp
140153804:	5f                   	pop    %rdi
140153805:	c3                   	ret
140153806:	cc                   	int3
140153807:	cc                   	int3
140153808:	cc                   	int3
140153809:	cc                   	int3
14015380a:	cc                   	int3
14015380b:	cc                   	int3
14015380c:	cc                   	int3
14015380d:	cc                   	int3
14015380e:	cc                   	int3
14015380f:	cc                   	int3
140153810:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140153815:	53                   	push   %rbx
140153816:	55                   	push   %rbp
140153817:	56                   	push   %rsi
140153818:	57                   	push   %rdi
140153819:	41 56                	push   %r14
14015381b:	48 83 ec 20          	sub    $0x20,%rsp
14015381f:	49 8b f8             	mov    %r8,%rdi
140153822:	4c 8b f2             	mov    %rdx,%r14
140153825:	48 8b d9             	mov    %rcx,%rbx
140153828:	33 f6                	xor    %esi,%esi
14015382a:	e8 a1 26 f7 ff       	call   0x1400c5ed0
14015382f:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
140153833:	48 81 3b 00 01 00 00 	cmpq   $0x100,(%rbx)
14015383a:	0f 82 fd 00 00 00    	jb     0x14015393d
140153840:	48 8b ab f8 00 00 00 	mov    0xf8(%rbx),%rbp
140153847:	48 85 ed             	test   %rbp,%rbp
14015384a:	0f 84 ed 00 00 00    	je     0x14015393d
140153850:	48 8b 17             	mov    (%rdi),%rdx
140153853:	48 85 d2             	test   %rdx,%rdx
140153856:	75 0d                	jne    0x140153865
140153858:	32 c0                	xor    %al,%al
14015385a:	48 83 c4 20          	add    $0x20,%rsp
14015385e:	41 5e                	pop    %r14
140153860:	5f                   	pop    %rdi
140153861:	5e                   	pop    %rsi
140153862:	5d                   	pop    %rbp
140153863:	5b                   	pop    %rbx
140153864:	c3                   	ret
140153865:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
14015386a:	48 8b 42 08          	mov    0x8(%rdx),%rax
14015386e:	48 63 48 04          	movslq 0x4(%rax),%rcx
140153872:	48 83 c2 08          	add    $0x8,%rdx
140153876:	48 03 ca             	add    %rdx,%rcx
140153879:	48 8b 01             	mov    (%rcx),%rax
14015387c:	ff 10                	call   *(%rax)
14015387e:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140153883:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140153888:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
14015388d:	48 85 c0             	test   %rax,%rax
140153890:	75 02                	jne    0x140153894
140153892:	eb 6d                	jmp    0x140153901
140153894:	8b 48 f0             	mov    -0x10(%rax),%ecx
140153897:	3b 0d 8b 77 15 00    	cmp    0x15778b(%rip),%ecx        # 0x1402ab028
14015389d:	74 2d                	je     0x1401538cc
14015389f:	48 8b d0             	mov    %rax,%rdx
1401538a2:	e8 39 30 f7 ff       	call   0x1400c68e0
1401538a7:	48 8b f0             	mov    %rax,%rsi
1401538aa:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401538af:	48 85 c0             	test   %rax,%rax
1401538b2:	74 16                	je     0x1401538ca
1401538b4:	48 8b 48 08          	mov    0x8(%rax),%rcx
1401538b8:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401538bc:	48 83 c0 08          	add    $0x8,%rax
1401538c0:	48 03 c8             	add    %rax,%rcx
1401538c3:	48 8b 01             	mov    (%rcx),%rax
1401538c6:	ff 50 08             	call   *0x8(%rax)
1401538c9:	90                   	nop
1401538ca:	eb 35                	jmp    0x140153901
1401538cc:	48 8d 70 f8          	lea    -0x8(%rax),%rsi
1401538d0:	48 8b 0e             	mov    (%rsi),%rcx
1401538d3:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1401538d7:	48 85 d2             	test   %rdx,%rdx
1401538da:	74 07                	je     0x1401538e3
1401538dc:	ff d2                	call   *%rdx
1401538de:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401538e3:	48 8b 36             	mov    (%rsi),%rsi
1401538e6:	48 85 c0             	test   %rax,%rax
1401538e9:	74 16                	je     0x140153901
1401538eb:	48 8b 50 08          	mov    0x8(%rax),%rdx
1401538ef:	48 63 4a 04          	movslq 0x4(%rdx),%rcx
1401538f3:	48 83 c0 08          	add    $0x8,%rax
1401538f7:	48 03 c8             	add    %rax,%rcx
1401538fa:	48 8b 01             	mov    (%rcx),%rax
1401538fd:	ff 50 08             	call   *0x8(%rax)