14015a365:	57                   	push   %rdi
14015a366:	48 83 ec 30          	sub    $0x30,%rsp
14015a36a:	48 8b fa             	mov    %rdx,%rdi
14015a36d:	48 8b d9             	mov    %rcx,%rbx
14015a370:	e8 5b bb f6 ff       	call   0x1400c5ed0
14015a375:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a379:	48 83 39 38          	cmpq   $0x38,(%rcx)
14015a37d:	72 24                	jb     0x14015a3a3
14015a37f:	48 8b 41 30          	mov    0x30(%rcx),%rax
14015a383:	48 85 c0             	test   %rax,%rax
14015a386:	74 1b                	je     0x14015a3a3
14015a388:	ff d0                	call   *%rax
14015a38a:	48 8b d0             	mov    %rax,%rdx
14015a38d:	48 8b cf             	mov    %rdi,%rcx
14015a390:	e8 bb 01 00 00       	call   0x14015a550
14015a395:	48 8b c7             	mov    %rdi,%rax
14015a398:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a39d:	48 83 c4 30          	add    $0x30,%rsp
14015a3a1:	5f                   	pop    %rdi
14015a3a2:	c3                   	ret
14015a3a3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a3a8:	48 8b c7             	mov    %rdi,%rax
14015a3ab:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
14015a3b2:	48 83 c4 30          	add    $0x30,%rsp
14015a3b6:	5f                   	pop    %rdi
14015a3b7:	c3                   	ret
14015a3b8:	cc                   	int3
14015a3b9:	cc                   	int3
14015a3ba:	cc                   	int3
14015a3bb:	cc                   	int3
14015a3bc:	cc                   	int3
14015a3bd:	cc                   	int3
14015a3be:	cc                   	int3
14015a3bf:	cc                   	int3
14015a3c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a3c5:	57                   	push   %rdi
14015a3c6:	48 83 ec 30          	sub    $0x30,%rsp
14015a3ca:	48 8b fa             	mov    %rdx,%rdi
14015a3cd:	48 8b d9             	mov    %rcx,%rbx
14015a3d0:	e8 fb ba f6 ff       	call   0x1400c5ed0
14015a3d5:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a3d9:	48 83 39 30          	cmpq   $0x30,(%rcx)
14015a3dd:	72 24                	jb     0x14015a403
14015a3df:	48 8b 41 28          	mov    0x28(%rcx),%rax
14015a3e3:	48 85 c0             	test   %rax,%rax
14015a3e6:	74 1b                	je     0x14015a403
14015a3e8:	ff d0                	call   *%rax
14015a3ea:	48 8b d0             	mov    %rax,%rdx
14015a3ed:	48 8b cf             	mov    %rdi,%rcx
14015a3f0:	e8 eb cf fe ff       	call   0x1401473e0
14015a3f5:	48 8b c7             	mov    %rdi,%rax
14015a3f8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a3fd:	48 83 c4 30          	add    $0x30,%rsp
14015a401:	5f                   	pop    %rdi
14015a402:	c3                   	ret
14015a403:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a408:	48 8b c7             	mov    %rdi,%rax
14015a40b:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
14015a412:	48 83 c4 30          	add    $0x30,%rsp
14015a416:	5f                   	pop    %rdi
14015a417:	c3                   	ret
14015a418:	cc                   	int3
14015a419:	cc                   	int3
14015a41a:	cc                   	int3
14015a41b:	cc                   	int3
14015a41c:	cc                   	int3
14015a41d:	cc                   	int3
14015a41e:	cc                   	int3
14015a41f:	cc                   	int3
14015a420:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a425:	57                   	push   %rdi
14015a426:	48 83 ec 30          	sub    $0x30,%rsp
14015a42a:	48 8b fa             	mov    %rdx,%rdi
14015a42d:	48 8b d9             	mov    %rcx,%rbx
14015a430:	e8 9b ba f6 ff       	call   0x1400c5ed0
14015a435:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a439:	48 83 39 50          	cmpq   $0x50,(%rcx)
14015a43d:	72 24                	jb     0x14015a463
14015a43f:	48 8b 41 48          	mov    0x48(%rcx),%rax
14015a443:	48 85 c0             	test   %rax,%rax
14015a446:	74 1b                	je     0x14015a463
14015a448:	ff d0                	call   *%rax
14015a44a:	48 8b d0             	mov    %rax,%rdx
14015a44d:	48 8b cf             	mov    %rdi,%rcx
14015a450:	e8 eb ca ff ff       	call   0x140156f40
14015a455:	48 8b c7             	mov    %rdi,%rax
14015a458:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a45d:	48 83 c4 30          	add    $0x30,%rsp
14015a461:	5f                   	pop    %rdi
14015a462:	c3                   	ret
14015a463:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a468:	48 8b c7             	mov    %rdi,%rax
14015a46b:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
14015a472:	48 83 c4 30          	add    $0x30,%rsp
14015a476:	5f                   	pop    %rdi
14015a477:	c3                   	ret
14015a478:	cc                   	int3
14015a479:	cc                   	int3
14015a47a:	cc                   	int3
14015a47b:	cc                   	int3
14015a47c:	cc                   	int3
14015a47d:	cc                   	int3
14015a47e:	cc                   	int3
14015a47f:	cc                   	int3
14015a480:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a485:	57                   	push   %rdi
14015a486:	48 83 ec 20          	sub    $0x20,%rsp
14015a48a:	48 8b d9             	mov    %rcx,%rbx
14015a48d:	48 8b 49 e0          	mov    -0x20(%rcx),%rcx
14015a491:	48 8b 41 10          	mov    0x10(%rcx),%rax
14015a495:	48 85 c0             	test   %rax,%rax
14015a498:	74 02                	je     0x14015a49c
14015a49a:	ff d0                	call   *%rax
14015a49c:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14015a4a1:	f0 0f c1 43 f8       	lock xadd %eax,-0x8(%rbx)
14015a4a6:	83 f8 01             	cmp    $0x1,%eax
14015a4a9:	75 52                	jne    0x14015a4fd
14015a4ab:	48 8d 7b d8          	lea    -0x28(%rbx),%rdi
14015a4af:	48 85 ff             	test   %rdi,%rdi
14015a4b2:	74 3c                	je     0x14015a4f0
14015a4b4:	48 8d 05 bd 1d 0c 00 	lea    0xc1dbd(%rip),%rax        # 0x14021c278
14015a4bb:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
14015a4bf:	48 8b 43 f0          	mov    -0x10(%rbx),%rax
14015a4c3:	48 63 50 04          	movslq 0x4(%rax),%rdx
14015a4c7:	48 8d 05 e2 1d 0c 00 	lea    0xc1de2(%rip),%rax        # 0x14021c2b0
14015a4ce:	48 89 44 1a f0       	mov    %rax,-0x10(%rdx,%rbx,1)
14015a4d3:	e8 f8 b9 f6 ff       	call   0x1400c5ed0
14015a4d8:	90                   	nop
14015a4d9:	48 8d 05 08 1a 0e 00 	lea    0xe1a08(%rip),%rax        # 0x14023bee8
14015a4e0:	48 89 03             	mov    %rax,(%rbx)
14015a4e3:	ba 30 00 00 00       	mov    $0x30,%edx
14015a4e8:	48 8b cf             	mov    %rdi,%rcx
14015a4eb:	e8 5c c1 02 00       	call   0x14018664c
14015a4f0:	b0 01                	mov    $0x1,%al
14015a4f2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14015a4f7:	48 83 c4 20          	add    $0x20,%rsp
14015a4fb:	5f                   	pop    %rdi
14015a4fc:	c3                   	ret
14015a4fd:	32 c0                	xor    %al,%al
14015a4ff:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14015a504:	48 83 c4 20          	add    $0x20,%rsp
14015a508:	5f                   	pop    %rdi
14015a509:	c3                   	ret
14015a50a:	cc                   	int3
14015a50b:	cc                   	int3
14015a50c:	cc                   	int3
14015a50d:	cc                   	int3
14015a50e:	cc                   	int3
14015a50f:	cc                   	int3
14015a510:	40 53                	rex push %rbx
14015a512:	48 83 ec 20          	sub    $0x20,%rsp
14015a516:	48 8b d9             	mov    %rcx,%rbx
14015a519:	e8 b2 b9 f6 ff       	call   0x1400c5ed0
14015a51e:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a522:	48 83 39 58          	cmpq   $0x58,(%rcx)
14015a526:	72 16                	jb     0x14015a53e
14015a528:	48 8b 41 50          	mov    0x50(%rcx),%rax
14015a52c:	48 85 c0             	test   %rax,%rax
14015a52f:	74 0d                	je     0x14015a53e
14015a531:	ff d0                	call   *%rax
14015a533:	85 c0                	test   %eax,%eax
14015a535:	0f 95 c0             	setne  %al
14015a538:	48 83 c4 20          	add    $0x20,%rsp
14015a53c:	5b                   	pop    %rbx
14015a53d:	c3                   	ret
14015a53e:	32 c0                	xor    %al,%al
14015a540:	48 83 c4 20          	add    $0x20,%rsp
14015a544:	5b                   	pop    %rbx
14015a545:	c3                   	ret
14015a546:	cc                   	int3
14015a547:	cc                   	int3
14015a548:	cc                   	int3
14015a549:	cc                   	int3
14015a54a:	cc                   	int3
14015a54b:	cc                   	int3
14015a54c:	cc                   	int3
14015a54d:	cc                   	int3
14015a54e:	cc                   	int3
14015a54f:	cc                   	int3
14015a550:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a555:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14015a55a:	57                   	push   %rdi
14015a55b:	48 83 ec 30          	sub    $0x30,%rsp
14015a55f:	48 8b f2             	mov    %rdx,%rsi
14015a562:	48 8b f9             	mov    %rcx,%rdi
14015a565:	33 c0                	xor    %eax,%eax
14015a567:	48 85 d2             	test   %rdx,%rdx
14015a56a:	75 16                	jne    0x14015a582
14015a56c:	48 89 01             	mov    %rax,(%rcx)
14015a56f:	48 8b c1             	mov    %rcx,%rax
14015a572:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a577:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14015a57c:	48 83 c4 30          	add    $0x30,%rsp
14015a580:	5f                   	pop    %rdi
14015a581:	c3                   	ret
14015a582:	8b 52 e8             	mov    -0x18(%rdx),%edx
14015a585:	3b 15 71 0b 15 00    	cmp    0x150b71(%rip),%edx        # 0x1402ab0fc
14015a58b:	74 1b                	je     0x14015a5a8
14015a58d:	4c 8b c6             	mov    %rsi,%r8
14015a590:	e8 fb 32 fe ff       	call   0x14013d890
14015a595:	48 8b c7             	mov    %rdi,%rax
14015a598:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a59d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14015a5a2:	48 83 c4 30          	add    $0x30,%rsp
14015a5a6:	5f                   	pop    %rdi
14015a5a7:	c3                   	ret
14015a5a8:	48 8b 5e f0          	mov    -0x10(%rsi),%rbx
14015a5ac:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
14015a5b1:	48 85 db             	test   %rbx,%rbx
14015a5b4:	74 15                	je     0x14015a5cb
14015a5b6:	48 8b 43 08          	mov    0x8(%rbx),%rax
14015a5ba:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a5be:	48 83 c1 08          	add    $0x8,%rcx
14015a5c2:	48 03 cb             	add    %rbx,%rcx
14015a5c5:	48 8b 01             	mov    (%rcx),%rax
14015a5c8:	ff 10                	call   *(%rax)
14015a5ca:	90                   	nop
14015a5cb:	48 8b 4e f8          	mov    -0x8(%rsi),%rcx
14015a5cf:	48 8b 01             	mov    (%rcx),%rax
14015a5d2:	ff 50 08             	call   *0x8(%rax)
14015a5d5:	48 89 1f             	mov    %rbx,(%rdi)
14015a5d8:	48 8b c7             	mov    %rdi,%rax
14015a5db:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a5e0:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14015a5e5:	48 83 c4 30          	add    $0x30,%rsp
14015a5e9:	5f                   	pop    %rdi
14015a5ea:	c3                   	ret
14015a5eb:	cc                   	int3
14015a5ec:	cc                   	int3
14015a5ed:	cc                   	int3
14015a5ee:	cc                   	int3
14015a5ef:	cc                   	int3
14015a5f0:	45 33 c9             	xor    %r9d,%r9d
14015a5f3:	4c 8b c1             	mov    %rcx,%r8
14015a5f6:	85 d2                	test   %edx,%edx
14015a5f8:	74 16                	je     0x14015a610
14015a5fa:	48 8d 05 bf 1d 0c 00 	lea    0xc1dbf(%rip),%rax        # 0x14021c3c0
14015a601:	48 89 41 08          	mov    %rax,0x8(%rcx)
14015a605:	48 8d 05 dc 18 0e 00 	lea    0xe18dc(%rip),%rax        # 0x14023bee8
14015a60c:	48 89 41 18          	mov    %rax,0x18(%rcx)
14015a610:	48 8d 05 c9 1c 0c 00 	lea    0xc1cc9(%rip),%rax        # 0x14021c2e0
14015a617:	48 89 01             	mov    %rax,(%rcx)
14015a61a:	48 8b 41 08          	mov    0x8(%rcx),%rax
14015a61e:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a622:	48 8d 05 df fc 0b 00 	lea    0xbfcdf(%rip),%rax        # 0x14021a308
14015a629:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14015a62e:	48 8d 05 ab 1c 0c 00 	lea    0xc1cab(%rip),%rax        # 0x14021c2e0
14015a635:	49 89 00             	mov    %rax,(%r8)
14015a638:	49 8b 40 08          	mov    0x8(%r8),%rax
14015a63c:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a640:	48 8d 05 e1 1c 0c 00 	lea    0xc1ce1(%rip),%rax        # 0x14021c328
14015a647:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14015a64c:	48 8d 05 fd 1c 0c 00 	lea    0xc1cfd(%rip),%rax        # 0x14021c350
14015a653:	45 89 48 10          	mov    %r9d,0x10(%r8)
14015a657:	49 89 00             	mov    %rax,(%r8)
14015a65a:	49 8b 40 08          	mov    0x8(%r8),%rax
14015a65e:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a662:	48 8d 05 2f 1d 0c 00 	lea    0xc1d2f(%rip),%rax        # 0x14021c398
14015a669:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14015a66e:	49 8b c0             	mov    %r8,%rax
14015a671:	c3                   	ret
14015a672:	cc                   	int3
14015a673:	cc                   	int3
14015a674:	cc                   	int3
14015a675:	cc                   	int3
14015a676:	cc                   	int3
14015a677:	cc                   	int3
14015a678:	cc                   	int3
14015a679:	cc                   	int3
14015a67a:	cc                   	int3
14015a67b:	cc                   	int3
14015a67c:	cc                   	int3
14015a67d:	cc                   	int3
14015a67e:	cc                   	int3
14015a67f:	cc                   	int3
14015a680:	40 53                	rex push %rbx
14015a682:	48 83 ec 20          	sub    $0x20,%rsp
14015a686:	4c 8b 41 f0          	mov    -0x10(%rcx),%r8
14015a68a:	48 8d 05 bf 1c 0c 00 	lea    0xc1cbf(%rip),%rax        # 0x14021c350
14015a691:	48 89 41 e8          	mov    %rax,-0x18(%rcx)
14015a695:	48 8d 05 fc 1c 0c 00 	lea    0xc1cfc(%rip),%rax        # 0x14021c398
14015a69c:	48 8d 59 e8          	lea    -0x18(%rcx),%rbx
14015a6a0:	4d 63 48 04          	movslq 0x4(%r8),%r9
14015a6a4:	49 89 44 09 f0       	mov    %rax,-0x10(%r9,%rcx,1)
14015a6a9:	48 8d 05 38 18 0e 00 	lea    0xe1838(%rip),%rax        # 0x14023bee8
14015a6b0:	48 89 01             	mov    %rax,(%rcx)
14015a6b3:	f6 c2 01             	test   $0x1,%dl
14015a6b6:	74 0d                	je     0x14015a6c5
14015a6b8:	ba 20 00 00 00       	mov    $0x20,%edx
14015a6bd:	48 8b cb             	mov    %rbx,%rcx
14015a6c0:	e8 87 bf 02 00       	call   0x14018664c
14015a6c5:	48 8b c3             	mov    %rbx,%rax
14015a6c8:	48 83 c4 20          	add    $0x20,%rsp
14015a6cc:	5b                   	pop    %rbx
14015a6cd:	c3                   	ret
14015a6ce:	cc                   	int3
14015a6cf:	cc                   	int3
14015a6d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14015a6d5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14015a6da:	55                   	push   %rbp
14015a6db:	56                   	push   %rsi
14015a6dc:	57                   	push   %rdi
14015a6dd:	41 54                	push   %r12
14015a6df:	41 55                	push   %r13
14015a6e1:	41 56                	push   %r14
14015a6e3:	41 57                	push   %r15
14015a6e5:	48 8b ec             	mov    %rsp,%rbp
14015a6e8:	48 83 ec 50          	sub    $0x50,%rsp
14015a6ec:	45 8b e1             	mov    %r9d,%r12d
14015a6ef:	4c 8b ea             	mov    %rdx,%r13
14015a6f2:	33 db                	xor    %ebx,%ebx
14015a6f4:	4c 8b 79 f8          	mov    -0x8(%rcx),%r15
14015a6f8:	49 83 3f 70          	cmpq   $0x70,(%r15)
14015a6fc:	0f 82 86 02 00 00    	jb     0x14015a988
14015a702:	49 39 5f 68          	cmp    %rbx,0x68(%r15)
14015a706:	0f 84 7c 02 00 00    	je     0x14015a988
14015a70c:	48 8b 42 08          	mov    0x8(%rdx),%rax
14015a710:	48 85 c0             	test   %rax,%rax
14015a713:	0f 84 6f 02 00 00    	je     0x14015a988
14015a719:	48 39 58 08          	cmp    %rbx,0x8(%rax)
14015a71d:	0f 84 65 02 00 00    	je     0x14015a988
14015a723:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
14015a727:	4c 8b 75 60          	mov    0x60(%rbp),%r14
14015a72b:	49 8b 16             	mov    (%r14),%rdx
14015a72e:	8b f3                	mov    %ebx,%esi
14015a730:	48 85 d2             	test   %rdx,%rdx
14015a733:	0f 84 9a 00 00 00    	je     0x14015a7d3
14015a739:	48 89 55 40          	mov    %rdx,0x40(%rbp)
14015a73d:	48 8b 42 08          	mov    0x8(%rdx),%rax
14015a741:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a745:	48 83 c2 08          	add    $0x8,%rdx
14015a749:	48 03 ca             	add    %rdx,%rcx
14015a74c:	48 8b 01             	mov    (%rcx),%rax
14015a74f:	ff 10                	call   *(%rax)
14015a751:	48 8d 45 40          	lea    0x40(%rbp),%rax
14015a755:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14015a759:	48 8b 45 40          	mov    0x40(%rbp),%rax
14015a75d:	48 85 c0             	test   %rax,%rax
14015a760:	75 02                	jne    0x14015a764
14015a762:	eb 6b                	jmp    0x14015a7cf
14015a764:	8b 48 f0             	mov    -0x10(%rax),%ecx
14015a767:	3b 0d 83 09 15 00    	cmp    0x150983(%rip),%ecx        # 0x1402ab0f0
14015a76d:	74 2c                	je     0x14015a79b
14015a76f:	48 8b d0             	mov    %rax,%rdx
14015a772:	e8 69 c1 f6 ff       	call   0x1400c68e0
14015a777:	48 8b f0             	mov    %rax,%rsi
14015a77a:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
14015a77e:	48 85 c9             	test   %rcx,%rcx
14015a781:	74 16                	je     0x14015a799
14015a783:	48 8b 51 08          	mov    0x8(%rcx),%rdx