1400085d3:	5f                   	pop    %rdi
1400085d4:	5e                   	pop    %rsi
1400085d5:	5b                   	pop    %rbx
1400085d6:	c3                   	ret
1400085d7:	48 8b 17             	mov    (%rdi),%rdx
1400085da:	48 85 d2             	test   %rdx,%rdx
1400085dd:	74 15                	je     0x1400085f4
1400085df:	48 8b 42 08          	mov    0x8(%rdx),%rax
1400085e3:	48 83 c2 08          	add    $0x8,%rdx
1400085e7:	48 63 48 04          	movslq 0x4(%rax),%rcx
1400085eb:	48 03 ca             	add    %rdx,%rcx
1400085ee:	48 8b 01             	mov    (%rcx),%rax
1400085f1:	ff 50 08             	call   *0x8(%rax)
1400085f4:	32 c0                	xor    %al,%al
1400085f6:	48 83 c4 30          	add    $0x30,%rsp
1400085fa:	5f                   	pop    %rdi
1400085fb:	5e                   	pop    %rsi
1400085fc:	5b                   	pop    %rbx
1400085fd:	c3                   	ret
1400085fe:	cc                   	int3
1400085ff:	cc                   	int3
140008600:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140008605:	53                   	push   %rbx
140008606:	56                   	push   %rsi
140008607:	57                   	push   %rdi
140008608:	48 83 ec 30          	sub    $0x30,%rsp
14000860c:	48 8b fa             	mov    %rdx,%rdi
14000860f:	48 8b d9             	mov    %rcx,%rbx
140008612:	e8 49 8f ff ff       	call   0x140001560
140008617:	48 8b 73 f8          	mov    -0x8(%rbx),%rsi
14000861b:	48 83 3e 40          	cmpq   $0x40,(%rsi)
14000861f:	72 76                	jb     0x140008697
140008621:	48 83 7e 38 00       	cmpq   $0x0,0x38(%rsi)
140008626:	74 6f                	je     0x140008697
140008628:	48 8b 0f             	mov    (%rdi),%rcx
14000862b:	48 85 c9             	test   %rcx,%rcx
14000862e:	74 67                	je     0x140008697
140008630:	48 8b 5e 38          	mov    0x38(%rsi),%rbx
140008634:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140008639:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14000863e:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
140008643:	48 8b 41 08          	mov    0x8(%rcx),%rax
140008647:	48 63 50 04          	movslq 0x4(%rax),%rdx
14000864b:	48 83 c1 08          	add    $0x8,%rcx
14000864f:	48 03 ca             	add    %rdx,%rcx
140008652:	48 8b 01             	mov    (%rcx),%rax
140008655:	ff 10                	call   *(%rax)
140008657:	90                   	nop
140008658:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14000865d:	e8 ee 00 00 00       	call   0x140008750
140008662:	48 8b d0             	mov    %rax,%rdx
140008665:	48 8b ce             	mov    %rsi,%rcx
140008668:	ff d3                	call   *%rbx
14000866a:	85 c0                	test   %eax,%eax
14000866c:	0f 95 c3             	setne  %bl
14000866f:	4c 8b 07             	mov    (%rdi),%r8
140008672:	4d 85 c0             	test   %r8,%r8
140008675:	74 15                	je     0x14000868c
140008677:	49 8b 48 08          	mov    0x8(%r8),%rcx
14000867b:	48 63 49 04          	movslq 0x4(%rcx),%rcx
14000867f:	49 83 c0 08          	add    $0x8,%r8
140008683:	49 03 c8             	add    %r8,%rcx
140008686:	48 8b 11             	mov    (%rcx),%rdx
140008689:	ff 52 08             	call   *0x8(%rdx)
14000868c:	0f b6 c3             	movzbl %bl,%eax
14000868f:	48 83 c4 30          	add    $0x30,%rsp
140008693:	5f                   	pop    %rdi
140008694:	5e                   	pop    %rsi
140008695:	5b                   	pop    %rbx
140008696:	c3                   	ret
140008697:	48 8b 17             	mov    (%rdi),%rdx
14000869a:	48 85 d2             	test   %rdx,%rdx
14000869d:	74 15                	je     0x1400086b4
14000869f:	48 8b 42 08          	mov    0x8(%rdx),%rax
1400086a3:	48 83 c2 08          	add    $0x8,%rdx
1400086a7:	48 63 48 04          	movslq 0x4(%rax),%rcx
1400086ab:	48 03 ca             	add    %rdx,%rcx
1400086ae:	48 8b 01             	mov    (%rcx),%rax
1400086b1:	ff 50 08             	call   *0x8(%rax)
1400086b4:	32 c0                	xor    %al,%al
1400086b6:	48 83 c4 30          	add    $0x30,%rsp
1400086ba:	5f                   	pop    %rdi
1400086bb:	5e                   	pop    %rsi
1400086bc:	5b                   	pop    %rbx
1400086bd:	c3                   	ret
1400086be:	cc                   	int3
1400086bf:	cc                   	int3
1400086c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400086c5:	57                   	push   %rdi
1400086c6:	48 83 ec 20          	sub    $0x20,%rsp
1400086ca:	48 8b d9             	mov    %rcx,%rbx
1400086cd:	48 8b 49 e0          	mov    -0x20(%rcx),%rcx
1400086d1:	48 8b 41 10          	mov    0x10(%rcx),%rax
1400086d5:	48 85 c0             	test   %rax,%rax
1400086d8:	74 02                	je     0x1400086dc
1400086da:	ff d0                	call   *%rax
1400086dc:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1400086e1:	f0 0f c1 43 f8       	lock xadd %eax,-0x8(%rbx)
1400086e6:	83 f8 01             	cmp    $0x1,%eax
1400086e9:	75 56                	jne    0x140008741
1400086eb:	48 8d 7b d8          	lea    -0x28(%rbx),%rdi
1400086ef:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1400086f4:	48 85 ff             	test   %rdi,%rdi
1400086f7:	74 3b                	je     0x140008734
1400086f9:	48 8d 05 38 3b 03 00 	lea    0x33b38(%rip),%rax        # 0x14003c238
140008700:	48 89 47 10          	mov    %rax,0x10(%rdi)
140008704:	48 8b 43 f0          	mov    -0x10(%rbx),%rax
140008708:	48 63 50 04          	movslq 0x4(%rax),%rdx
14000870c:	48 8d 05 65 3b 03 00 	lea    0x33b65(%rip),%rax        # 0x14003c278
140008713:	48 89 44 1a f0       	mov    %rax,-0x10(%rdx,%rbx,1)
140008718:	e8 43 8e ff ff       	call   0x140001560
14000871d:	48 8d 05 74 2c 03 00 	lea    0x32c74(%rip),%rax        # 0x14003b398
140008724:	48 89 03             	mov    %rax,(%rbx)
140008727:	ba 30 00 00 00       	mov    $0x30,%edx
14000872c:	48 8b cf             	mov    %rdi,%rcx
14000872f:	e8 80 eb 02 00       	call   0x1400372b4
140008734:	b0 01                	mov    $0x1,%al
140008736:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14000873b:	48 83 c4 20          	add    $0x20,%rsp
14000873f:	5f                   	pop    %rdi
140008740:	c3                   	ret
140008741:	32 c0                	xor    %al,%al
140008743:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140008748:	48 83 c4 20          	add    $0x20,%rsp
14000874c:	5f                   	pop    %rdi
14000874d:	c3                   	ret
14000874e:	cc                   	int3
14000874f:	cc                   	int3
140008750:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140008755:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14000875a:	57                   	push   %rdi
14000875b:	48 83 ec 30          	sub    $0x30,%rsp
14000875f:	48 8b d9             	mov    %rcx,%rbx
140008762:	48 8b 39             	mov    (%rcx),%rdi
140008765:	48 85 ff             	test   %rdi,%rdi
140008768:	74 0b                	je     0x140008775
14000876a:	8b 05 b0 f8 04 00    	mov    0x4f8b0(%rip),%eax        # 0x140058020
140008770:	39 47 f0             	cmp    %eax,-0x10(%rdi)
140008773:	74 2a                	je     0x14000879f
140008775:	48 8b 11             	mov    (%rcx),%rdx
140008778:	48 85 d2             	test   %rdx,%rdx
14000877b:	74 15                	je     0x140008792
14000877d:	48 8b 42 08          	mov    0x8(%rdx),%rax
140008781:	48 83 c2 08          	add    $0x8,%rdx
140008785:	48 63 48 04          	movslq 0x4(%rax),%rcx
140008789:	48 03 ca             	add    %rdx,%rcx
14000878c:	48 8b 01             	mov    (%rcx),%rax
14000878f:	ff 50 08             	call   *0x8(%rax)
140008792:	33 c0                	xor    %eax,%eax
140008794:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140008799:	48 83 c4 30          	add    $0x30,%rsp
14000879d:	5f                   	pop    %rdi
14000879e:	c3                   	ret
14000879f:	48 8b 4f f8          	mov    -0x8(%rdi),%rcx
1400087a3:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400087a7:	48 85 c0             	test   %rax,%rax
1400087aa:	74 02                	je     0x1400087ae
1400087ac:	ff d0                	call   *%rax
1400087ae:	48 8b 7f f8          	mov    -0x8(%rdi),%rdi
1400087b2:	4c 8b 03             	mov    (%rbx),%r8
1400087b5:	4d 85 c0             	test   %r8,%r8
1400087b8:	74 15                	je     0x1400087cf
1400087ba:	49 8b 48 08          	mov    0x8(%r8),%rcx
1400087be:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1400087c2:	49 83 c0 08          	add    $0x8,%r8
1400087c6:	49 03 c8             	add    %r8,%rcx
1400087c9:	48 8b 11             	mov    (%rcx),%rdx
1400087cc:	ff 52 08             	call   *0x8(%rdx)
1400087cf:	48 8b c7             	mov    %rdi,%rax
1400087d2:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400087d7:	48 83 c4 30          	add    $0x30,%rsp
1400087db:	5f                   	pop    %rdi
1400087dc:	c3                   	ret
1400087dd:	cc                   	int3
1400087de:	cc                   	int3
1400087df:	cc                   	int3
1400087e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400087e5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400087ea:	56                   	push   %rsi
1400087eb:	57                   	push   %rdi
1400087ec:	41 54                	push   %r12
1400087ee:	41 56                	push   %r14
1400087f0:	41 57                	push   %r15
1400087f2:	48 83 ec 20          	sub    $0x20,%rsp
1400087f6:	49 8b f8             	mov    %r8,%rdi
1400087f9:	48 8b ea             	mov    %rdx,%rbp
1400087fc:	4c 8b f1             	mov    %rcx,%r14
1400087ff:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140008804:	0f 85 a6 00 00 00    	jne    0x1400088b0
14000880a:	4c 8d 25 ff 2d 03 00 	lea    0x32dff(%rip),%r12        # 0x14003b610
140008811:	45 33 ff             	xor    %r15d,%r15d
140008814:	0f 1f 40 00          	nopl   0x0(%rax)
140008818:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14000881f:	00
140008820:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140008824:	48 8b d5             	mov    %rbp,%rdx
140008827:	49 8b ce             	mov    %r14,%rcx
14000882a:	e8 b1 ff ff ff       	call   0x1400087e0
14000882f:	48 8b f7             	mov    %rdi,%rsi
140008832:	48 8b 3f             	mov    (%rdi),%rdi
140008835:	48 8d 5e 20          	lea    0x20(%rsi),%rbx
140008839:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
14000883e:	4c 89 63 18          	mov    %r12,0x18(%rbx)
140008842:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140008846:	48 85 c9             	test   %rcx,%rcx
140008849:	74 21                	je     0x14000886c
14000884b:	80 7b 28 00          	cmpb   $0x0,0x28(%rbx)
14000884f:	74 13                	je     0x140008864
140008851:	e8 3d ab ff ff       	call   0x140003393
140008856:	ba 18 00 00 00       	mov    $0x18,%edx
14000885b:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
14000885f:	e8 50 ea 02 00       	call   0x1400372b4
140008864:	4c 89 7b 20          	mov    %r15,0x20(%rbx)
140008868:	c6 43 28 00          	movb   $0x0,0x28(%rbx)
14000886c:	4c 89 23             	mov    %r12,(%rbx)
14000886f:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140008873:	48 85 c9             	test   %rcx,%rcx
140008876:	74 21                	je     0x140008899
140008878:	80 7b 10 00          	cmpb   $0x0,0x10(%rbx)
14000887c:	74 13                	je     0x140008891
14000887e:	e8 10 ab ff ff       	call   0x140003393
140008883:	ba 18 00 00 00       	mov    $0x18,%edx
140008888:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14000888c:	e8 23 ea 02 00       	call   0x1400372b4
140008891:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
140008895:	c6 43 10 00          	movb   $0x0,0x10(%rbx)
140008899:	ba 50 00 00 00       	mov    $0x50,%edx
14000889e:	48 8b ce             	mov    %rsi,%rcx
1400088a1:	e8 0e ea 02 00       	call   0x1400372b4
1400088a6:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
1400088aa:	0f 84 70 ff ff ff    	je     0x140008820
1400088b0:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1400088b5:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1400088ba:	48 83 c4 20          	add    $0x20,%rsp
1400088be:	41 5f                	pop    %r15
1400088c0:	41 5e                	pop    %r14
1400088c2:	41 5c                	pop    %r12
1400088c4:	5f                   	pop    %rdi
1400088c5:	5e                   	pop    %rsi
1400088c6:	c3                   	ret
1400088c7:	cc                   	int3
1400088c8:	cc                   	int3
1400088c9:	cc                   	int3
1400088ca:	cc                   	int3
1400088cb:	cc                   	int3
1400088cc:	cc                   	int3
1400088cd:	cc                   	int3
1400088ce:	cc                   	int3
1400088cf:	cc                   	int3
1400088d0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1400088d5:	48 83 ec 18          	sub    $0x18,%rsp
1400088d9:	4c 8b c1             	mov    %rcx,%r8
1400088dc:	45 33 c9             	xor    %r9d,%r9d
1400088df:	44 89 0c 24          	mov    %r9d,(%rsp)
1400088e3:	85 d2                	test   %edx,%edx
1400088e5:	74 1d                	je     0x140008904
1400088e7:	48 8d 05 42 3c 03 00 	lea    0x33c42(%rip),%rax        # 0x14003c530
1400088ee:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400088f2:	48 8d 05 9f 2a 03 00 	lea    0x32a9f(%rip),%rax        # 0x14003b398
1400088f9:	48 89 41 18          	mov    %rax,0x18(%rcx)
1400088fd:	c7 04 24 01 00 00 00 	movl   $0x1,(%rsp)
140008904:	48 8d 05 a5 39 03 00 	lea    0x339a5(%rip),%rax        # 0x14003c2b0
14000890b:	48 89 01             	mov    %rax,(%rcx)
14000890e:	48 8b 41 08          	mov    0x8(%rcx),%rax
140008912:	48 63 48 04          	movslq 0x4(%rax),%rcx
140008916:	48 8d 05 3b 3a 03 00 	lea    0x33a3b(%rip),%rax        # 0x14003c358
14000891d:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
140008922:	48 8d 05 5f 3a 03 00 	lea    0x33a5f(%rip),%rax        # 0x14003c388
140008929:	49 89 00             	mov    %rax,(%r8)
14000892c:	49 8b 40 08          	mov    0x8(%r8),%rax
140008930:	48 63 48 04          	movslq 0x4(%rax),%rcx
140008934:	48 8d 05 f5 3a 03 00 	lea    0x33af5(%rip),%rax        # 0x14003c430
14000893b:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
140008940:	45 89 48 10          	mov    %r9d,0x10(%r8)
140008944:	48 8d 05 15 3b 03 00 	lea    0x33b15(%rip),%rax        # 0x14003c460
14000894b:	49 89 00             	mov    %rax,(%r8)
14000894e:	49 8b 40 08          	mov    0x8(%r8),%rax
140008952:	48 63 48 04          	movslq 0x4(%rax),%rcx
140008956:	48 8d 05 ab 3b 03 00 	lea    0x33bab(%rip),%rax        # 0x14003c508
14000895d:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
140008962:	49 8b c0             	mov    %r8,%rax
140008965:	48 83 c4 18          	add    $0x18,%rsp
140008969:	c3                   	ret
14000896a:	cc                   	int3
14000896b:	cc                   	int3
14000896c:	cc                   	int3
14000896d:	cc                   	int3
14000896e:	cc                   	int3
14000896f:	cc                   	int3
140008970:	48 8d 05 e9 3a 03 00 	lea    0x33ae9(%rip),%rax        # 0x14003c460
140008977:	48 89 41 e8          	mov    %rax,-0x18(%rcx)
14000897b:	48 8b 41 f0          	mov    -0x10(%rcx),%rax
14000897f:	48 63 50 04          	movslq 0x4(%rax),%rdx
140008983:	48 8d 05 7e 3b 03 00 	lea    0x33b7e(%rip),%rax        # 0x14003c508
14000898a:	48 89 44 0a f0       	mov    %rax,-0x10(%rdx,%rcx,1)
14000898f:	c3                   	ret
140008990:	40 53                	rex push %rbx
140008992:	48 83 ec 20          	sub    $0x20,%rsp
140008996:	4c 8b 41 f0          	mov    -0x10(%rcx),%r8
14000899a:	48 8d 05 bf 3a 03 00 	lea    0x33abf(%rip),%rax        # 0x14003c460
1400089a1:	48 89 41 e8          	mov    %rax,-0x18(%rcx)
1400089a5:	48 8d 05 5c 3b 03 00 	lea    0x33b5c(%rip),%rax        # 0x14003c508
1400089ac:	48 8d 59 e8          	lea    -0x18(%rcx),%rbx
1400089b0:	4d 63 48 04          	movslq 0x4(%r8),%r9
1400089b4:	49 89 44 09 f0       	mov    %rax,-0x10(%r9,%rcx,1)
1400089b9:	48 8d 05 d8 29 03 00 	lea    0x329d8(%rip),%rax        # 0x14003b398
1400089c0:	48 89 01             	mov    %rax,(%rcx)
1400089c3:	f6 c2 01             	test   $0x1,%dl
1400089c6:	74 0d                	je     0x1400089d5
1400089c8:	ba 20 00 00 00       	mov    $0x20,%edx
1400089cd:	48 8b cb             	mov    %rbx,%rcx
1400089d0:	e8 df e8 02 00       	call   0x1400372b4
1400089d5:	48 8b c3             	mov    %rbx,%rax
1400089d8:	48 83 c4 20          	add    $0x20,%rsp
1400089dc:	5b                   	pop    %rbx
1400089dd:	c3                   	ret
1400089de:	cc                   	int3
1400089df:	cc                   	int3
1400089e0:	48 83 ec 38          	sub    $0x38,%rsp
1400089e4:	48 8b 41 f8          	mov    -0x8(%rcx),%rax
1400089e8:	48 81 38 c0 00 00 00 	cmpq   $0xc0,(%rax)
1400089ef:	72 28                	jb     0x140008a19
1400089f1:	48 83 b8 b8 00 00 00 	cmpq   $0x0,0xb8(%rax)
1400089f8:	00
1400089f9:	74 1e                	je     0x140008a19
1400089fb:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1400089ff:	48 85 d2             	test   %rdx,%rdx
140008a02:	74 15                	je     0x140008a19
140008a04:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140008a09:	74 0e                	je     0x140008a19
140008a0b:	48 8b c8             	mov    %rax,%rcx
140008a0e:	48 83 c4 38          	add    $0x38,%rsp
140008a12:	48 ff a0 b8 00 00 00 	rex.W jmp *0xb8(%rax)
140008a19:	48 83 c4 38          	add    $0x38,%rsp
140008a1d:	c3                   	ret
140008a1e:	cc                   	int3
140008a1f:	cc                   	int3
140008a20:	48 83 ec 38          	sub    $0x38,%rsp
140008a24:	48 8b 41 f8          	mov    -0x8(%rcx),%rax
140008a28:	48 81 38 a0 00 00 00 	cmpq   $0xa0,(%rax)
140008a2f:	72 28                	jb     0x140008a59
140008a31:	48 83 b8 98 00 00 00 	cmpq   $0x0,0x98(%rax)
140008a38:	00
140008a39:	74 1e                	je     0x140008a59
140008a3b:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140008a3f:	48 85 d2             	test   %rdx,%rdx
140008a42:	74 15                	je     0x140008a59
140008a44:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140008a49:	74 0e                	je     0x140008a59
140008a4b:	48 8b c8             	mov    %rax,%rcx