1400477f1:	48 85 c0             	test   %rax,%rax
1400477f4:	74 11                	je     0x140047807
1400477f6:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
1400477fb:	48 89 c1             	mov    %rax,%rcx
1400477fe:	e8 4d fc ff ff       	call   0x140047450
140047803:	85 c0                	test   %eax,%eax
140047805:	74 0a                	je     0x140047811
140047807:	8b 44 24 38          	mov    0x38(%rsp),%eax
14004780b:	48 83 c4 20          	add    $0x20,%rsp
14004780f:	5b                   	pop    %rbx
140047810:	c3                   	ret
140047811:	48 8b 05 c8 17 1f 00 	mov    0x1f17c8(%rip),%rax        # 0x140238fe0
140047818:	48 8d 0d 95 77 1b 00 	lea    0x1b7795(%rip),%rcx        # 0x1401fefb4
14004781f:	83 38 00             	cmpl   $0x0,(%rax)
140047822:	74 08                	je     0x14004782c
140047824:	e8 3f bb 19 00       	call   0x1401e3368
140047829:	48 89 c1             	mov    %rax,%rcx
14004782c:	48 89 da             	mov    %rbx,%rdx
14004782f:	e8 5c bb 07 00       	call   0x1400c3390
140047834:	90                   	nop
140047835:	90                   	nop
140047836:	90                   	nop
140047837:	90                   	nop
140047838:	90                   	nop
140047839:	90                   	nop
14004783a:	90                   	nop
14004783b:	90                   	nop
14004783c:	90                   	nop
14004783d:	90                   	nop
14004783e:	90                   	nop
14004783f:	90                   	nop
140047840:	41 57                	push   %r15
140047842:	41 56                	push   %r14
140047844:	41 55                	push   %r13
140047846:	41 54                	push   %r12
140047848:	55                   	push   %rbp
140047849:	57                   	push   %rdi
14004784a:	56                   	push   %rsi
14004784b:	53                   	push   %rbx
14004784c:	48 83 ec 28          	sub    $0x28,%rsp
140047850:	49 89 cc             	mov    %rcx,%r12
140047853:	89 d5                	mov    %edx,%ebp
140047855:	4c 89 c3             	mov    %r8,%rbx
140047858:	41 83 f9 03          	cmp    $0x3,%r9d
14004785c:	0f 86 62 01 00 00    	jbe    0x1400479c4
140047862:	45 89 c9             	mov    %r9d,%r9d
140047865:	31 c9                	xor    %ecx,%ecx
140047867:	49 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%r10
14004786e:	4f 8d 2c 08          	lea    (%r8,%r9,1),%r13
140047872:	45 31 c9             	xor    %r9d,%r9d
140047875:	eb 0d                	jmp    0x140047884
140047877:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14004787e:	00 00
140047880:	84 c0                	test   %al,%al
140047882:	79 2f                	jns    0x1400478b3
140047884:	0f b6 03             	movzbl (%rbx),%eax
140047887:	48 83 c3 01          	add    $0x1,%rbx
14004788b:	48 89 c2             	mov    %rax,%rdx
14004788e:	83 e2 7f             	and    $0x7f,%edx
140047891:	83 f9 3f             	cmp    $0x3f,%ecx
140047894:	7f 0f                	jg     0x1400478a5
140047896:	4d 89 d0             	mov    %r10,%r8
140047899:	49 d3 e8             	shr    %cl,%r8
14004789c:	49 39 d0             	cmp    %rdx,%r8
14004789f:	0f 82 e7 02 00 00    	jb     0x140047b8c
1400478a5:	48 d3 e2             	shl    %cl,%rdx
1400478a8:	83 c1 07             	add    $0x7,%ecx
1400478ab:	49 09 d1             	or     %rdx,%r9
1400478ae:	4c 39 eb             	cmp    %r13,%rbx
1400478b1:	72 cd                	jb     0x140047880
1400478b3:	4c 89 c8             	mov    %r9,%rax
1400478b6:	48 c1 e8 20          	shr    $0x20,%rax
1400478ba:	0f 85 db 02 00 00    	jne    0x140047b9b
1400478c0:	44 39 cd             	cmp    %r9d,%ebp
1400478c3:	0f 85 fb 00 00 00    	jne    0x1400479c4
1400478c9:	31 c9                	xor    %ecx,%ecx
1400478cb:	45 31 c9             	xor    %r9d,%r9d
1400478ce:	49 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%r10
1400478d5:	eb 0e                	jmp    0x1400478e5
1400478d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400478de:	00 00
1400478e0:	4c 39 eb             	cmp    %r13,%rbx
1400478e3:	73 2e                	jae    0x140047913
1400478e5:	0f b6 03             	movzbl (%rbx),%eax
1400478e8:	48 83 c3 01          	add    $0x1,%rbx
1400478ec:	48 89 c2             	mov    %rax,%rdx
1400478ef:	83 e2 7f             	and    $0x7f,%edx
1400478f2:	83 f9 3f             	cmp    $0x3f,%ecx
1400478f5:	7f 0f                	jg     0x140047906
1400478f7:	4d 89 d0             	mov    %r10,%r8
1400478fa:	49 d3 e8             	shr    %cl,%r8
1400478fd:	49 39 d0             	cmp    %rdx,%r8
140047900:	0f 82 86 02 00 00    	jb     0x140047b8c
140047906:	48 d3 e2             	shl    %cl,%rdx
140047909:	83 c1 07             	add    $0x7,%ecx
14004790c:	49 09 d1             	or     %rdx,%r9
14004790f:	84 c0                	test   %al,%al
140047911:	78 cd                	js     0x1400478e0
140047913:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140047918:	45 89 cf             	mov    %r9d,%r15d
14004791b:	4c 39 c8             	cmp    %r9,%rax
14004791e:	0f 82 77 02 00 00    	jb     0x140047b9b
140047924:	4c 89 c9             	mov    %r9,%rcx
140047927:	e8 94 31 08 00       	call   0x1400caac0
14004792c:	49 89 c6             	mov    %rax,%r14
14004792f:	49 89 c1             	mov    %rax,%r9
140047932:	4c 39 eb             	cmp    %r13,%rbx
140047935:	73 5c                	jae    0x140047993
140047937:	0f b6 03             	movzbl (%rbx),%eax
14004793a:	48 8d 53 01          	lea    0x1(%rbx),%rdx
14004793e:	84 c0                	test   %al,%al
140047940:	0f 88 9a 00 00 00    	js     0x1400479e0
140047946:	0f 84 2f 02 00 00    	je     0x140047b7b
14004794c:	44 0f b6 c0          	movzbl %al,%r8d
140047950:	45 39 c7             	cmp    %r8d,%r15d
140047953:	72 5b                	jb     0x1400479b0
140047955:	4c 89 e9             	mov    %r13,%rcx
140047958:	48 29 d1             	sub    %rdx,%rcx
14004795b:	48 39 c8             	cmp    %rcx,%rax
14004795e:	7f 50                	jg     0x1400479b0
140047960:	83 f8 08             	cmp    $0x8,%eax
140047963:	0f 83 3f 01 00 00    	jae    0x140047aa8
140047969:	a8 04                	test   $0x4,%al
14004796b:	0f 85 e7 01 00 00    	jne    0x140047b58
140047971:	85 c0                	test   %eax,%eax
140047973:	74 0f                	je     0x140047984
140047975:	0f b6 4b 01          	movzbl 0x1(%rbx),%ecx
140047979:	41 88 09             	mov    %cl,(%r9)
14004797c:	a8 02                	test   $0x2,%al
14004797e:	0f 85 e7 01 00 00    	jne    0x140047b6b
140047984:	48 8d 1c 02          	lea    (%rdx,%rax,1),%rbx
140047988:	49 01 c1             	add    %rax,%r9
14004798b:	45 29 c7             	sub    %r8d,%r15d
14004798e:	4c 39 eb             	cmp    %r13,%rbx
140047991:	72 a4                	jb     0x140047937
140047993:	49 39 dd             	cmp    %rbx,%r13
140047996:	75 18                	jne    0x1400479b0
140047998:	45 85 ff             	test   %r15d,%r15d
14004799b:	75 13                	jne    0x1400479b0
14004799d:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
1400479a4:	00
1400479a5:	4d 29 f1             	sub    %r14,%r9
1400479a8:	44 89 08             	mov    %r9d,(%rax)
1400479ab:	eb 1a                	jmp    0x1400479c7
1400479ad:	0f 1f 00             	nopl   (%rax)
1400479b0:	48 8d 0d 7c 76 1b 00 	lea    0x1b767c(%rip),%rcx        # 0x1401ff033
1400479b7:	e8 74 bc 07 00       	call   0x1400c3630
1400479bc:	4c 89 f1             	mov    %r14,%rcx
1400479bf:	e8 ec 14 0b 00       	call   0x1400f8eb0
1400479c4:	45 31 f6             	xor    %r14d,%r14d
1400479c7:	4c 89 f0             	mov    %r14,%rax
1400479ca:	48 83 c4 28          	add    $0x28,%rsp
1400479ce:	5b                   	pop    %rbx
1400479cf:	5e                   	pop    %rsi
1400479d0:	5f                   	pop    %rdi
1400479d1:	5d                   	pop    %rbp
1400479d2:	41 5c                	pop    %r12
1400479d4:	41 5d                	pop    %r13
1400479d6:	41 5e                	pop    %r14
1400479d8:	41 5f                	pop    %r15
1400479da:	c3                   	ret
1400479db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400479e0:	a8 01                	test   $0x1,%al
1400479e2:	0f 84 f8 00 00 00    	je     0x140047ae0
1400479e8:	4c 39 ea             	cmp    %r13,%rdx
1400479eb:	73 c3                	jae    0x1400479b0
1400479ed:	0f b6 4b 01          	movzbl 0x1(%rbx),%ecx
1400479f1:	48 8d 53 02          	lea    0x2(%rbx),%rdx
1400479f5:	a8 02                	test   $0x2,%al
1400479f7:	74 14                	je     0x140047a0d
1400479f9:	4c 39 ea             	cmp    %r13,%rdx
1400479fc:	73 b2                	jae    0x1400479b0
1400479fe:	44 0f b6 02          	movzbl (%rdx),%r8d
140047a02:	48 83 c2 01          	add    $0x1,%rdx
140047a06:	41 c1 e0 08          	shl    $0x8,%r8d
140047a0a:	44 09 c1             	or     %r8d,%ecx
140047a0d:	a8 04                	test   $0x4,%al
140047a0f:	74 14                	je     0x140047a25
140047a11:	4c 39 ea             	cmp    %r13,%rdx
140047a14:	73 9a                	jae    0x1400479b0
140047a16:	44 0f b6 02          	movzbl (%rdx),%r8d
140047a1a:	48 83 c2 01          	add    $0x1,%rdx
140047a1e:	41 c1 e0 10          	shl    $0x10,%r8d
140047a22:	44 09 c1             	or     %r8d,%ecx
140047a25:	a8 08                	test   $0x8,%al
140047a27:	74 14                	je     0x140047a3d
140047a29:	4c 39 ea             	cmp    %r13,%rdx
140047a2c:	73 82                	jae    0x1400479b0
140047a2e:	44 0f b6 02          	movzbl (%rdx),%r8d
140047a32:	48 83 c2 01          	add    $0x1,%rdx
140047a36:	41 c1 e0 18          	shl    $0x18,%r8d
140047a3a:	44 09 c1             	or     %r8d,%ecx
140047a3d:	a8 10                	test   $0x10,%al
140047a3f:	0f 85 ab 00 00 00    	jne    0x140047af0
140047a45:	a8 20                	test   $0x20,%al
140047a47:	0f 85 fb 00 00 00    	jne    0x140047b48
140047a4d:	48 89 d3             	mov    %rdx,%rbx
140047a50:	a8 40                	test   $0x40,%al
140047a52:	0f 85 f8 00 00 00    	jne    0x140047b50
140047a58:	bf 00 00 01 00       	mov    $0x10000,%edi
140047a5d:	be 00 00 01 00       	mov    $0x10000,%esi
140047a62:	89 ca                	mov    %ecx,%edx
140047a64:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140047a69:	48 29 d0             	sub    %rdx,%rax
140047a6c:	48 39 f8             	cmp    %rdi,%rax
140047a6f:	0f 82 3b ff ff ff    	jb     0x1400479b0
140047a75:	01 f1                	add    %esi,%ecx
140047a77:	39 cd                	cmp    %ecx,%ebp
140047a79:	0f 82 31 ff ff ff    	jb     0x1400479b0
140047a7f:	41 39 f7             	cmp    %esi,%r15d
140047a82:	0f 82 28 ff ff ff    	jb     0x1400479b0
140047a88:	4c 89 c9             	mov    %r9,%rcx
140047a8b:	4c 01 e2             	add    %r12,%rdx
140047a8e:	49 89 f8             	mov    %rdi,%r8
140047a91:	41 29 f7             	sub    %esi,%r15d
140047a94:	e8 57 23 1a 00       	call   0x1401e9df0
140047a99:	49 89 c1             	mov    %rax,%r9
140047a9c:	49 01 f9             	add    %rdi,%r9
140047a9f:	e9 8e fe ff ff       	jmp    0x140047932
140047aa4:	0f 1f 40 00          	nopl   0x0(%rax)
140047aa8:	48 8b 0a             	mov    (%rdx),%rcx
140047aab:	49 8d 79 08          	lea    0x8(%r9),%rdi
140047aaf:	48 89 d6             	mov    %rdx,%rsi
140047ab2:	48 83 e7 f8          	and    $0xfffffffffffffff8,%rdi
140047ab6:	49 89 09             	mov    %rcx,(%r9)
140047ab9:	48 8b 4c 02 f8       	mov    -0x8(%rdx,%rax,1),%rcx
140047abe:	49 89 4c 01 f8       	mov    %rcx,-0x8(%r9,%rax,1)
140047ac3:	4c 89 c9             	mov    %r9,%rcx
140047ac6:	48 29 f9             	sub    %rdi,%rcx
140047ac9:	48 29 ce             	sub    %rcx,%rsi
140047acc:	01 c1                	add    %eax,%ecx
140047ace:	c1 e9 03             	shr    $0x3,%ecx
140047ad1:	f3 48 a5             	rep movsq %ds:(%rsi),%es:(%rdi)
140047ad4:	e9 ab fe ff ff       	jmp    0x140047984
140047ad9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140047ae0:	31 c9                	xor    %ecx,%ecx
140047ae2:	e9 0e ff ff ff       	jmp    0x1400479f5
140047ae7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140047aee:	00 00
140047af0:	4c 39 ea             	cmp    %r13,%rdx
140047af3:	0f 83 b7 fe ff ff    	jae    0x1400479b0
140047af9:	48 8d 5a 01          	lea    0x1(%rdx),%rbx
140047afd:	0f b6 32             	movzbl (%rdx),%esi
140047b00:	48 89 da             	mov    %rbx,%rdx
140047b03:	a8 20                	test   $0x20,%al
140047b05:	74 15                	je     0x140047b1c
140047b07:	4c 39 ea             	cmp    %r13,%rdx
140047b0a:	0f 83 a0 fe ff ff    	jae    0x1400479b0
140047b10:	48 8d 5a 01          	lea    0x1(%rdx),%rbx
140047b14:	0f b6 12             	movzbl (%rdx),%edx
140047b17:	c1 e2 08             	shl    $0x8,%edx
140047b1a:	09 d6                	or     %edx,%esi
140047b1c:	a8 40                	test   $0x40,%al
140047b1e:	74 15                	je     0x140047b35
140047b20:	4c 39 eb             	cmp    %r13,%rbx
140047b23:	0f 83 87 fe ff ff    	jae    0x1400479b0
140047b29:	0f b6 03             	movzbl (%rbx),%eax
140047b2c:	48 83 c3 01          	add    $0x1,%rbx
140047b30:	c1 e0 10             	shl    $0x10,%eax
140047b33:	09 c6                	or     %eax,%esi
140047b35:	89 f7                	mov    %esi,%edi
140047b37:	85 f6                	test   %esi,%esi
140047b39:	0f 85 23 ff ff ff    	jne    0x140047a62
140047b3f:	e9 14 ff ff ff       	jmp    0x140047a58
140047b44:	0f 1f 40 00          	nopl   0x0(%rax)
140047b48:	31 f6                	xor    %esi,%esi
140047b4a:	eb bb                	jmp    0x140047b07
140047b4c:	0f 1f 40 00          	nopl   0x0(%rax)
140047b50:	31 f6                	xor    %esi,%esi
140047b52:	eb cc                	jmp    0x140047b20
140047b54:	0f 1f 40 00          	nopl   0x0(%rax)
140047b58:	8b 0a                	mov    (%rdx),%ecx
140047b5a:	41 89 09             	mov    %ecx,(%r9)
140047b5d:	8b 4c 02 fc          	mov    -0x4(%rdx,%rax,1),%ecx
140047b61:	41 89 4c 01 fc       	mov    %ecx,-0x4(%r9,%rax,1)
140047b66:	e9 19 fe ff ff       	jmp    0x140047984
140047b6b:	0f b7 4c 02 fe       	movzwl -0x2(%rdx,%rax,1),%ecx
140047b70:	66 41 89 4c 01 fe    	mov    %cx,-0x2(%r9,%rax,1)
140047b76:	e9 09 fe ff ff       	jmp    0x140047984
140047b7b:	48 8d 0d cc 74 1b 00 	lea    0x1b74cc(%rip),%rcx        # 0x1401ff04e
140047b82:	e8 a9 ba 07 00       	call   0x1400c3630
140047b87:	e9 30 fe ff ff       	jmp    0x1400479bc
140047b8c:	41 89 c8             	mov    %ecx,%r8d
140047b8f:	48 8d 0d 3a 74 1b 00 	lea    0x1b743a(%rip),%rcx        # 0x1401fefd0
140047b96:	e8 f5 b7 07 00       	call   0x1400c3390
140047b9b:	45 89 c8             	mov    %r9d,%r8d
140047b9e:	4c 89 ca             	mov    %r9,%rdx
140047ba1:	48 8d 0d 48 74 1b 00 	lea    0x1b7448(%rip),%rcx        # 0x1401feff0
140047ba8:	e8 e3 b7 07 00       	call   0x1400c3390
140047bad:	90                   	nop
140047bae:	90                   	nop
140047baf:	90                   	nop
140047bb0:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140047bb7:	00 00 00
140047bba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140047bc0:	48 89 d0             	mov    %rdx,%rax
140047bc3:	0f b6 11             	movzbl (%rcx),%edx
140047bc6:	0f b6 00             	movzbl (%rax),%eax
140047bc9:	a8 02                	test   $0x2,%al
140047bcb:	75 13                	jne    0x140047be0
140047bcd:	84 d2                	test   %dl,%dl
140047bcf:	74 1f                	je     0x140047bf0
140047bd1:	31 c9                	xor    %ecx,%ecx
140047bd3:	89 c8                	mov    %ecx,%eax
140047bd5:	c3                   	ret
140047bd6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140047bdd:	00 00 00
140047be0:	84 d2                	test   %dl,%dl
140047be2:	74 0c                	je     0x140047bf0
140047be4:	31 c9                	xor    %ecx,%ecx
140047be6:	80 fa 2f             	cmp    $0x2f,%dl
140047be9:	74 05                	je     0x140047bf0
140047beb:	89 c8                	mov    %ecx,%eax
140047bed:	c3                   	ret
140047bee:	66 90                	xchg   %ax,%ax
140047bf0:	c0 e8 02             	shr    $0x2,%al
140047bf3:	89 c1                	mov    %eax,%ecx
140047bf5:	83 e1 01             	and    $0x1,%ecx
140047bf8:	89 c8                	mov    %ecx,%eax
140047bfa:	c3                   	ret
140047bfb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140047c00:	55                   	push   %rbp
140047c01:	57                   	push   %rdi
140047c02:	56                   	push   %rsi
140047c03:	53                   	push   %rbx
140047c04:	48 83 ec 38          	sub    $0x38,%rsp
140047c08:	48 89 cb             	mov    %rcx,%rbx
140047c0b:	4c 89 c1             	mov    %r8,%rcx
140047c0e:	89 d7                	mov    %edx,%edi
140047c10:	4c 89 c6             	mov    %r8,%rsi
140047c13:	e8 80 22 1a 00       	call   0x1401e9e98
140047c18:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140047c1c:	4c 63 c7             	movslq %edi,%r8
140047c1f:	48 63 e8             	movslq %eax,%rbp
140047c22:	42 0f b6 14 02       	movzbl (%rdx,%r8,1),%edx
140047c27:	84 d2                	test   %dl,%dl
140047c29:	74 4d                	je     0x140047c78
140047c2b:	0f be c2             	movsbl %dl,%eax
140047c2e:	80 fa 5c             	cmp    $0x5c,%dl
140047c31:	74 45                	je     0x140047c78
140047c33:	83 f8 2f             	cmp    $0x2f,%eax
140047c36:	74 40                	je     0x140047c78
140047c38:	0f be 44 2e ff       	movsbl -0x1(%rsi,%rbp,1),%eax
140047c3d:	83 f8 2f             	cmp    $0x2f,%eax
140047c40:	74 36                	je     0x140047c78
140047c42:	83 f8 5c             	cmp    $0x5c,%eax
140047c45:	74 31                	je     0x140047c78
140047c47:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140047c4c:	44 8d 47 ff          	lea    -0x1(%rdi),%r8d
140047c50:	49 89 f1             	mov    %rsi,%r9