140039635:	57                   	push   %rdi
140039636:	48 83 ec 20          	sub    $0x20,%rsp
14003963a:	48 8b d9             	mov    %rcx,%rbx
14003963d:	48 8d 3d bc 69 fc ff 	lea    -0x39644(%rip),%rdi        # 0x140000000
140039644:	48 8b cf             	mov    %rdi,%rcx
140039647:	e8 34 00 00 00       	call   0x140039680
14003964c:	85 c0                	test   %eax,%eax
14003964e:	74 22                	je     0x140039672
140039650:	48 2b df             	sub    %rdi,%rbx
140039653:	48 8b d3             	mov    %rbx,%rdx
140039656:	48 8b cf             	mov    %rdi,%rcx
140039659:	e8 82 ff ff ff       	call   0x1400395e0
14003965e:	48 85 c0             	test   %rax,%rax
140039661:	74 0f                	je     0x140039672
140039663:	8b 40 24             	mov    0x24(%rax),%eax
140039666:	c1 e8 1f             	shr    $0x1f,%eax
140039669:	f7 d0                	not    %eax
14003966b:	83 e0 01             	and    $0x1,%eax
14003966e:	eb 02                	jmp    0x140039672
140039670:	33 c0                	xor    %eax,%eax
140039672:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039677:	48 83 c4 20          	add    $0x20,%rsp
14003967b:	5f                   	pop    %rdi
14003967c:	c3                   	ret
14003967d:	cc                   	int3
14003967e:	cc                   	int3
14003967f:	cc                   	int3
140039680:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
140039685:	66 39 01             	cmp    %ax,(%rcx)
140039688:	75 1e                	jne    0x1400396a8
14003968a:	48 63 51 3c          	movslq 0x3c(%rcx),%rdx
14003968e:	48 03 d1             	add    %rcx,%rdx
140039691:	81 3a 50 45 00 00    	cmpl   $0x4550,(%rdx)
140039697:	75 0f                	jne    0x1400396a8
140039699:	33 c0                	xor    %eax,%eax
14003969b:	b9 0b 02 00 00       	mov    $0x20b,%ecx
1400396a0:	66 39 4a 18          	cmp    %cx,0x18(%rdx)
1400396a4:	0f 94 c0             	sete   %al
1400396a7:	c3                   	ret
1400396a8:	33 c0                	xor    %eax,%eax
1400396aa:	c3                   	ret
1400396ab:	cc                   	int3
1400396ac:	48 8b c4             	mov    %rsp,%rax
1400396af:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400396b3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400396b7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400396bb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400396bf:	41 56                	push   %r14
1400396c1:	48 83 ec 20          	sub    $0x20,%rsp
1400396c5:	4d 8b 51 38          	mov    0x38(%r9),%r10
1400396c9:	48 8b f2             	mov    %rdx,%rsi
1400396cc:	4d 8b f0             	mov    %r8,%r14
1400396cf:	48 8b e9             	mov    %rcx,%rbp
1400396d2:	49 8b d1             	mov    %r9,%rdx
1400396d5:	48 8b ce             	mov    %rsi,%rcx
1400396d8:	49 8b f9             	mov    %r9,%rdi
1400396db:	41 8b 1a             	mov    (%r10),%ebx
1400396de:	48 c1 e3 04          	shl    $0x4,%rbx
1400396e2:	49 03 da             	add    %r10,%rbx
1400396e5:	4c 8d 43 04          	lea    0x4(%rbx),%r8
1400396e9:	e8 de fb fc ff       	call   0x1400092cc
1400396ee:	8b 45 04             	mov    0x4(%rbp),%eax
1400396f1:	24 66                	and    $0x66,%al
1400396f3:	f6 d8                	neg    %al
1400396f5:	b8 01 00 00 00       	mov    $0x1,%eax
1400396fa:	1b d2                	sbb    %edx,%edx
1400396fc:	f7 da                	neg    %edx
1400396fe:	03 d0                	add    %eax,%edx
140039700:	85 53 04             	test   %edx,0x4(%rbx)
140039703:	74 11                	je     0x140039716
140039705:	4c 8b cf             	mov    %rdi,%r9
140039708:	4d 8b c6             	mov    %r14,%r8
14003970b:	48 8b d6             	mov    %rsi,%rdx
14003970e:	48 8b cd             	mov    %rbp,%rcx
140039711:	e8 9a 18 fd ff       	call   0x14000afb0
140039716:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14003971b:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140039720:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140039725:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14003972a:	48 83 c4 20          	add    $0x20,%rsp
14003972e:	41 5e                	pop    %r14
140039730:	c3                   	ret
140039731:	cc                   	int3
140039732:	cc                   	int3
140039733:	cc                   	int3
140039734:	48 8b c4             	mov    %rsp,%rax
140039737:	48 89 58 08          	mov    %rbx,0x8(%rax)
14003973b:	48 89 68 10          	mov    %rbp,0x10(%rax)
14003973f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140039743:	48 89 78 20          	mov    %rdi,0x20(%rax)
140039747:	41 56                	push   %r14
140039749:	48 83 ec 20          	sub    $0x20,%rsp
14003974d:	49 8b 59 38          	mov    0x38(%r9),%rbx
140039751:	48 8b f2             	mov    %rdx,%rsi
140039754:	4d 8b f0             	mov    %r8,%r14
140039757:	48 8b e9             	mov    %rcx,%rbp
14003975a:	49 8b d1             	mov    %r9,%rdx
14003975d:	48 8b ce             	mov    %rsi,%rcx
140039760:	49 8b f9             	mov    %r9,%rdi
140039763:	4c 8d 43 04          	lea    0x4(%rbx),%r8
140039767:	e8 60 fb fc ff       	call   0x1400092cc
14003976c:	8b 45 04             	mov    0x4(%rbp),%eax
14003976f:	24 66                	and    $0x66,%al
140039771:	f6 d8                	neg    %al
140039773:	b8 01 00 00 00       	mov    $0x1,%eax
140039778:	45 1b c0             	sbb    %r8d,%r8d
14003977b:	41 f7 d8             	neg    %r8d
14003977e:	44 03 c0             	add    %eax,%r8d
140039781:	44 85 43 04          	test   %r8d,0x4(%rbx)
140039785:	74 11                	je     0x140039798
140039787:	4c 8b cf             	mov    %rdi,%r9
14003978a:	4d 8b c6             	mov    %r14,%r8
14003978d:	48 8b d6             	mov    %rsi,%rdx
140039790:	48 8b cd             	mov    %rbp,%rcx
140039793:	e8 80 13 fd ff       	call   0x14000ab18
140039798:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14003979d:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400397a2:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400397a7:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400397ac:	48 83 c4 20          	add    $0x20,%rsp
1400397b0:	41 5e                	pop    %r14
1400397b2:	c3                   	ret
1400397b3:	cc                   	int3
1400397b4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400397b9:	57                   	push   %rdi
1400397ba:	48 83 ec 20          	sub    $0x20,%rsp
1400397be:	49 8b f8             	mov    %r8,%rdi
1400397c1:	48 8b d9             	mov    %rcx,%rbx
1400397c4:	e8 e7 17 fd ff       	call   0x14000afb0
1400397c9:	f6 43 04 66          	testb  $0x66,0x4(%rbx)
1400397cd:	75 0d                	jne    0x1400397dc
1400397cf:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%rbx)
1400397d5:	75 05                	jne    0x1400397dc
1400397d7:	83 f8 01             	cmp    $0x1,%eax
1400397da:	74 0b                	je     0x1400397e7
1400397dc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400397e1:	48 83 c4 20          	add    $0x20,%rsp
1400397e5:	5f                   	pop    %rdi
1400397e6:	c3                   	ret
1400397e7:	e8 cc 1b fd ff       	call   0x14000b3b8
1400397ec:	48 89 58 20          	mov    %rbx,0x20(%rax)
1400397f0:	e8 c3 1b fd ff       	call   0x14000b3b8
1400397f5:	48 89 78 28          	mov    %rdi,0x28(%rax)
1400397f9:	e8 b6 6f fe ff       	call   0x1400207b4
1400397fe:	cc                   	int3
1400397ff:	cc                   	int3
140039800:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039805:	45 33 c9             	xor    %r9d,%r9d
140039808:	4c 8b c1             	mov    %rcx,%r8
14003980b:	84 d2                	test   %dl,%dl
14003980d:	75 43                	jne    0x140039852
14003980f:	48 8b d1             	mov    %rcx,%rdx
140039812:	41 83 e0 0f          	and    $0xf,%r8d
140039816:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
14003981a:	41 83 ca ff          	or     $0xffffffff,%r10d
14003981e:	0f 57 c0             	xorps  %xmm0,%xmm0
140039821:	41 8b c8             	mov    %r8d,%ecx
140039824:	41 d3 e2             	shl    %cl,%r10d
140039827:	66 0f 74 02          	pcmpeqb (%rdx),%xmm0
14003982b:	66 0f d7 c0          	pmovmskb %xmm0,%eax
14003982f:	41 23 c2             	and    %r10d,%eax
140039832:	75 13                	jne    0x140039847
140039834:	48 83 c2 10          	add    $0x10,%rdx
140039838:	0f 57 c0             	xorps  %xmm0,%xmm0
14003983b:	66 0f 74 02          	pcmpeqb (%rdx),%xmm0
14003983f:	66 0f d7 c0          	pmovmskb %xmm0,%eax
140039843:	85 c0                	test   %eax,%eax
140039845:	74 ed                	je     0x140039834
140039847:	0f bc c0             	bsf    %eax,%eax
14003984a:	48 03 c2             	add    %rdx,%rax
14003984d:	e9 a5 00 00 00       	jmp    0x1400398f7
140039852:	83 3d c7 49 01 00 02 	cmpl   $0x2,0x149c7(%rip)        # 0x14004e220
140039859:	0f 8d ae 00 00 00    	jge    0x14003990d
14003985f:	0f b6 c2             	movzbl %dl,%eax
140039862:	41 83 ca ff          	or     $0xffffffff,%r10d
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)