140039866:	8b c8                	mov    %eax,%ecx
140039868:	4d 8b d8             	mov    %r8,%r11
14003986b:	c1 e1 08             	shl    $0x8,%ecx
14003986e:	49 83 e3 f0          	and    $0xfffffffffffffff0,%r11
140039872:	0b c8                	or     %eax,%ecx
140039874:	41 83 e0 0f          	and    $0xf,%r8d
140039878:	41 8b c2             	mov    %r10d,%eax
14003987b:	66 0f 6e c1          	movd   %ecx,%xmm0
14003987f:	41 8b c8             	mov    %r8d,%ecx
140039882:	f2 0f 70 c8 00       	pshuflw $0x0,%xmm0,%xmm1
140039887:	0f 57 c0             	xorps  %xmm0,%xmm0
14003988a:	66 41 0f 74 03       	pcmpeqb (%r11),%xmm0
14003988f:	66 0f d7 d8          	pmovmskb %xmm0,%ebx
140039893:	41 d3 e2             	shl    %cl,%r10d
140039896:	66 0f 70 d1 00       	pshufd $0x0,%xmm1,%xmm2
14003989b:	66 0f 6f c2          	movdqa %xmm2,%xmm0
14003989f:	d3 e0                	shl    %cl,%eax
1400398a1:	66 41 0f 74 03       	pcmpeqb (%r11),%xmm0
1400398a6:	66 0f d7 d0          	pmovmskb %xmm0,%edx
1400398aa:	41 23 d2             	and    %r10d,%edx
1400398ad:	23 d8                	and    %eax,%ebx
1400398af:	75 2d                	jne    0x1400398de
1400398b1:	0f bd ca             	bsr    %edx,%ecx
1400398b4:	0f 57 c9             	xorps  %xmm1,%xmm1
1400398b7:	66 0f 6f c2          	movdqa %xmm2,%xmm0
1400398bb:	49 03 cb             	add    %r11,%rcx
1400398be:	85 d2                	test   %edx,%edx
1400398c0:	4c 0f 45 c9          	cmovne %rcx,%r9
1400398c4:	49 83 c3 10          	add    $0x10,%r11
1400398c8:	66 41 0f 74 0b       	pcmpeqb (%r11),%xmm1
1400398cd:	66 41 0f 74 03       	pcmpeqb (%r11),%xmm0
1400398d2:	66 0f d7 d9          	pmovmskb %xmm1,%ebx
1400398d6:	66 0f d7 d0          	pmovmskb %xmm0,%edx
1400398da:	85 db                	test   %ebx,%ebx
1400398dc:	74 d3                	je     0x1400398b1
1400398de:	8b c3                	mov    %ebx,%eax
1400398e0:	f7 d8                	neg    %eax
1400398e2:	23 c3                	and    %ebx,%eax
1400398e4:	ff c8                	dec    %eax
1400398e6:	23 d0                	and    %eax,%edx
1400398e8:	0f bd ca             	bsr    %edx,%ecx
1400398eb:	49 03 cb             	add    %r11,%rcx
1400398ee:	85 d2                	test   %edx,%edx
1400398f0:	4c 0f 45 c9          	cmovne %rcx,%r9
1400398f4:	49 8b c1             	mov    %r9,%rax
1400398f7:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1400398fc:	c3                   	ret
1400398fd:	41 38 10             	cmp    %dl,(%r8)
140039900:	4d 0f 44 c8          	cmove  %r8,%r9
140039904:	41 80 38 00          	cmpb   $0x0,(%r8)
140039908:	74 ea                	je     0x1400398f4
14003990a:	49 ff c0             	inc    %r8
14003990d:	41 f6 c0 0f          	test   $0xf,%r8b
140039911:	75 ea                	jne    0x1400398fd
140039913:	0f b6 c2             	movzbl %dl,%eax
140039916:	66 0f 6e c0          	movd   %eax,%xmm0
14003991a:	66 41 0f 3a 63 00 40 	pcmpistri $0x40,(%r8),%xmm0
140039921:	73 0d                	jae    0x140039930
140039923:	4c 63 c9             	movslq %ecx,%r9
140039926:	4d 03 c8             	add    %r8,%r9
140039929:	66 41 0f 3a 63 00 40 	pcmpistri $0x40,(%r8),%xmm0
140039930:	74 c2                	je     0x1400398f4
140039932:	49 83 c0 10          	add    $0x10,%r8
140039936:	eb e2                	jmp    0x14003991a
140039938:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14003993d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140039942:	48 83 ec 28          	sub    $0x28,%rsp
140039946:	45 33 c9             	xor    %r9d,%r9d
140039949:	45 33 c0             	xor    %r8d,%r8d
14003994c:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
140039951:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140039956:	ff 15 44 2a 00 00    	call   *0x2a44(%rip)        # 0x14003c3a0
14003995c:	90                   	nop
14003995d:	48 83 c4 28          	add    $0x28,%rsp
140039961:	c3                   	ret
140039962:	cc                   	int3
140039963:	cc                   	int3
140039964:	0f b7 c2             	movzwl %dx,%eax
140039967:	4c 8b c1             	mov    %rcx,%r8
14003996a:	45 33 c9             	xor    %r9d,%r9d
14003996d:	66 0f 6e c0          	movd   %eax,%xmm0
140039971:	f2 0f 70 c8 00       	pshuflw $0x0,%xmm0,%xmm1
140039976:	66 0f 70 d1 00       	pshufd $0x0,%xmm1,%xmm2
14003997b:	49 8b c0             	mov    %r8,%rax
14003997e:	25 ff 0f 00 00       	and    $0xfff,%eax
140039983:	48 3d f0 0f 00 00    	cmp    $0xff0,%rax
140039989:	77 22                	ja     0x1400399ad
14003998b:	f3 41 0f 6f 00       	movdqu (%r8),%xmm0
140039990:	0f 57 c9             	xorps  %xmm1,%xmm1
140039993:	66 0f 75 c8          	pcmpeqw %xmm0,%xmm1
140039997:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
14003999b:	0f 56 c8             	orps   %xmm0,%xmm1
14003999e:	66 0f d7 c1          	pmovmskb %xmm1,%eax
1400399a2:	85 c0                	test   %eax,%eax
1400399a4:	75 1d                	jne    0x1400399c3
1400399a6:	b8 10 00 00 00       	mov    $0x10,%eax
1400399ab:	eb 11                	jmp    0x1400399be
1400399ad:	66 41 39 10          	cmp    %dx,(%r8)
1400399b1:	74 25                	je     0x1400399d8
1400399b3:	66 45 39 08          	cmp    %r9w,(%r8)
1400399b7:	74 1c                	je     0x1400399d5
1400399b9:	b8 02 00 00 00       	mov    $0x2,%eax
1400399be:	4c 03 c0             	add    %rax,%r8
1400399c1:	eb b8                	jmp    0x14003997b
1400399c3:	0f bc c8             	bsf    %eax,%ecx
1400399c6:	4c 03 c1             	add    %rcx,%r8
1400399c9:	66 41 39 10          	cmp    %dx,(%r8)
1400399cd:	4d 0f 44 c8          	cmove  %r8,%r9
1400399d1:	49 8b c1             	mov    %r9,%rax
1400399d4:	c3                   	ret
1400399d5:	33 c0                	xor    %eax,%eax
1400399d7:	c3                   	ret
1400399d8:	49 8b c0             	mov    %r8,%rax
1400399db:	c3                   	ret
1400399dc:	cc                   	int3
1400399dd:	cc                   	int3
1400399de:	cc                   	int3
1400399df:	cc                   	int3
1400399e0:	48 83 ec 28          	sub    $0x28,%rsp
1400399e4:	e8 bf 72 fe ff       	call   0x140020ca8
1400399e9:	69 48 28 fd 43 03 00 	imul   $0x343fd,0x28(%rax),%ecx
1400399f0:	81 c1 c3 9e 26 00    	add    $0x269ec3,%ecx
1400399f6:	89 48 28             	mov    %ecx,0x28(%rax)
1400399f9:	c1 e9 10             	shr    $0x10,%ecx
1400399fc:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
140039a02:	8b c1                	mov    %ecx,%eax
140039a04:	48 83 c4 28          	add    $0x28,%rsp
140039a08:	c3                   	ret
140039a09:	cc                   	int3
140039a0a:	cc                   	int3
140039a0b:	cc                   	int3
140039a0c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039a11:	57                   	push   %rdi
140039a12:	48 83 ec 20          	sub    $0x20,%rsp
140039a16:	33 db                	xor    %ebx,%ebx
140039a18:	48 8b fa             	mov    %rdx,%rdi
140039a1b:	48 85 c9             	test   %rcx,%rcx
140039a1e:	75 15                	jne    0x140039a35
140039a20:	e8 b7 76 fe ff       	call   0x1400210dc
140039a25:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140039a2b:	e8 24 55 fd ff       	call   0x14000ef54
140039a30:	83 c8 ff             	or     $0xffffffff,%eax
140039a33:	eb 17                	jmp    0x140039a4c
140039a35:	48 85 ff             	test   %rdi,%rdi
140039a38:	74 e6                	je     0x140039a20
140039a3a:	e8 c1 3c fe ff       	call   0x14001d700
140039a3f:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140039a43:	48 89 07             	mov    %rax,(%rdi)
140039a46:	0f 95 c3             	setne  %bl
140039a49:	8d 43 ff             	lea    -0x1(%rbx),%eax
140039a4c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039a51:	48 83 c4 20          	add    $0x20,%rsp
140039a55:	5f                   	pop    %rdi
140039a56:	c3                   	ret
140039a57:	cc                   	int3
140039a58:	48 83 ec 28          	sub    $0x28,%rsp
140039a5c:	48 85 c9             	test   %rcx,%rcx
140039a5f:	75 18                	jne    0x140039a79
140039a61:	e8 76 76 fe ff       	call   0x1400210dc
140039a66:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140039a6c:	e8 e3 54 fd ff       	call   0x14000ef54
140039a71:	83 c8 ff             	or     $0xffffffff,%eax
140039a74:	48 83 c4 28          	add    $0x28,%rsp
140039a78:	c3                   	ret
140039a79:	48 85 d2             	test   %rdx,%rdx
140039a7c:	74 e3                	je     0x140039a61
140039a7e:	48 8b 12             	mov    (%rdx),%rdx
140039a81:	45 33 c0             	xor    %r8d,%r8d
140039a84:	48 83 c4 28          	add    $0x28,%rsp
140039a88:	e9 4b 36 fe ff       	jmp    0x14001d0d8
140039a8d:	cc                   	int3
140039a8e:	cc                   	int3
140039a8f:	cc                   	int3
140039a90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039a95:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140039a9a:	57                   	push   %rdi
140039a9b:	48 83 ec 20          	sub    $0x20,%rsp
140039a9f:	49 8b d9             	mov    %r9,%rbx
140039aa2:	49 8b f8             	mov    %r8,%rdi
140039aa5:	48 8b 0a             	mov    (%rdx),%rcx
140039aa8:	e8 17 8e fe ff       	call   0x1400228c4
140039aad:	90                   	nop
140039aae:	48 8b cf             	mov    %rdi,%rcx
140039ab1:	e8 1a 00 00 00       	call   0x140039ad0
140039ab6:	8b f8                	mov    %eax,%edi
140039ab8:	48 8b 0b             	mov    (%rbx),%rcx
140039abb:	e8 10 8e fe ff       	call   0x1400228d0
140039ac0:	8b c7                	mov    %edi,%eax
140039ac2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039ac7:	48 83 c4 20          	add    $0x20,%rsp
140039acb:	5f                   	pop    %rdi
140039acc:	c3                   	ret
140039acd:	cc                   	int3
140039ace:	cc                   	int3
140039acf:	cc                   	int3
140039ad0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039ad5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140039ada:	57                   	push   %rdi
140039adb:	48 83 ec 20          	sub    $0x20,%rsp
140039adf:	48 8b 01             	mov    (%rcx),%rax
140039ae2:	48 8b d9             	mov    %rcx,%rbx
140039ae5:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140039ae9:	48 8b 30             	mov    (%rax),%rsi
140039aec:	48 8b 09             	mov    (%rcx),%rcx
140039aef:	48 83 e6 fe          	and    $0xfffffffffffffffe,%rsi
140039af3:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140039af7:	e8 b8 bb fe ff       	call   0x1400256b4
140039afc:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140039b00:	48 8b 09             	mov    (%rcx),%rcx
140039b03:	e8 48 b9 fe ff       	call   0x140025450
140039b08:	48 8b 43 08          	mov    0x8(%rbx),%rax
140039b0c:	48 8b 08             	mov    (%rax),%rcx
140039b0f:	f0 81 61 14 1f f8 ff 	lock andl $0xfffff81f,0x14(%rcx)
140039b16:	ff
140039b17:	48 8b 43 18          	mov    0x18(%rbx),%rax
140039b1b:	f6 00 04             	testb  $0x4,(%rax)
140039b1e:	74 1c                	je     0x140039b3c
140039b20:	48 8b 43 08          	mov    0x8(%rbx),%rax
140039b24:	48 8b 00             	mov    (%rax),%rax
140039b27:	48 8d 48 1c          	lea    0x1c(%rax),%rcx
140039b2b:	f0 81 48 14 00 04 00 	lock orl $0x400,0x14(%rax)
140039b32:	00
140039b33:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%rax)
140039b3a:	eb 5e                	jmp    0x140039b9a
140039b3c:	48 8b 43 20          	mov    0x20(%rbx),%rax
140039b40:	48 8b 08             	mov    (%rax),%rcx
140039b43:	48 85 c9             	test   %rcx,%rcx
140039b46:	75 40                	jne    0x140039b88
140039b48:	8d 51 01             	lea    0x1(%rcx),%edx
140039b4b:	48 8b ce             	mov    %rsi,%rcx
140039b4e:	e8 1d 79 fc ff       	call   0x140001470
140039b53:	33 c9                	xor    %ecx,%ecx
140039b55:	48 8b f8             	mov    %rax,%rdi
140039b58:	e8 83 79 fc ff       	call   0x1400014e0
140039b5d:	48 85 ff             	test   %rdi,%rdi
140039b60:	75 0b                	jne    0x140039b6d
140039b62:	ff 05 70 85 01 00    	incl   0x18570(%rip)        # 0x1400520d8
140039b68:	83 c8 ff             	or     $0xffffffff,%eax
140039b6b:	eb 3a                	jmp    0x140039ba7
140039b6d:	48 8b 43 08          	mov    0x8(%rbx),%rax
140039b71:	48 8b 00             	mov    (%rax),%rax
140039b74:	f0 81 48 14 40 01 00 	lock orl $0x140,0x14(%rax)
140039b7b:	00
140039b7c:	89 70 20             	mov    %esi,0x20(%rax)
140039b7f:	48 89 38             	mov    %rdi,(%rax)
140039b82:	48 89 78 08          	mov    %rdi,0x8(%rax)
140039b86:	eb 19                	jmp    0x140039ba1
140039b88:	48 8b 43 08          	mov    0x8(%rbx),%rax
140039b8c:	48 8b 00             	mov    (%rax),%rax
140039b8f:	f0 81 48 14 80 01 00 	lock orl $0x180,0x14(%rax)
140039b96:	00
140039b97:	89 70 20             	mov    %esi,0x20(%rax)
140039b9a:	48 89 08             	mov    %rcx,(%rax)
140039b9d:	48 89 48 08          	mov    %rcx,0x8(%rax)
140039ba1:	83 60 10 00          	andl   $0x0,0x10(%rax)
140039ba5:	33 c0                	xor    %eax,%eax
140039ba7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039bac:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140039bb1:	48 83 c4 20          	add    $0x20,%rsp
140039bb5:	5f                   	pop    %rdi
140039bb6:	c3                   	ret
140039bb7:	cc                   	int3
140039bb8:	40 55                	rex push %rbp
140039bba:	53                   	push   %rbx
140039bbb:	57                   	push   %rdi
140039bbc:	48 8d 6c 24 b9       	lea    -0x47(%rsp),%rbp
140039bc1:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
140039bc8:	48 83 65 c7 00       	andq   $0x0,-0x39(%rbp)
140039bcd:	83 3d a8 84 01 00 00 	cmpl   $0x0,0x184a8(%rip)        # 0x14005207c
140039bd4:	c6 45 d7 00          	movb   $0x0,-0x29(%rbp)
140039bd8:	c6 45 ef 00          	movb   $0x0,-0x11(%rbp)
140039bdc:	c6 45 f7 00          	movb   $0x0,-0x9(%rbp)
140039be0:	c6 45 ff 00          	movb   $0x0,-0x1(%rbp)
140039be4:	75 10                	jne    0x140039bf6
140039be6:	0f 10 05 db 47 01 00 	movups 0x147db(%rip),%xmm0        # 0x14004e3c8
140039bed:	c6 45 ef 01          	movb   $0x1,-0x11(%rbp)
140039bf1:	f3 0f 7f 45 df       	movdqu %xmm0,-0x21(%rbp)
140039bf6:	4c 89 4d 6f          	mov    %r9,0x6f(%rbp)
140039bfa:	44 89 45 67          	mov    %r8d,0x67(%rbp)
140039bfe:	48 89 55 07          	mov    %rdx,0x7(%rbp)
140039c02:	48 89 4d 7f          	mov    %rcx,0x7f(%rbp)
140039c06:	48 85 c9             	test   %rcx,%rcx
140039c09:	75 2e                	jne    0x140039c39
140039c0b:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
140039c0f:	c6 45 f7 01          	movb   $0x1,-0x9(%rbp)
140039c13:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140039c18:	45 33 c9             	xor    %r9d,%r9d
140039c1b:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140039c21:	45 33 c0             	xor    %r8d,%r8d
140039c24:	33 d2                	xor    %edx,%edx
140039c26:	c7 45 f3 16 00 00 00 	movl   $0x16,-0xd(%rbp)
140039c2d:	33 c9                	xor    %ecx,%ecx
140039c2f:	e8 54 52 fd ff       	call   0x14000ee88
140039c34:	83 cf ff             	or     $0xffffffff,%edi
140039c37:	eb 6c                	jmp    0x140039ca5
140039c39:	41 83 f8 04          	cmp    $0x4,%r8d
140039c3d:	74 0d                	je     0x140039c4c
140039c3f:	45 85 c0             	test   %r8d,%r8d
140039c42:	74 0e                	je     0x140039c52
140039c44:	41 83 f8 40          	cmp    $0x40,%r8d
140039c48:	74 08                	je     0x140039c52
140039c4a:	eb bf                	jmp    0x140039c0b
140039c4c:	41 83 f8 40          	cmp    $0x40,%r8d
140039c50:	75 0c                	jne    0x140039c5e
140039c52:	49 8d 41 fe          	lea    -0x2(%r9),%rax
140039c56:	48 3d fd ff ff 7f    	cmp    $0x7ffffffd,%rax
140039c5c:	77 ad                	ja     0x140039c0b
140039c5e:	48 8d 45 6f          	lea    0x6f(%rbp),%rax
140039c62:	48 89 4d 0f          	mov    %rcx,0xf(%rbp)
140039c66:	48 89 45 1f          	mov    %rax,0x1f(%rbp)
140039c6a:	4c 8d 4d 0f          	lea    0xf(%rbp),%r9
140039c6e:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
140039c72:	48 89 4d 17          	mov    %rcx,0x17(%rbp)
140039c76:	48 89 45 27          	mov    %rax,0x27(%rbp)
140039c7a:	4c 8d 45 1f          	lea    0x1f(%rbp),%r8
140039c7e:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
140039c82:	48 89 45 2f          	mov    %rax,0x2f(%rbp)
140039c86:	48 8d 55 17          	lea    0x17(%rbp),%rdx
140039c8a:	48 8d 45 67          	lea    0x67(%rbp),%rax
140039c8e:	48 89 45 37          	mov    %rax,0x37(%rbp)
140039c92:	48 8d 4d 77          	lea    0x77(%rbp),%rcx
140039c96:	48 8d 45 07          	lea    0x7(%rbp),%rax
140039c9a:	48 89 45 3f          	mov    %rax,0x3f(%rbp)
140039c9e:	e8 ed fd ff ff       	call   0x140039a90
140039ca3:	8b f8                	mov    %eax,%edi
140039ca5:	80 7d ef 02          	cmpb   $0x2,-0x11(%rbp)
140039ca9:	75 0b                	jne    0x140039cb6
140039cab:	48 8b 4d c7          	mov    -0x39(%rbp),%rcx
140039caf:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140039cb6:	80 7d f7 00          	cmpb   $0x0,-0x9(%rbp)
140039cba:	74 0f                	je     0x140039ccb
140039cbc:	8b 5d f3             	mov    -0xd(%rbp),%ebx
140039cbf:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
140039cc3:	e8 a0 4e fd ff       	call   0x14000eb68
140039cc8:	89 58 20             	mov    %ebx,0x20(%rax)
140039ccb:	80 7d ff 00          	cmpb   $0x0,-0x1(%rbp)
140039ccf:	74 0f                	je     0x140039ce0
140039cd1:	8b 5d fb             	mov    -0x5(%rbp),%ebx
140039cd4:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
140039cd8:	e8 8b 4e fd ff       	call   0x14000eb68
140039cdd:	89 58 24             	mov    %ebx,0x24(%rax)
140039ce0:	8b c7                	mov    %edi,%eax
140039ce2:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
140039ce9:	5f                   	pop    %rdi
140039cea:	5b                   	pop    %rbx
140039ceb:	5d                   	pop    %rbp
140039cec:	c3                   	ret
140039ced:	cc                   	int3
140039cee:	cc                   	int3
140039cef:	cc                   	int3