14003863a:	48 8b f2             	mov    %rdx,%rsi
14003863d:	4c 8b f1             	mov    %rcx,%r14
140038640:	4d 85 c0             	test   %r8,%r8
140038643:	0f 8e 8e 00 00 00    	jle    0x1400386d7
140038649:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14003864e:	66 90                	xchg   %ax,%ax
140038650:	49 8b ce             	mov    %r14,%rcx
140038653:	e8 e8 de ff ff       	call   0x140036540
140038658:	48 8b d8             	mov    %rax,%rbx
14003865b:	48 85 c0             	test   %rax,%rax
14003865e:	7e 39                	jle    0x140038699
140038660:	48 3b f8             	cmp    %rax,%rdi
140038663:	48 0f 4c df          	cmovl  %rdi,%rbx
140038667:	48 85 db             	test   %rbx,%rbx
14003866a:	74 12                	je     0x14003867e
14003866c:	49 8b 4e 40          	mov    0x40(%r14),%rcx
140038670:	4c 8b c3             	mov    %rbx,%r8
140038673:	48 8b d6             	mov    %rsi,%rdx
140038676:	48 8b 09             	mov    (%rcx),%rcx
140038679:	e8 92 21 00 00       	call   0x14003a810
14003867e:	49 8b 46 58          	mov    0x58(%r14),%rax
140038682:	48 03 f3             	add    %rbx,%rsi
140038685:	48 03 eb             	add    %rbx,%rbp
140038688:	48 2b fb             	sub    %rbx,%rdi
14003868b:	29 18                	sub    %ebx,(%rax)
14003868d:	49 8b 4e 40          	mov    0x40(%r14),%rcx
140038691:	48 63 c3             	movslq %ebx,%rax
140038694:	48 01 01             	add    %rax,(%rcx)
140038697:	eb 1b                	jmp    0x1400386b4
140038699:	4d 8b 06             	mov    (%r14),%r8
14003869c:	49 8b ce             	mov    %r14,%rcx
14003869f:	0f b6 16             	movzbl (%rsi),%edx
1400386a2:	41 ff 50 18          	call   *0x18(%r8)
1400386a6:	83 f8 ff             	cmp    $0xffffffff,%eax
1400386a9:	74 0e                	je     0x1400386b9
1400386ab:	48 ff c6             	inc    %rsi
1400386ae:	48 ff c5             	inc    %rbp
1400386b1:	48 ff cf             	dec    %rdi
1400386b4:	48 85 ff             	test   %rdi,%rdi
1400386b7:	7f 97                	jg     0x140038650
1400386b9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400386be:	48 8b c5             	mov    %rbp,%rax
1400386c1:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400386c6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400386cb:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400386d0:	48 83 c4 20          	add    $0x20,%rsp
1400386d4:	41 5e                	pop    %r14
1400386d6:	c3                   	ret
1400386d7:	48 8b c5             	mov    %rbp,%rax
1400386da:	eb e5                	jmp    0x1400386c1
1400386dc:	cc                   	int3
1400386dd:	cc                   	int3
1400386de:	cc                   	int3
1400386df:	cc                   	int3
1400386e0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1400386e5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1400386ea:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400386ef:	53                   	push   %rbx
1400386f0:	56                   	push   %rsi
1400386f1:	57                   	push   %rdi
1400386f2:	48 83 ec 30          	sub    $0x30,%rsp
1400386f6:	48 8b fa             	mov    %rdx,%rdi
1400386f9:	48 8d 74 24 60       	lea    0x60(%rsp),%rsi
1400386fe:	48 8b d9             	mov    %rcx,%rbx
140038701:	e8 5a 8d fc ff       	call   0x140001460
140038706:	45 33 c9             	xor    %r9d,%r9d
140038709:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14003870e:	4c 8b c7             	mov    %rdi,%r8
140038711:	48 8b d3             	mov    %rbx,%rdx
140038714:	48 8b 08             	mov    (%rax),%rcx
140038717:	e8 54 c4 fd ff       	call   0x140014b70
14003871c:	48 83 c4 30          	add    $0x30,%rsp
140038720:	5f                   	pop    %rdi
140038721:	5e                   	pop    %rsi
140038722:	5b                   	pop    %rbx
140038723:	c3                   	ret
140038724:	cc                   	int3
140038725:	cc                   	int3
140038726:	cc                   	int3
140038727:	cc                   	int3
140038728:	cc                   	int3
140038729:	cc                   	int3
14003872a:	cc                   	int3
14003872b:	cc                   	int3
14003872c:	cc                   	int3
14003872d:	cc                   	int3
14003872e:	cc                   	int3
14003872f:	cc                   	int3
140038730:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140038735:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14003873a:	53                   	push   %rbx
14003873b:	55                   	push   %rbp
14003873c:	56                   	push   %rsi
14003873d:	57                   	push   %rdi
14003873e:	48 83 ec 38          	sub    $0x38,%rsp
140038742:	49 8b f0             	mov    %r8,%rsi
140038745:	48 8d 6c 24 78       	lea    0x78(%rsp),%rbp
14003874a:	48 8b da             	mov    %rdx,%rbx
14003874d:	48 8b f9             	mov    %rcx,%rdi
140038750:	e8 0b 8d fc ff       	call   0x140001460
140038755:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
14003875a:	4c 8b ce             	mov    %rsi,%r9
14003875d:	4c 8b c3             	mov    %rbx,%r8
140038760:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140038767:	00 00
140038769:	48 8b d7             	mov    %rdi,%rdx
14003876c:	48 8b 08             	mov    (%rax),%rcx
14003876f:	e8 d0 c9 fd ff       	call   0x140015144
140038774:	83 c9 ff             	or     $0xffffffff,%ecx
140038777:	85 c0                	test   %eax,%eax
140038779:	0f 48 c1             	cmovs  %ecx,%eax
14003877c:	48 83 c4 38          	add    $0x38,%rsp
140038780:	5f                   	pop    %rdi
140038781:	5e                   	pop    %rsi
140038782:	5d                   	pop    %rbp
140038783:	5b                   	pop    %rbx
140038784:	c3                   	ret
140038785:	cc                   	int3
140038786:	cc                   	int3
140038787:	cc                   	int3
140038788:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14003878d:	57                   	push   %rdi
14003878e:	48 83 ec 20          	sub    $0x20,%rsp
140038792:	48 8b f9             	mov    %rcx,%rdi
140038795:	f0 ff 05 98 66 01 00 	lock incl 0x16698(%rip)        # 0x14004ee34
14003879c:	75 1f                	jne    0x1400387bd
14003879e:	48 8d 1d 2b a3 01 00 	lea    0x1a32b(%rip),%rbx        # 0x140052ad0
1400387a5:	48 8b cb             	mov    %rbx,%rcx
1400387a8:	e8 d3 0a 00 00       	call   0x140039280
1400387ad:	48 8d 05 5c a4 01 00 	lea    0x1a45c(%rip),%rax        # 0x140052c10
1400387b4:	48 83 c3 28          	add    $0x28,%rbx
1400387b8:	48 3b d8             	cmp    %rax,%rbx
1400387bb:	75 e8                	jne    0x1400387a5
1400387bd:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400387c2:	48 8b c7             	mov    %rdi,%rax
1400387c5:	48 83 c4 20          	add    $0x20,%rsp
1400387c9:	5f                   	pop    %rdi
1400387ca:	c3                   	ret
1400387cb:	cc                   	int3
1400387cc:	40 53                	rex push %rbx
1400387ce:	48 83 ec 20          	sub    $0x20,%rsp
1400387d2:	89 11                	mov    %edx,(%rcx)
1400387d4:	48 8b d9             	mov    %rcx,%rbx
1400387d7:	85 d2                	test   %edx,%edx
1400387d9:	75 07                	jne    0x1400387e2
1400387db:	e8 b8 10 ff ff       	call   0x140029898
1400387e0:	eb 1c                	jmp    0x1400387fe
1400387e2:	83 fa 08             	cmp    $0x8,%edx
1400387e5:	7d 17                	jge    0x1400387fe
1400387e7:	48 63 c2             	movslq %edx,%rax
1400387ea:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
1400387ee:	48 8d 05 db a2 01 00 	lea    0x1a2db(%rip),%rax        # 0x140052ad0
1400387f5:	48 8d 0c c8          	lea    (%rax,%rcx,8),%rcx
1400387f9:	e8 92 0a 00 00       	call   0x140039290
1400387fe:	48 8b c3             	mov    %rbx,%rax
140038801:	48 83 c4 20          	add    $0x20,%rsp
140038805:	5b                   	pop    %rbx
140038806:	c3                   	ret
140038807:	cc                   	int3
140038808:	40 53                	rex push %rbx
14003880a:	48 83 ec 20          	sub    $0x20,%rsp
14003880e:	83 c8 ff             	or     $0xffffffff,%eax
140038811:	f0 0f c1 05 1b 66 01 	lock xadd %eax,0x1661b(%rip)        # 0x14004ee34
140038818:	00
140038819:	83 f8 01             	cmp    $0x1,%eax
14003881c:	79 1f                	jns    0x14003883d
14003881e:	48 8d 1d ab a2 01 00 	lea    0x1a2ab(%rip),%rbx        # 0x140052ad0
140038825:	48 8b cb             	mov    %rbx,%rcx
140038828:	e8 4b 0a 00 00       	call   0x140039278
14003882d:	48 8d 05 dc a3 01 00 	lea    0x1a3dc(%rip),%rax        # 0x140052c10
140038834:	48 83 c3 28          	add    $0x28,%rbx
140038838:	48 3b d8             	cmp    %rax,%rbx
14003883b:	75 e8                	jne    0x140038825
14003883d:	48 83 c4 20          	add    $0x20,%rsp
140038841:	5b                   	pop    %rbx
140038842:	c3                   	ret
140038843:	cc                   	int3
140038844:	48 83 ec 28          	sub    $0x28,%rsp
140038848:	48 63 01             	movslq (%rcx),%rax
14003884b:	85 c0                	test   %eax,%eax
14003884d:	75 09                	jne    0x140038858
14003884f:	48 83 c4 28          	add    $0x28,%rsp
140038853:	e9 5c 10 ff ff       	jmp    0x1400298b4
140038858:	83 f8 08             	cmp    $0x8,%eax
14003885b:	7d 14                	jge    0x140038871
14003885d:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
140038861:	48 8d 05 68 a2 01 00 	lea    0x1a268(%rip),%rax        # 0x140052ad0
140038868:	48 8d 0c c8          	lea    (%rax,%rcx,8),%rcx
14003886c:	e8 27 0a 00 00       	call   0x140039298
140038871:	48 83 c4 28          	add    $0x28,%rsp
140038875:	c3                   	ret
140038876:	cc                   	int3
140038877:	cc                   	int3
140038878:	40 53                	rex push %rbx
14003887a:	48 83 ec 20          	sub    $0x20,%rsp
14003887e:	48 8b d9             	mov    %rcx,%rbx
140038881:	e8 be 10 ff ff       	call   0x140029944
140038886:	ba 02 00 00 00       	mov    $0x2,%edx
14003888b:	89 03                	mov    %eax,(%rbx)
14003888d:	b9 00 01 00 00       	mov    $0x100,%ecx
140038892:	e8 d9 8b fc ff       	call   0x140001470
140038897:	48 89 43 08          	mov    %rax,0x8(%rbx)
14003889b:	48 85 c0             	test   %rax,%rax
14003889e:	74 65                	je     0x140038905
1400388a0:	e8 bb a7 fe ff       	call   0x140023060
1400388a5:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400388a9:	ba 04 00 00 00       	mov    $0x4,%edx
1400388ae:	44 8d 42 7c          	lea    0x7c(%rdx),%r8d
1400388b2:	0f 10 00             	movups (%rax),%xmm0
1400388b5:	0f 11 01             	movups %xmm0,(%rcx)
1400388b8:	0f 10 48 10          	movups 0x10(%rax),%xmm1
1400388bc:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
1400388c0:	0f 10 40 20          	movups 0x20(%rax),%xmm0
1400388c4:	0f 11 41 20          	movups %xmm0,0x20(%rcx)
1400388c8:	0f 10 48 30          	movups 0x30(%rax),%xmm1
1400388cc:	0f 11 49 30          	movups %xmm1,0x30(%rcx)
1400388d0:	0f 10 40 40          	movups 0x40(%rax),%xmm0
1400388d4:	0f 11 41 40          	movups %xmm0,0x40(%rcx)
1400388d8:	0f 10 48 50          	movups 0x50(%rax),%xmm1
1400388dc:	0f 11 49 50          	movups %xmm1,0x50(%rcx)
1400388e0:	0f 10 40 60          	movups 0x60(%rax),%xmm0
1400388e4:	0f 11 41 60          	movups %xmm0,0x60(%rcx)
1400388e8:	49 03 c8             	add    %r8,%rcx
1400388eb:	0f 10 48 70          	movups 0x70(%rax),%xmm1
1400388ef:	49 03 c0             	add    %r8,%rax
1400388f2:	0f 11 49 f0          	movups %xmm1,-0x10(%rcx)
1400388f6:	48 83 ea 01          	sub    $0x1,%rdx
1400388fa:	75 b6                	jne    0x1400388b2
1400388fc:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
140038903:	eb 0d                	jmp    0x140038912
140038905:	e8 56 a7 fe ff       	call   0x140023060
14003890a:	83 63 10 00          	andl   $0x0,0x10(%rbx)
14003890e:	48 89 43 08          	mov    %rax,0x8(%rbx)
140038912:	e8 5d 10 ff ff       	call   0x140029974
140038917:	48 8b 48 08          	mov    0x8(%rax),%rcx
14003891b:	48 89 4b 18          	mov    %rcx,0x18(%rbx)
14003891f:	48 85 c9             	test   %rcx,%rcx
140038922:	74 09                	je     0x14003892d
140038924:	e8 c7 13 00 00       	call   0x140039cf0
140038929:	48 89 43 18          	mov    %rax,0x18(%rbx)
14003892d:	48 8b c3             	mov    %rbx,%rax
140038930:	48 83 c4 20          	add    $0x20,%rsp
140038934:	5b                   	pop    %rbx
140038935:	c3                   	ret
140038936:	cc                   	int3
140038937:	cc                   	int3
140038938:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14003893d:	55                   	push   %rbp
14003893e:	56                   	push   %rsi
14003893f:	57                   	push   %rdi
140038940:	48 83 ec 40          	sub    $0x40,%rsp
140038944:	48 63 d9             	movslq %ecx,%rbx
140038947:	48 8b fa             	mov    %rdx,%rdi
14003894a:	48 85 d2             	test   %rdx,%rdx
14003894d:	75 12                	jne    0x140038961
14003894f:	e8 20 10 ff ff       	call   0x140029974
140038954:	48 8b 70 10          	mov    0x10(%rax),%rsi
140038958:	e8 e7 0f ff ff       	call   0x140029944
14003895d:	8b e8                	mov    %eax,%ebp
14003895f:	eb 06                	jmp    0x140038967
140038961:	48 8b 72 18          	mov    0x18(%rdx),%rsi
140038965:	8b 2a                	mov    (%rdx),%ebp
140038967:	48 85 f6             	test   %rsi,%rsi
14003896a:	75 11                	jne    0x14003897d
14003896c:	8d 4b bf             	lea    -0x41(%rbx),%ecx
14003896f:	83 f9 19             	cmp    $0x19,%ecx
140038972:	8d 43 20             	lea    0x20(%rbx),%eax
140038975:	0f 47 c3             	cmova  %ebx,%eax
140038978:	e9 e6 00 00 00       	jmp    0x140038a63
14003897d:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
140038983:	73 5d                	jae    0x1400389e2
140038985:	48 85 ff             	test   %rdi,%rdi
140038988:	75 11                	jne    0x14003899b
14003898a:	8b cb                	mov    %ebx,%ecx
14003898c:	e8 2f 44 fe ff       	call   0x14001cdc0
140038991:	85 c0                	test   %eax,%eax
140038993:	0f 84 b2 00 00 00    	je     0x140038a4b
140038999:	eb 53                	jmp    0x1400389ee
14003899b:	48 8d 57 08          	lea    0x8(%rdi),%rdx
14003899f:	48 8b cb             	mov    %rbx,%rcx
1400389a2:	48 8b 02             	mov    (%rdx),%rax
1400389a5:	f6 04 58 01          	testb  $0x1,(%rax,%rbx,2)
1400389a9:	0f 84 9c 00 00 00    	je     0x140038a4b
1400389af:	48 8b 02             	mov    (%rdx),%rax
1400389b2:	8b fb                	mov    %ebx,%edi
1400389b4:	48 c1 f9 08          	sar    $0x8,%rcx
1400389b8:	0f b6 c9             	movzbl %cl,%ecx
1400389bb:	0f bf 14 48          	movswl (%rax,%rcx,2),%edx
1400389bf:	c1 ea 0f             	shr    $0xf,%edx
1400389c2:	83 e2 01             	and    $0x1,%edx
1400389c5:	c1 ff 08             	sar    $0x8,%edi
1400389c8:	85 d2                	test   %edx,%edx
1400389ca:	74 3c                	je     0x140038a08
1400389cc:	40 88 7c 24 68       	mov    %dil,0x68(%rsp)
1400389d1:	41 b9 02 00 00 00    	mov    $0x2,%r9d
1400389d7:	88 5c 24 69          	mov    %bl,0x69(%rsp)
1400389db:	c6 44 24 6a 00       	movb   $0x0,0x6a(%rsp)
1400389e0:	eb 35                	jmp    0x140038a17
1400389e2:	48 8d 57 08          	lea    0x8(%rdi),%rdx
1400389e6:	48 8b cb             	mov    %rbx,%rcx
1400389e9:	48 85 ff             	test   %rdi,%rdi
1400389ec:	75 c1                	jne    0x1400389af
1400389ee:	8b fb                	mov    %ebx,%edi
1400389f0:	c1 ff 08             	sar    $0x8,%edi
1400389f3:	e8 68 a6 fe ff       	call   0x140023060
1400389f8:	40 0f b6 cf          	movzbl %dil,%ecx
1400389fc:	0f b7 14 48          	movzwl (%rax,%rcx,2),%edx
140038a00:	81 e2 00 80 00 00    	and    $0x8000,%edx
140038a06:	eb c0                	jmp    0x1400389c8
140038a08:	88 5c 24 68          	mov    %bl,0x68(%rsp)
140038a0c:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140038a12:	c6 44 24 69 00       	movb   $0x0,0x69(%rsp)
140038a17:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140038a1e:	00
140038a1f:	48 8d 44 24 70       	lea    0x70(%rsp),%rax
140038a24:	89 6c 24 30          	mov    %ebp,0x30(%rsp)
140038a28:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
140038a2d:	c7 44 24 28 03 00 00 	movl   $0x3,0x28(%rsp)
140038a34:	00
140038a35:	ba 00 01 00 00       	mov    $0x100,%edx
140038a3a:	48 8b ce             	mov    %rsi,%rcx
140038a3d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140038a42:	e8 59 08 00 00       	call   0x1400392a0
140038a47:	85 c0                	test   %eax,%eax
140038a49:	75 04                	jne    0x140038a4f
140038a4b:	8b c3                	mov    %ebx,%eax
140038a4d:	eb 14                	jmp    0x140038a63
140038a4f:	83 f8 01             	cmp    $0x1,%eax
140038a52:	0f b6 44 24 70       	movzbl 0x70(%rsp),%eax
140038a57:	74 0a                	je     0x140038a63
140038a59:	0f b6 4c 24 71       	movzbl 0x71(%rsp),%ecx
140038a5e:	c1 e0 08             	shl    $0x8,%eax
140038a61:	0b c1                	or     %ecx,%eax
140038a63:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140038a68:	48 83 c4 40          	add    $0x40,%rsp
140038a6c:	5f                   	pop    %rdi
140038a6d:	5e                   	pop    %rsi
140038a6e:	5d                   	pop    %rbp
140038a6f:	c3                   	ret
140038a70:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140038a75:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140038a7a:	56                   	push   %rsi
140038a7b:	57                   	push   %rdi
140038a7c:	41 56                	push   %r14
140038a7e:	48 83 ec 40          	sub    $0x40,%rsp
140038a82:	48 63 d9             	movslq %ecx,%rbx
140038a85:	48 8b fa             	mov    %rdx,%rdi
140038a88:	48 85 d2             	test   %rdx,%rdx
140038a8b:	75 13                	jne    0x140038aa0
140038a8d:	e8 e2 0e ff ff       	call   0x140029974