140874966:	3b fb                	cmp    %ebx,%edi
140874968:	7d 47                	jge    0x1408749b1
14087496a:	44 8b c3             	mov    %ebx,%r8d
14087496d:	44 2b c7             	sub    %edi,%r8d
140874970:	49 63 d0             	movslq %r8d,%rdx
140874973:	4c 3b fa             	cmp    %rdx,%r15
140874976:	7c 1e                	jl     0x140874996
140874978:	4b 8d 0c 1f          	lea    (%r15,%r11,1),%rcx
14087497c:	4c 2b fa             	sub    %rdx,%r15
14087497f:	49 ff c7             	inc    %r15
140874982:	48 8b c1             	mov    %rcx,%rax
140874985:	48 2b c2             	sub    %rdx,%rax
140874988:	0f b6 00             	movzbl (%rax),%eax
14087498b:	88 01                	mov    %al,(%rcx)
14087498d:	48 ff c9             	dec    %rcx
140874990:	49 83 ef 01          	sub    $0x1,%r15
140874994:	75 ec                	jne    0x140874982
140874996:	45 85 c0             	test   %r8d,%r8d
140874999:	74 14                	je     0x1408749af
14087499b:	33 c0                	xor    %eax,%eax
14087499d:	b2 30                	mov    $0x30,%dl
14087499f:	8b c8                	mov    %eax,%ecx
1408749a1:	45 84 c9             	test   %r9b,%r9b
1408749a4:	0f 95 c1             	setne  %cl
1408749a7:	49 03 cb             	add    %r11,%rcx
1408749aa:	e8 01 ad 66 00       	call   0x140edf6b0
1408749af:	8b fb                	mov    %ebx,%edi
1408749b1:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
1408749b6:	e9 25 fa ff ff       	jmp    0x1408743e0
1408749bb:	80 7c 24 22 00       	cmpb   $0x0,0x22(%rsp)
1408749c0:	75 16                	jne    0x1408749d8
1408749c2:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1408749c7:	49 83 c3 08          	add    $0x8,%r11
1408749cb:	48 8b 0b             	mov    (%rbx),%rcx
1408749ce:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
1408749d3:	8b 40 18             	mov    0x18(%rax),%eax
1408749d6:	89 01                	mov    %eax,(%rcx)
1408749d8:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
1408749dd:	e9 fb 09 00 00       	jmp    0x1408753dd
1408749e2:	c6 45 80 25          	movb   $0x25,-0x80(%rbp)
1408749e6:	48 8d 75 80          	lea    -0x80(%rbp),%rsi
1408749ea:	bf 01 00 00 00       	mov    $0x1,%edi
1408749ef:	e9 e1 f9 ff ff       	jmp    0x1408743d5
1408749f4:	80 7c 24 22 00       	cmpb   $0x0,0x22(%rsp)
1408749f9:	0f 84 c1 00 00 00    	je     0x140874ac0
1408749ff:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
140874a04:	49 63 51 04          	movslq 0x4(%r9),%rdx
140874a08:	41 39 11             	cmp    %edx,(%r9)
140874a0b:	7f 0e                	jg     0x140874a1b
140874a0d:	bf 01 00 00 00       	mov    $0x1,%edi
140874a12:	c6 45 80 00          	movb   $0x0,-0x80(%rbp)
140874a16:	e9 39 01 00 00       	jmp    0x140874b54
140874a1b:	49 8b 41 08          	mov    0x8(%r9),%rax
140874a1f:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
140874a23:	8d 42 01             	lea    0x1(%rdx),%eax
140874a26:	41 89 41 04          	mov    %eax,0x4(%r9)
140874a2a:	48 85 c9             	test   %rcx,%rcx
140874a2d:	75 04                	jne    0x140874a33
140874a2f:	33 c0                	xor    %eax,%eax
140874a31:	eb 33                	jmp    0x140874a66
140874a33:	0f b7 51 14          	movzwl 0x14(%rcx),%edx
140874a37:	41 b8 02 02 00 00    	mov    $0x202,%r8d
140874a3d:	0f b7 c2             	movzwl %dx,%eax
140874a40:	66 41 23 c0          	and    %r8w,%ax
140874a44:	66 41 3b c0          	cmp    %r8w,%ax
140874a48:	75 0c                	jne    0x140874a56
140874a4a:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
140874a4e:	75 06                	jne    0x140874a56
140874a50:	4c 8b 49 08          	mov    0x8(%rcx),%r9
140874a54:	eb 13                	jmp    0x140874a69
140874a56:	f6 c2 01             	test   $0x1,%dl
140874a59:	74 04                	je     0x140874a5f
140874a5b:	33 c0                	xor    %eax,%eax
140874a5d:	eb 07                	jmp    0x140874a66
140874a5f:	b2 01                	mov    $0x1,%dl
140874a61:	e8 ea 32 0b 00       	call   0x140927d50
140874a66:	4c 8b c8             	mov    %rax,%r9
140874a69:	bf 01 00 00 00       	mov    $0x1,%edi
140874a6e:	8b d7                	mov    %edi,%edx
140874a70:	4d 85 c9             	test   %r9,%r9
140874a73:	74 9d                	je     0x140874a12
140874a75:	41 0f b6 09          	movzbl (%r9),%ecx
140874a79:	88 4d 80             	mov    %cl,-0x80(%rbp)
140874a7c:	81 e1 c0 00 00 00    	and    $0xc0,%ecx
140874a82:	80 f9 c0             	cmp    $0xc0,%cl
140874a85:	0f 85 c9 00 00 00    	jne    0x140874b54
140874a8b:	48 8d 45 81          	lea    -0x7f(%rbp),%rax
140874a8f:	4c 2b c8             	sub    %rax,%r9
140874a92:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140874a96:	48 03 ca             	add    %rdx,%rcx
140874a99:	45 0f b6 44 09 01    	movzbl 0x1(%r9,%rcx,1),%r8d
140874a9f:	41 0f b6 c0          	movzbl %r8b,%eax
140874aa3:	24 c0                	and    $0xc0,%al
140874aa5:	3c 80                	cmp    $0x80,%al
140874aa7:	0f 85 a7 00 00 00    	jne    0x140874b54
140874aad:	ff c7                	inc    %edi
140874aaf:	44 88 01             	mov    %r8b,(%rcx)
140874ab2:	48 ff c2             	inc    %rdx
140874ab5:	48 83 fa 04          	cmp    $0x4,%rdx
140874ab9:	7c d7                	jl     0x140874a92
140874abb:	e9 94 00 00 00       	jmp    0x140874b54
140874ac0:	8b 0b                	mov    (%rbx),%ecx
140874ac2:	49 83 c3 08          	add    $0x8,%r11
140874ac6:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
140874acb:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
140874ad1:	73 07                	jae    0x140874ada
140874ad3:	bf 01 00 00 00       	mov    $0x1,%edi
140874ad8:	eb 77                	jmp    0x140874b51
140874ada:	8b c1                	mov    %ecx,%eax
140874adc:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
140874ae2:	73 1a                	jae    0x140874afe
140874ae4:	c1 e8 06             	shr    $0x6,%eax
140874ae7:	80 e1 3f             	and    $0x3f,%cl
140874aea:	24 1f                	and    $0x1f,%al
140874aec:	bf 02 00 00 00       	mov    $0x2,%edi
140874af1:	2c 40                	sub    $0x40,%al
140874af3:	80 c1 80             	add    $0x80,%cl
140874af6:	88 45 80             	mov    %al,-0x80(%rbp)
140874af9:	88 4d 81             	mov    %cl,-0x7f(%rbp)
140874afc:	eb 56                	jmp    0x140874b54
140874afe:	8b d1                	mov    %ecx,%edx
140874b00:	c1 e8 0c             	shr    $0xc,%eax
140874b03:	c1 ea 06             	shr    $0x6,%edx
140874b06:	44 0f b6 c1          	movzbl %cl,%r8d
140874b0a:	80 e2 3f             	and    $0x3f,%dl
140874b0d:	41 80 e0 3f          	and    $0x3f,%r8b
140874b11:	80 c2 80             	add    $0x80,%dl
140874b14:	41 80 c0 80          	add    $0x80,%r8b
140874b18:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
140874b1e:	73 15                	jae    0x140874b35
140874b20:	24 0f                	and    $0xf,%al
140874b22:	88 55 81             	mov    %dl,-0x7f(%rbp)
140874b25:	2c 20                	sub    $0x20,%al
140874b27:	44 88 45 82          	mov    %r8b,-0x7e(%rbp)
140874b2b:	88 45 80             	mov    %al,-0x80(%rbp)
140874b2e:	bf 03 00 00 00       	mov    $0x3,%edi
140874b33:	eb 1f                	jmp    0x140874b54
140874b35:	c1 e9 12             	shr    $0x12,%ecx
140874b38:	24 3f                	and    $0x3f,%al
140874b3a:	80 e1 07             	and    $0x7,%cl
140874b3d:	88 55 82             	mov    %dl,-0x7e(%rbp)
140874b40:	80 e9 10             	sub    $0x10,%cl
140874b43:	44 88 45 83          	mov    %r8b,-0x7d(%rbp)
140874b47:	04 80                	add    $0x80,%al
140874b49:	bf 04 00 00 00       	mov    $0x4,%edi
140874b4e:	88 45 81             	mov    %al,-0x7f(%rbp)
140874b51:	88 4d 80             	mov    %cl,-0x80(%rbp)
140874b54:	44 0f b6 74 24 21    	movzbl 0x21(%rsp),%r14d
140874b5a:	41 83 fc 01          	cmp    $0x1,%r12d
140874b5e:	0f 8e ab 00 00 00    	jle    0x140874c0f
140874b64:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
140874b69:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140874b6e:	45 2b c4             	sub    %r12d,%r8d
140874b71:	49 63 d0             	movslq %r8d,%rdx
140874b74:	41 ff c0             	inc    %r8d
140874b77:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140874b7c:	41 83 f8 01          	cmp    $0x1,%r8d
140874b80:	7e 4c                	jle    0x140874bce
140874b82:	45 84 f6             	test   %r14b,%r14b
140874b85:	75 47                	jne    0x140874bce
140874b87:	8b 4e 18             	mov    0x18(%rsi),%ecx
140874b8a:	8b 46 10             	mov    0x10(%rsi),%eax
140874b8d:	48 03 ca             	add    %rdx,%rcx
140874b90:	48 3b c8             	cmp    %rax,%rcx
140874b93:	7c 1b                	jl     0x140874bb0
140874b95:	48 8b ce             	mov    %rsi,%rcx
140874b98:	e8 33 c9 08 00       	call   0x1409014d0
140874b9d:	8b d0                	mov    %eax,%edx
140874b9f:	85 c0                	test   %eax,%eax
140874ba1:	7e 21                	jle    0x140874bc4
140874ba3:	0f 1f 40 00          	nopl   0x0(%rax)
140874ba7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140874bae:	00 00
140874bb0:	8b 4e 18             	mov    0x18(%rsi),%ecx
140874bb3:	ff ca                	dec    %edx
140874bb5:	48 8b 46 08          	mov    0x8(%rsi),%rax
140874bb9:	c6 04 01 20          	movb   $0x20,(%rcx,%rax,1)
140874bbd:	ff 46 18             	incl   0x18(%rsi)
140874bc0:	85 d2                	test   %edx,%edx
140874bc2:	7f ec                	jg     0x140874bb0
140874bc4:	33 c0                	xor    %eax,%eax
140874bc6:	44 8b c0             	mov    %eax,%r8d
140874bc9:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140874bce:	41 8d 5c 24 ff       	lea    -0x1(%r12),%ebx
140874bd3:	8b 46 18             	mov    0x18(%rsi),%eax
140874bd6:	8d 0c 38             	lea    (%rax,%rdi,1),%ecx
140874bd9:	3b 4e 10             	cmp    0x10(%rsi),%ecx
140874bdc:	72 11                	jb     0x140874bef
140874bde:	44 8b c7             	mov    %edi,%r8d
140874be1:	48 8d 55 80          	lea    -0x80(%rbp),%rdx
140874be5:	48 8b ce             	mov    %rsi,%rcx
140874be8:	e8 f3 ad 02 00       	call   0x14089f9e0
140874bed:	eb 1a                	jmp    0x140874c09
140874bef:	85 ff                	test   %edi,%edi
140874bf1:	74 16                	je     0x140874c09
140874bf3:	89 4e 18             	mov    %ecx,0x18(%rsi)
140874bf6:	48 8d 55 80          	lea    -0x80(%rbp),%rdx
140874bfa:	48 8b c8             	mov    %rax,%rcx
140874bfd:	4c 63 c7             	movslq %edi,%r8
140874c00:	48 03 4e 08          	add    0x8(%rsi),%rcx
140874c04:	e8 07 a4 66 00       	call   0x140edf010
140874c09:	48 83 eb 01          	sub    $0x1,%rbx
140874c0d:	75 c4                	jne    0x140874bd3
140874c0f:	4c 8d 5d 80          	lea    -0x80(%rbp),%r11
140874c13:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874c18:	e9 11 04 00 00       	jmp    0x14087502e
140874c1d:	80 7c 24 22 00       	cmpb   $0x0,0x22(%rsp)
140874c22:	0f 84 96 00 00 00    	je     0x140874cbe
140874c28:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
140874c2d:	49 63 51 04          	movslq 0x4(%r9),%rdx
140874c31:	41 39 11             	cmp    %edx,(%r9)
140874c34:	7f 12                	jg     0x140874c48
140874c36:	33 c0                	xor    %eax,%eax
140874c38:	41 b2 05             	mov    $0x5,%r10b
140874c3b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140874c40:	44 8b d8             	mov    %eax,%r11d
140874c43:	e9 87 00 00 00       	jmp    0x140874ccf
140874c48:	49 8b 41 08          	mov    0x8(%r9),%rax
140874c4c:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
140874c50:	8d 42 01             	lea    0x1(%rdx),%eax
140874c53:	41 89 41 04          	mov    %eax,0x4(%r9)
140874c57:	48 85 c9             	test   %rcx,%rcx
140874c5a:	75 0f                	jne    0x140874c6b
140874c5c:	33 c0                	xor    %eax,%eax
140874c5e:	41 b2 05             	mov    $0x5,%r10b
140874c61:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140874c66:	44 8b d8             	mov    %eax,%r11d
140874c69:	eb 64                	jmp    0x140874ccf
140874c6b:	0f b7 51 14          	movzwl 0x14(%rcx),%edx
140874c6f:	41 b8 02 02 00 00    	mov    $0x202,%r8d
140874c75:	0f b7 c2             	movzwl %dx,%eax
140874c78:	66 41 23 c0          	and    %r8w,%ax
140874c7c:	66 41 3b c0          	cmp    %r8w,%ax
140874c80:	75 14                	jne    0x140874c96
140874c82:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
140874c86:	75 0e                	jne    0x140874c96
140874c88:	4c 8b 59 08          	mov    0x8(%rcx),%r11
140874c8c:	41 b2 05             	mov    $0x5,%r10b
140874c8f:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874c94:	eb 39                	jmp    0x140874ccf
140874c96:	f6 c2 01             	test   $0x1,%dl
140874c99:	74 0f                	je     0x140874caa
140874c9b:	33 c0                	xor    %eax,%eax
140874c9d:	41 b2 05             	mov    $0x5,%r10b
140874ca0:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140874ca5:	44 8b d8             	mov    %eax,%r11d
140874ca8:	eb 25                	jmp    0x140874ccf
140874caa:	b2 01                	mov    $0x1,%dl
140874cac:	e8 9f 30 0b 00       	call   0x140927d50
140874cb1:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140874cb6:	4c 8b d8             	mov    %rax,%r11
140874cb9:	41 b2 05             	mov    $0x5,%r10b
140874cbc:	eb 11                	jmp    0x140874ccf
140874cbe:	49 83 c3 08          	add    $0x8,%r11
140874cc2:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
140874cc7:	4c 8b 1b             	mov    (%rbx),%r11
140874cca:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874ccf:	4d 85 db             	test   %r11,%r11
140874cd2:	75 11                	jne    0x140874ce5
140874cd4:	4c 8d 1d b1 ea 72 00 	lea    0x72eab1(%rip),%r11        # 0x140fa378c
140874cdb:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874ce0:	e9 d1 00 00 00       	jmp    0x140874db6
140874ce5:	41 80 fa 06          	cmp    $0x6,%r10b
140874ce9:	0f 85 c7 00 00 00    	jne    0x140874db6
140874cef:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140874cf4:	83 78 18 00          	cmpl   $0x0,0x18(%rax)
140874cf8:	0f 85 b3 00 00 00    	jne    0x140874db1
140874cfe:	83 78 14 00          	cmpl   $0x0,0x14(%rax)
140874d02:	0f 84 a9 00 00 00    	je     0x140874db1
140874d08:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140874d0d:	85 db                	test   %ebx,%ebx
140874d0f:	0f 85 9c 00 00 00    	jne    0x140874db1
140874d15:	45 85 e4             	test   %r12d,%r12d
140874d18:	0f 89 93 00 00 00    	jns    0x140874db1
140874d1e:	38 58 1c             	cmp    %bl,0x1c(%rax)
140874d21:	0f 85 8a 00 00 00    	jne    0x140874db1
140874d27:	4c 8b e0             	mov    %rax,%r12
140874d2a:	4c 89 58 08          	mov    %r11,0x8(%rax)
140874d2e:	48 8b 00             	mov    (%rax),%rax
140874d31:	48 85 c0             	test   %rax,%rax
140874d34:	74 2b                	je     0x140874d61
140874d36:	4c 3b 98 f0 01 00 00 	cmp    0x1f0(%rax),%r11
140874d3d:	73 22                	jae    0x140874d61
140874d3f:	4c 3b 98 e0 01 00 00 	cmp    0x1e0(%rax),%r11
140874d46:	72 07                	jb     0x140874d4f
140874d48:	b8 80 00 00 00       	mov    $0x80,%eax
140874d4d:	eb 27                	jmp    0x140874d76
140874d4f:	4c 3b 98 e8 01 00 00 	cmp    0x1e8(%rax),%r11
140874d56:	72 09                	jb     0x140874d61
140874d58:	0f b7 80 a6 01 00 00 	movzwl 0x1a6(%rax),%eax
140874d5f:	eb 15                	jmp    0x140874d76
140874d61:	48 8b 05 00 89 b3 00 	mov    0xb38900(%rip),%rax        # 0x1413ad668
140874d68:	49 8b cb             	mov    %r11,%rcx
140874d6b:	ff 15 af ec 70 00    	call   *0x70ecaf(%rip)        # 0x140f83a20
140874d71:	4c 8b 5c 24 28       	mov    0x28(%rsp),%r11
140874d76:	41 89 44 24 10       	mov    %eax,0x10(%r12)
140874d7b:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140874d82:	48 ff c0             	inc    %rax
140874d85:	41 80 3c 03 00       	cmpb   $0x0,(%r11,%rax,1)
140874d8a:	75 f6                	jne    0x140874d82
140874d8c:	41 80 4c 24 1d 04    	orb    $0x4,0x1d(%r12)
140874d92:	0f ba f0 1f          	btr    $0x1f,%eax
140874d96:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140874d9b:	45 33 ff             	xor    %r15d,%r15d
140874d9e:	44 0f b6 74 24 21    	movzbl 0x21(%rsp),%r14d
140874da4:	41 8b ff             	mov    %r15d,%edi
140874da7:	41 89 44 24 18       	mov    %eax,0x18(%r12)
140874dac:	e9 37 f6 ff ff       	jmp    0x1408743e8
140874db1:	4c 89 5c 24 68       	mov    %r11,0x68(%rsp)
140874db6:	45 85 e4             	test   %r12d,%r12d
140874db9:	0f 88 86 00 00 00    	js     0x140874e45
140874dbf:	80 7c 24 20 00       	cmpb   $0x0,0x20(%rsp)
140874dc4:	74 46                	je     0x140874e0c
140874dc6:	49 8b cb             	mov    %r11,%rcx
140874dc9:	45 85 e4             	test   %r12d,%r12d
140874dcc:	7e 34                	jle    0x140874e02
140874dce:	66 90                	xchg   %ax,%ax
140874dd0:	0f b6 01             	movzbl (%rcx),%eax
140874dd3:	41 ff cc             	dec    %r12d
140874dd6:	84 c0                	test   %al,%al
140874dd8:	74 28                	je     0x140874e02
140874dda:	48 ff c1             	inc    %rcx
140874ddd:	3c c0                	cmp    $0xc0,%al
140874ddf:	72 1c                	jb     0x140874dfd
140874de1:	0f b6 01             	movzbl (%rcx),%eax
140874de4:	24 c0                	and    $0xc0,%al
140874de6:	3c 80                	cmp    $0x80,%al
140874de8:	75 13                	jne    0x140874dfd
140874dea:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140874df0:	0f b6 41 01          	movzbl 0x1(%rcx),%eax
140874df4:	48 ff c1             	inc    %rcx
140874df7:	24 c0                	and    $0xc0,%al
140874df9:	3c 80                	cmp    $0x80,%al
140874dfb:	74 f3                	je     0x140874df0
140874dfd:	45 85 e4             	test   %r12d,%r12d
140874e00:	7f ce                	jg     0x140874dd0
140874e02:	41 2b cb             	sub    %r11d,%ecx
140874e05:	8b f9                	mov    %ecx,%edi
140874e07:	e9 1c 02 00 00       	jmp    0x140875028
140874e0c:	45 33 ff             	xor    %r15d,%r15d
140874e0f:	49 63 cc             	movslq %r12d,%rcx
140874e12:	41 8b ff             	mov    %r15d,%edi
140874e15:	41 8b c7             	mov    %r15d,%eax
140874e18:	45 85 e4             	test   %r12d,%r12d
140874e1b:	7e 13                	jle    0x140874e30
140874e1d:	0f 1f 00             	nopl   (%rax)
140874e20:	46 38 3c 18          	cmp    %r15b,(%rax,%r11,1)
140874e24:	74 0a                	je     0x140874e30
140874e26:	ff c7                	inc    %edi
140874e28:	48 ff c0             	inc    %rax