1401a3560:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a3565:	48 85 c9             	test   %rcx,%rcx
1401a3568:	74 1b                	je     0x1401a3585
1401a356a:	44 38 7c 24 40       	cmp    %r15b,0x40(%rsp)
1401a356f:	74 14                	je     0x1401a3585
1401a3571:	e8 86 a8 f3 ff       	call   0x1400dddfc
1401a3576:	ba 18 00 00 00       	mov    $0x18,%edx
1401a357b:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a3580:	e8 ff 6c 15 00       	call   0x1402fa284
1401a3585:	48 8b 73 28          	mov    0x28(%rbx),%rsi
1401a3589:	48 8b 06             	mov    (%rsi),%rax
1401a358c:	48 8b 68 08          	mov    0x8(%rax),%rbp
1401a3590:	48 8d 84 24 90 00 00 	lea    0x90(%rsp),%rax
1401a3597:	00
1401a3598:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401a359d:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1401a35a1:	48 89 94 24 90 00 00 	mov    %rdx,0x90(%rsp)
1401a35a8:	00
1401a35a9:	48 85 d2             	test   %rdx,%rdx
1401a35ac:	74 15                	je     0x1401a35c3
1401a35ae:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a35b2:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a35b6:	48 83 c2 08          	add    $0x8,%rdx
1401a35ba:	48 03 ca             	add    %rdx,%rcx
1401a35bd:	48 8b 01             	mov    (%rcx),%rax
1401a35c0:	ff 10                	call   *(%rax)
1401a35c2:	90                   	nop
1401a35c3:	4c 8b 03             	mov    (%rbx),%r8
1401a35c6:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1401a35cb:	4d 85 c0             	test   %r8,%r8
1401a35ce:	74 15                	je     0x1401a35e5
1401a35d0:	49 8b 40 08          	mov    0x8(%r8),%rax
1401a35d4:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a35d8:	49 83 c0 08          	add    $0x8,%r8
1401a35dc:	49 03 c8             	add    %r8,%rcx
1401a35df:	48 8b 01             	mov    (%rcx),%rax
1401a35e2:	ff 10                	call   *(%rax)
1401a35e4:	90                   	nop
1401a35e5:	4d 8b ce             	mov    %r14,%r9
1401a35e8:	4c 8d 84 24 90 00 00 	lea    0x90(%rsp),%r8
1401a35ef:	00
1401a35f0:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401a35f5:	48 8b ce             	mov    %rsi,%rcx
1401a35f8:	ff d5                	call   *%rbp
1401a35fa:	48 8b 43 20          	mov    0x20(%rbx),%rax
1401a35fe:	48 8b 48 08          	mov    0x8(%rax),%rcx
1401a3602:	4c 89 78 08          	mov    %r15,0x8(%rax)
1401a3606:	48 85 c9             	test   %rcx,%rcx
1401a3609:	74 21                	je     0x1401a362c
1401a360b:	48 8d 41 08          	lea    0x8(%rcx),%rax
1401a360f:	f0 0f c1 38          	lock xadd %edi,(%rax)
1401a3613:	83 ff 01             	cmp    $0x1,%edi
1401a3616:	75 14                	jne    0x1401a362c
1401a3618:	48 85 c0             	test   %rax,%rax
1401a361b:	49 0f 44 cf          	cmove  %r15,%rcx
1401a361f:	48 85 c9             	test   %rcx,%rcx
1401a3622:	74 08                	je     0x1401a362c
1401a3624:	48 8b 01             	mov    (%rcx),%rax
1401a3627:	8b d7                	mov    %edi,%edx
1401a3629:	ff 50 40             	call   *0x40(%rax)
1401a362c:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
1401a3633:	00
1401a3634:	48 83 c4 50          	add    $0x50,%rsp
1401a3638:	41 5f                	pop    %r15
1401a363a:	41 5e                	pop    %r14
1401a363c:	5f                   	pop    %rdi
1401a363d:	5e                   	pop    %rsi
1401a363e:	5d                   	pop    %rbp
1401a363f:	c3                   	ret
1401a3640:	48 8b c4             	mov    %rsp,%rax
1401a3643:	48 89 58 08          	mov    %rbx,0x8(%rax)
1401a3647:	48 89 68 20          	mov    %rbp,0x20(%rax)
1401a364b:	4c 89 40 18          	mov    %r8,0x18(%rax)
1401a364f:	48 89 50 10          	mov    %rdx,0x10(%rax)
1401a3653:	56                   	push   %rsi
1401a3654:	57                   	push   %rdi
1401a3655:	41 56                	push   %r14
1401a3657:	48 83 ec 70          	sub    $0x70,%rsp
1401a365b:	41 8b f1             	mov    %r9d,%esi
1401a365e:	49 8b f8             	mov    %r8,%rdi
1401a3661:	48 8b da             	mov    %rdx,%rbx
1401a3664:	48 8b e9             	mov    %rcx,%rbp
1401a3667:	4c 8d 35 d2 72 18 00 	lea    0x1872d2(%rip),%r14        # 0x14032a940
1401a366e:	4c 89 70 d0          	mov    %r14,-0x30(%rax)
1401a3672:	48 c7 40 d8 00 00 00 	movq   $0x0,-0x28(%rax)
1401a3679:	00
1401a367a:	c6 40 e0 00          	movb   $0x0,-0x20(%rax)
1401a367e:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a3683:	e8 c0 6b 15 00       	call   0x1402fa248
1401a3688:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1401a368d:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a3690:	33 c9                	xor    %ecx,%ecx
1401a3692:	0f 11 00             	movups %xmm0,(%rax)
1401a3695:	48 89 48 10          	mov    %rcx,0x10(%rax)
1401a3699:	c6 44 24 68 01       	movb   $0x1,0x68(%rsp)
1401a369e:	4c 8b 44 24 60       	mov    0x60(%rsp),%r8
1401a36a3:	ba 1b 00 00 00       	mov    $0x1b,%edx
1401a36a8:	48 8d 0d e9 24 1a 00 	lea    0x1a24e9(%rip),%rcx        # 0x140345b98
1401a36af:	e8 4e a7 f3 ff       	call   0x1400dde02
1401a36b4:	90                   	nop
1401a36b5:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1401a36ba:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1401a36bf:	48 8b 17             	mov    (%rdi),%rdx
1401a36c2:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
1401a36c7:	48 85 d2             	test   %rdx,%rdx
1401a36ca:	74 15                	je     0x1401a36e1
1401a36cc:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a36d0:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a36d4:	48 83 c2 08          	add    $0x8,%rdx
1401a36d8:	48 03 ca             	add    %rdx,%rcx
1401a36db:	48 8b 01             	mov    (%rcx),%rax
1401a36de:	ff 10                	call   *(%rax)
1401a36e0:	90                   	nop
1401a36e1:	48 8b 13             	mov    (%rbx),%rdx
1401a36e4:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
1401a36e9:	48 85 d2             	test   %rdx,%rdx
1401a36ec:	74 15                	je     0x1401a3703
1401a36ee:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a36f2:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a36f6:	48 83 c2 08          	add    $0x8,%rdx
1401a36fa:	48 03 ca             	add    %rdx,%rcx
1401a36fd:	48 8b 01             	mov    (%rcx),%rax
1401a3700:	ff 10                	call   *(%rax)
1401a3702:	90                   	nop
1401a3703:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
1401a3708:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401a370d:	c7 44 24 28 ff ff ff 	movl   $0xffffffff,0x28(%rsp)
1401a3714:	ff
1401a3715:	8b 84 24 b0 00 00 00 	mov    0xb0(%rsp),%eax
1401a371c:	89 44 24 20          	mov    %eax,0x20(%rsp)
1401a3720:	44 8b ce             	mov    %esi,%r9d
1401a3723:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
1401a3728:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
1401a372d:	48 8b cd             	mov    %rbp,%rcx
1401a3730:	e8 7b fc 00 00       	call   0x1401b33b0
1401a3735:	90                   	nop
1401a3736:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)
1401a373b:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1401a3740:	48 85 c9             	test   %rcx,%rcx
1401a3743:	74 1c                	je     0x1401a3761
1401a3745:	80 7c 24 68 00       	cmpb   $0x0,0x68(%rsp)
1401a374a:	74 15                	je     0x1401a3761
1401a374c:	e8 ab a6 f3 ff       	call   0x1400dddfc
1401a3751:	ba 18 00 00 00       	mov    $0x18,%edx
1401a3756:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1401a375b:	e8 24 6b 15 00       	call   0x1402fa284
1401a3760:	90                   	nop
1401a3761:	48 8b 13             	mov    (%rbx),%rdx
1401a3764:	48 85 d2             	test   %rdx,%rdx
1401a3767:	74 16                	je     0x1401a377f
1401a3769:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a376d:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a3771:	48 83 c2 08          	add    $0x8,%rdx
1401a3775:	48 03 ca             	add    %rdx,%rcx
1401a3778:	48 8b 01             	mov    (%rcx),%rax
1401a377b:	ff 50 08             	call   *0x8(%rax)
1401a377e:	90                   	nop
1401a377f:	48 8b 17             	mov    (%rdi),%rdx
1401a3782:	48 85 d2             	test   %rdx,%rdx
1401a3785:	74 16                	je     0x1401a379d
1401a3787:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a378b:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a378f:	48 83 c2 08          	add    $0x8,%rdx
1401a3793:	48 03 ca             	add    %rdx,%rcx
1401a3796:	48 8b 01             	mov    (%rcx),%rax
1401a3799:	ff 50 08             	call   *0x8(%rax)
1401a379c:	90                   	nop
1401a379d:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1401a37a2:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1401a37a6:	49 8b 6b 38          	mov    0x38(%r11),%rbp
1401a37aa:	49 8b e3             	mov    %r11,%rsp
1401a37ad:	41 5e                	pop    %r14
1401a37af:	5f                   	pop    %rdi
1401a37b0:	5e                   	pop    %rsi
1401a37b1:	c3                   	ret
1401a37b2:	cc                   	int3
1401a37b3:	cc                   	int3
1401a37b4:	cc                   	int3
1401a37b5:	cc                   	int3
1401a37b6:	cc                   	int3
1401a37b7:	cc                   	int3
1401a37b8:	cc                   	int3
1401a37b9:	cc                   	int3
1401a37ba:	cc                   	int3
1401a37bb:	cc                   	int3
1401a37bc:	cc                   	int3
1401a37bd:	cc                   	int3
1401a37be:	cc                   	int3
1401a37bf:	cc                   	int3
1401a37c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a37c5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401a37ca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401a37cf:	57                   	push   %rdi
1401a37d0:	41 56                	push   %r14
1401a37d2:	41 57                	push   %r15
1401a37d4:	48 83 ec 40          	sub    $0x40,%rsp
1401a37d8:	48 8b c2             	mov    %rdx,%rax
1401a37db:	48 8b d9             	mov    %rcx,%rbx
1401a37de:	33 f6                	xor    %esi,%esi
1401a37e0:	48 85 d2             	test   %rdx,%rdx
1401a37e3:	75 17                	jne    0x1401a37fc
1401a37e5:	48 8d 2d 54 71 18 00 	lea    0x187154(%rip),%rbp        # 0x14032a940
1401a37ec:	48 89 29             	mov    %rbp,(%rcx)
1401a37ef:	48 89 71 08          	mov    %rsi,0x8(%rcx)
1401a37f3:	40 88 71 10          	mov    %sil,0x10(%rcx)
1401a37f7:	e9 ed 00 00 00       	jmp    0x1401a38e9
1401a37fc:	49 8b d0             	mov    %r8,%rdx
1401a37ff:	48 8b c8             	mov    %rax,%rcx
1401a3802:	e8 4f 94 15 00       	call   0x1402fcc56
1401a3807:	4c 8b f0             	mov    %rax,%r14
1401a380a:	48 8d 2d 2f 71 18 00 	lea    0x18712f(%rip),%rbp        # 0x14032a940
1401a3811:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
1401a3816:	48 8b fe             	mov    %rsi,%rdi
1401a3819:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1401a381e:	45 32 ff             	xor    %r15b,%r15b
1401a3821:	44 88 7c 24 38       	mov    %r15b,0x38(%rsp)
1401a3826:	48 85 c0             	test   %rax,%rax
1401a3829:	74 4b                	je     0x1401a3876
1401a382b:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a3830:	e8 13 6a 15 00       	call   0x1402fa248
1401a3835:	48 8b f8             	mov    %rax,%rdi
1401a3838:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401a383d:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a3840:	33 c0                	xor    %eax,%eax
1401a3842:	0f 11 07             	movups %xmm0,(%rdi)
1401a3845:	48 89 47 10          	mov    %rax,0x10(%rdi)
1401a3849:	41 b7 01             	mov    $0x1,%r15b
1401a384c:	44 88 7c 24 38       	mov    %r15b,0x38(%rsp)
1401a3851:	41 0f 10 06          	movups (%r14),%xmm0
1401a3855:	0f 11 07             	movups %xmm0,(%rdi)
1401a3858:	f2 41 0f 10 4e 10    	movsd  0x10(%r14),%xmm1
1401a385e:	f2 0f 11 4f 10       	movsd  %xmm1,0x10(%rdi)
1401a3863:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a3866:	41 0f 11 06          	movups %xmm0,(%r14)
1401a386a:	49 89 46 10          	mov    %rax,0x10(%r14)
1401a386e:	49 8b ce             	mov    %r14,%rcx
1401a3871:	e8 f0 92 15 00       	call   0x1402fcb66
1401a3876:	48 89 2b             	mov    %rbp,(%rbx)
1401a3879:	48 89 73 08          	mov    %rsi,0x8(%rbx)
1401a387d:	c6 43 10 00          	movb   $0x0,0x10(%rbx)
1401a3881:	48 85 ff             	test   %rdi,%rdi
1401a3884:	74 44                	je     0x1401a38ca
1401a3886:	48 8b 77 08          	mov    0x8(%rdi),%rsi
1401a388a:	48 8b 2f             	mov    (%rdi),%rbp
1401a388d:	48 85 ed             	test   %rbp,%rbp
1401a3890:	74 38                	je     0x1401a38ca
1401a3892:	48 85 f6             	test   %rsi,%rsi
1401a3895:	74 33                	je     0x1401a38ca
1401a3897:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a389c:	e8 a7 69 15 00       	call   0x1402fa248
1401a38a1:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401a38a5:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a38a8:	33 c9                	xor    %ecx,%ecx
1401a38aa:	0f 11 00             	movups %xmm0,(%rax)
1401a38ad:	48 89 48 10          	mov    %rcx,0x10(%rax)
1401a38b1:	c6 43 10 01          	movb   $0x1,0x10(%rbx)
1401a38b5:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1401a38bb:	4c 8b c0             	mov    %rax,%r8
1401a38be:	48 8b d6             	mov    %rsi,%rdx
1401a38c1:	48 8b cd             	mov    %rbp,%rcx
1401a38c4:	e8 73 92 15 00       	call   0x1402fcb3c
1401a38c9:	90                   	nop
1401a38ca:	48 85 ff             	test   %rdi,%rdi
1401a38cd:	74 1a                	je     0x1401a38e9
1401a38cf:	45 84 ff             	test   %r15b,%r15b
1401a38d2:	74 15                	je     0x1401a38e9
1401a38d4:	48 8b cf             	mov    %rdi,%rcx
1401a38d7:	e8 20 a5 f3 ff       	call   0x1400dddfc
1401a38dc:	ba 18 00 00 00       	mov    $0x18,%edx
1401a38e1:	48 8b cf             	mov    %rdi,%rcx
1401a38e4:	e8 9b 69 15 00       	call   0x1402fa284
1401a38e9:	48 8b c3             	mov    %rbx,%rax
1401a38ec:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1401a38f1:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1401a38f6:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1401a38fb:	48 83 c4 40          	add    $0x40,%rsp
1401a38ff:	41 5f                	pop    %r15
1401a3901:	41 5e                	pop    %r14
1401a3903:	5f                   	pop    %rdi
1401a3904:	c3                   	ret
1401a3905:	cc                   	int3
1401a3906:	cc                   	int3
1401a3907:	cc                   	int3
1401a3908:	cc                   	int3
1401a3909:	cc                   	int3
1401a390a:	cc                   	int3
1401a390b:	cc                   	int3
1401a390c:	cc                   	int3
1401a390d:	cc                   	int3
1401a390e:	cc                   	int3
1401a390f:	cc                   	int3
1401a3910:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a3915:	57                   	push   %rdi
1401a3916:	48 83 ec 20          	sub    $0x20,%rsp
1401a391a:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
1401a391f:	48 8b da             	mov    %rdx,%rbx
1401a3922:	48 8b f9             	mov    %rcx,%rdi
1401a3925:	75 1e                	jne    0x1401a3945
1401a3927:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a392c:	e8 17 69 15 00       	call   0x1402fa248
1401a3931:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401a3935:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a3938:	33 c9                	xor    %ecx,%ecx
1401a393a:	0f 11 00             	movups %xmm0,(%rax)
1401a393d:	48 89 48 10          	mov    %rcx,0x10(%rax)
1401a3941:	c6 43 10 01          	movb   $0x1,0x10(%rbx)
1401a3945:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1401a3949:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
1401a394d:	33 c0                	xor    %eax,%eax
1401a394f:	48 85 ff             	test   %rdi,%rdi
1401a3952:	48 0f 44 c8          	cmove  %rax,%rcx
1401a3956:	e8 f5 92 15 00       	call   0x1402fcc50
1401a395b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401a3960:	85 c0                	test   %eax,%eax
1401a3962:	0f 95 c0             	setne  %al
1401a3965:	48 83 c4 20          	add    $0x20,%rsp
1401a3969:	5f                   	pop    %rdi
1401a396a:	c3                   	ret
1401a396b:	cc                   	int3
1401a396c:	cc                   	int3
1401a396d:	cc                   	int3
1401a396e:	cc                   	int3
1401a396f:	cc                   	int3
1401a3970:	48 83 ec 28          	sub    $0x28,%rsp
1401a3974:	e8 9b 92 15 00       	call   0x1402fcc14
1401a3979:	85 c0                	test   %eax,%eax
1401a397b:	0f 95 c0             	setne  %al
1401a397e:	48 83 c4 28          	add    $0x28,%rsp
1401a3982:	c3                   	ret
1401a3983:	cc                   	int3
1401a3984:	cc                   	int3
1401a3985:	cc                   	int3
1401a3986:	cc                   	int3
1401a3987:	cc                   	int3
1401a3988:	cc                   	int3
1401a3989:	cc                   	int3
1401a398a:	cc                   	int3
1401a398b:	cc                   	int3
1401a398c:	cc                   	int3
1401a398d:	cc                   	int3
1401a398e:	cc                   	int3
1401a398f:	cc                   	int3
1401a3990:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a3995:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401a399a:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401a399f:	56                   	push   %rsi
1401a39a0:	57                   	push   %rdi
1401a39a1:	41 56                	push   %r14
1401a39a3:	48 83 ec 30          	sub    $0x30,%rsp
1401a39a7:	49 8b f1             	mov    %r9,%rsi