140171aa5:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140171aa9:	66 3b 45 cf          	cmp    -0x31(%rbp),%ax
140171aad:	0f 85 63 01 00 00    	jne    0x140171c16
140171ab3:	48 8b 0f             	mov    (%rdi),%rcx
140171ab6:	48 85 c9             	test   %rcx,%rcx
140171ab9:	74 43                	je     0x140171afe
140171abb:	48 8b 41 38          	mov    0x38(%rcx),%rax
140171abf:	48 39 18             	cmp    %rbx,(%rax)
140171ac2:	74 1d                	je     0x140171ae1
140171ac4:	48 8b 41 50          	mov    0x50(%rcx),%rax
140171ac8:	39 18                	cmp    %ebx,(%rax)
140171aca:	7e 15                	jle    0x140171ae1
140171acc:	ff 08                	decl   (%rax)
140171ace:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140171ad2:	48 8b 11             	mov    (%rcx),%rdx
140171ad5:	48 8d 42 02          	lea    0x2(%rdx),%rax
140171ad9:	48 89 01             	mov    %rax,(%rcx)
140171adc:	0f b7 02             	movzwl (%rdx),%eax
140171adf:	eb 0d                	jmp    0x140171aee
140171ae1:	48 8b 01             	mov    (%rcx),%rax
140171ae4:	48 8b 40 38          	mov    0x38(%rax),%rax
140171ae8:	ff 15 32 cb 08 00    	call   *0x8cb32(%rip)        # 0x1401fe620
140171aee:	41 bf ff ff 00 00    	mov    $0xffff,%r15d
140171af4:	66 44 3b f8          	cmp    %ax,%r15w
140171af8:	74 0a                	je     0x140171b04
140171afa:	8a c3                	mov    %bl,%al
140171afc:	eb 0b                	jmp    0x140171b09
140171afe:	41 bf ff ff 00 00    	mov    $0xffff,%r15d
140171b04:	48 89 1f             	mov    %rbx,(%rdi)
140171b07:	b0 01                	mov    $0x1,%al
140171b09:	88 47 08             	mov    %al,0x8(%rdi)
140171b0c:	49 8b d5             	mov    %r13,%rdx
140171b0f:	48 8b cf             	mov    %rdi,%rcx
140171b12:	e8 f9 08 01 00       	call   0x140182410
140171b17:	84 c0                	test   %al,%al
140171b19:	0f 85 f2 00 00 00    	jne    0x140171c11
140171b1f:	8a 4f 08             	mov    0x8(%rdi),%cl
140171b22:	84 c9                	test   %cl,%cl
140171b24:	75 43                	jne    0x140171b69
140171b26:	48 8b 0f             	mov    (%rdi),%rcx
140171b29:	48 85 c9             	test   %rcx,%rcx
140171b2c:	74 32                	je     0x140171b60
140171b2e:	48 8b 41 38          	mov    0x38(%rcx),%rax
140171b32:	48 8b 10             	mov    (%rax),%rdx
140171b35:	48 85 d2             	test   %rdx,%rdx
140171b38:	74 0d                	je     0x140171b47
140171b3a:	48 8b 41 50          	mov    0x50(%rcx),%rax
140171b3e:	39 18                	cmp    %ebx,(%rax)
140171b40:	7e 05                	jle    0x140171b47
140171b42:	0f b7 02             	movzwl (%rdx),%eax
140171b45:	eb 0d                	jmp    0x140171b54
140171b47:	48 8b 01             	mov    (%rcx),%rax
140171b4a:	48 8b 40 30          	mov    0x30(%rax),%rax
140171b4e:	ff 15 cc ca 08 00    	call   *0x8cacc(%rip)        # 0x1401fe620
140171b54:	66 44 3b f8          	cmp    %ax,%r15w
140171b58:	74 06                	je     0x140171b60
140171b5a:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140171b5e:	eb 03                	jmp    0x140171b63
140171b60:	48 89 1f             	mov    %rbx,(%rdi)
140171b63:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140171b67:	b1 01                	mov    $0x1,%cl
140171b69:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140171b6d:	66 3b 45 01          	cmp    0x1(%rbp),%ax
140171b71:	74 4f                	je     0x140171bc2
140171b73:	84 c9                	test   %cl,%cl
140171b75:	75 45                	jne    0x140171bbc
140171b77:	48 8b 0f             	mov    (%rdi),%rcx
140171b7a:	48 85 c9             	test   %rcx,%rcx
140171b7d:	74 32                	je     0x140171bb1
140171b7f:	48 8b 41 38          	mov    0x38(%rcx),%rax
140171b83:	48 8b 10             	mov    (%rax),%rdx
140171b86:	48 85 d2             	test   %rdx,%rdx
140171b89:	74 0d                	je     0x140171b98
140171b8b:	48 8b 41 50          	mov    0x50(%rcx),%rax
140171b8f:	39 18                	cmp    %ebx,(%rax)
140171b91:	7e 05                	jle    0x140171b98
140171b93:	0f b7 02             	movzwl (%rdx),%eax
140171b96:	eb 0d                	jmp    0x140171ba5
140171b98:	48 8b 01             	mov    (%rcx),%rax
140171b9b:	48 8b 40 30          	mov    0x30(%rax),%rax
140171b9f:	ff 15 7b ca 08 00    	call   *0x8ca7b(%rip)        # 0x1401fe620
140171ba5:	66 44 3b f8          	cmp    %ax,%r15w
140171ba9:	74 06                	je     0x140171bb1
140171bab:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140171baf:	eb 07                	jmp    0x140171bb8
140171bb1:	48 89 1f             	mov    %rbx,(%rdi)
140171bb4:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140171bb8:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140171bbc:	66 3b 45 ff          	cmp    -0x1(%rbp),%ax
140171bc0:	75 4f                	jne    0x140171c11
140171bc2:	48 8b 0f             	mov    (%rdi),%rcx
140171bc5:	48 85 c9             	test   %rcx,%rcx
140171bc8:	74 3d                	je     0x140171c07
140171bca:	48 8b 41 38          	mov    0x38(%rcx),%rax
140171bce:	48 39 18             	cmp    %rbx,(%rax)
140171bd1:	74 1d                	je     0x140171bf0
140171bd3:	48 8b 41 50          	mov    0x50(%rcx),%rax
140171bd7:	39 18                	cmp    %ebx,(%rax)
140171bd9:	7e 15                	jle    0x140171bf0
140171bdb:	ff 08                	decl   (%rax)
140171bdd:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140171be1:	48 8b 11             	mov    (%rcx),%rdx
140171be4:	48 8d 42 02          	lea    0x2(%rdx),%rax
140171be8:	48 89 01             	mov    %rax,(%rcx)
140171beb:	0f b7 02             	movzwl (%rdx),%eax
140171bee:	eb 0d                	jmp    0x140171bfd
140171bf0:	48 8b 01             	mov    (%rcx),%rax
140171bf3:	48 8b 40 38          	mov    0x38(%rax),%rax
140171bf7:	ff 15 23 ca 08 00    	call   *0x8ca23(%rip)        # 0x1401fe620
140171bfd:	66 44 3b f8          	cmp    %ax,%r15w
140171c01:	74 04                	je     0x140171c07
140171c03:	8a c3                	mov    %bl,%al
140171c05:	eb 05                	jmp    0x140171c0c
140171c07:	48 89 1f             	mov    %rbx,(%rdi)
140171c0a:	b0 01                	mov    $0x1,%al
140171c0c:	88 47 08             	mov    %al,0x8(%rdi)
140171c0f:	eb 05                	jmp    0x140171c16
140171c11:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140171c16:	b9 00 03 00 00       	mov    $0x300,%ecx
140171c1b:	41 bf 24 00 00 00    	mov    $0x24,%r15d
140171c21:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140171c26:	81 38 00 ca 9a 3b    	cmpl   $0x3b9aca00,(%rax)
140171c2c:	44 0f 44 f9          	cmove  %ecx,%r15d
140171c30:	44 89 7c 24 3c       	mov    %r15d,0x3c(%rsp)
140171c35:	48 8d 5d af          	lea    -0x51(%rbp),%rbx
140171c39:	48 83 7d c7 10       	cmpq   $0x10,-0x39(%rbp)
140171c3e:	48 0f 43 5d af       	cmovae -0x51(%rbp),%rbx
140171c43:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
140171c48:	8a 03                	mov    (%rbx),%al
140171c4a:	fe c8                	dec    %al
140171c4c:	3c 7d                	cmp    $0x7d,%al
140171c4e:	0f 87 92 03 00 00    	ja     0x140171fe6
140171c54:	33 f6                	xor    %esi,%esi
140171c56:	48 39 75 bf          	cmp    %rsi,-0x41(%rbp)
140171c5a:	75 06                	jne    0x140171c62
140171c5c:	44 0f b7 e6          	movzwl %si,%r12d
140171c60:	eb 15                	jmp    0x140171c77
140171c62:	49 8b 04 24          	mov    (%r12),%rax
140171c66:	49 8b cc             	mov    %r12,%rcx
140171c69:	48 8b 40 20          	mov    0x20(%rax),%rax
140171c6d:	ff 15 ad c9 08 00    	call   *0x8c9ad(%rip)        # 0x1401fe620
140171c73:	44 0f b7 e0          	movzwl %ax,%r12d
140171c77:	48 89 75 8f          	mov    %rsi,-0x71(%rbp)
140171c7b:	41 bd 0f 00 00 00    	mov    $0xf,%r13d
140171c81:	4c 89 6d a7          	mov    %r13,-0x59(%rbp)
140171c85:	48 c7 45 9f 01 00 00 	movq   $0x1,-0x61(%rbp)
140171c8c:	00
140171c8d:	33 c0                	xor    %eax,%eax
140171c8f:	66 89 45 8f          	mov    %ax,-0x71(%rbp)
140171c93:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140171c98:	48 8b cf             	mov    %rdi,%rcx
140171c9b:	e8 70 07 01 00       	call   0x140182410
140171ca0:	45 33 c0             	xor    %r8d,%r8d
140171ca3:	4c 8b 7d 8f          	mov    -0x71(%rbp),%r15
140171ca7:	84 c0                	test   %al,%al
140171ca9:	0f 85 39 02 00 00    	jne    0x140171ee8
140171caf:	8a 5c 24 31          	mov    0x31(%rsp),%bl
140171cb3:	44 38 47 08          	cmp    %r8b,0x8(%rdi)
140171cb7:	75 49                	jne    0x140171d02
140171cb9:	48 8b 0f             	mov    (%rdi),%rcx
140171cbc:	48 85 c9             	test   %rcx,%rcx
140171cbf:	74 3a                	je     0x140171cfb
140171cc1:	48 8b 41 38          	mov    0x38(%rcx),%rax
140171cc5:	48 8b 10             	mov    (%rax),%rdx
140171cc8:	48 85 d2             	test   %rdx,%rdx
140171ccb:	74 0e                	je     0x140171cdb
140171ccd:	48 8b 41 50          	mov    0x50(%rcx),%rax
140171cd1:	44 39 00             	cmp    %r8d,(%rax)
140171cd4:	7e 05                	jle    0x140171cdb
140171cd6:	0f b7 02             	movzwl (%rdx),%eax
140171cd9:	eb 10                	jmp    0x140171ceb
140171cdb:	48 8b 01             	mov    (%rcx),%rax
140171cde:	48 8b 40 30          	mov    0x30(%rax),%rax
140171ce2:	ff 15 38 c9 08 00    	call   *0x8c938(%rip)        # 0x1401fe620
140171ce8:	45 33 c0             	xor    %r8d,%r8d
140171ceb:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140171cf0:	66 3b c8             	cmp    %ax,%cx
140171cf3:	74 06                	je     0x140171cfb
140171cf5:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140171cf9:	eb 03                	jmp    0x140171cfe
140171cfb:	4c 89 07             	mov    %r8,(%rdi)
140171cfe:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140171d02:	0f b7 4f 0a          	movzwl 0xa(%rdi),%ecx
140171d06:	48 8d 45 cf          	lea    -0x31(%rbp),%rax
140171d0a:	66 39 08             	cmp    %cx,(%rax)
140171d0d:	74 0d                	je     0x140171d1c
140171d0f:	48 83 c0 02          	add    $0x2,%rax
140171d13:	48 8d 55 07          	lea    0x7(%rbp),%rdx
140171d17:	48 3b c2             	cmp    %rdx,%rax
140171d1a:	75 ee                	jne    0x140171d0a
140171d1c:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140171d20:	48 2b c1             	sub    %rcx,%rax
140171d23:	48 d1 f8             	sar    $1,%rax
140171d26:	48 83 f8 16          	cmp    $0x16,%rax
140171d2a:	73 64                	jae    0x140171d90
140171d2c:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140171d31:	8b 4c 24 38          	mov    0x38(%rsp),%ecx
140171d35:	39 4c 24 3c          	cmp    %ecx,0x3c(%rsp)
140171d39:	7f 06                	jg     0x140171d41
140171d3b:	ff 44 24 34          	incl   0x34(%rsp)
140171d3f:	eb 24                	jmp    0x140171d65
140171d41:	48 85 c0             	test   %rax,%rax
140171d44:	75 04                	jne    0x140171d4a
140171d46:	85 c9                	test   %ecx,%ecx
140171d48:	74 1b                	je     0x140171d65
140171d4a:	48 8d 15 3f e9 0a 00 	lea    0xae93f(%rip),%rdx        # 0x140220690
140171d51:	8a 04 10             	mov    (%rax,%rdx,1),%al
140171d54:	41 88 06             	mov    %al,(%r14)
140171d57:	49 ff c6             	inc    %r14
140171d5a:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140171d5f:	ff c1                	inc    %ecx
140171d61:	89 4c 24 38          	mov    %ecx,0x38(%rsp)
140171d65:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140171d69:	49 83 fd 10          	cmp    $0x10,%r13
140171d6d:	0f 93 c1             	setae  %cl
140171d70:	49 0f 43 c7          	cmovae %r15,%rax
140171d74:	80 3c 30 7f          	cmpb   $0x7f,(%rax,%rsi,1)
140171d78:	0f 84 d9 00 00 00    	je     0x140171e57
140171d7e:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140171d82:	84 c9                	test   %cl,%cl
140171d84:	49 0f 45 c7          	cmovne %r15,%rax
140171d88:	fe 04 30             	incb   (%rax,%rsi,1)
140171d8b:	e9 bf 00 00 00       	jmp    0x140171e4f
140171d90:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140171d94:	49 83 fd 10          	cmp    $0x10,%r13
140171d98:	41 0f 93 c6          	setae  %r14b
140171d9c:	49 0f 43 c7          	cmovae %r15,%rax
140171da0:	44 38 04 30          	cmp    %r8b,(%rax,%rsi,1)
140171da4:	0f 84 1b 01 00 00    	je     0x140171ec5
140171daa:	66 45 85 e4          	test   %r12w,%r12w
140171dae:	0f 84 11 01 00 00    	je     0x140171ec5
140171db4:	44 38 47 08          	cmp    %r8b,0x8(%rdi)
140171db8:	75 49                	jne    0x140171e03
140171dba:	48 8b 0f             	mov    (%rdi),%rcx
140171dbd:	48 85 c9             	test   %rcx,%rcx
140171dc0:	74 3a                	je     0x140171dfc
140171dc2:	48 8b 41 38          	mov    0x38(%rcx),%rax
140171dc6:	48 8b 10             	mov    (%rax),%rdx
140171dc9:	48 85 d2             	test   %rdx,%rdx
140171dcc:	74 0e                	je     0x140171ddc
140171dce:	48 8b 41 50          	mov    0x50(%rcx),%rax
140171dd2:	44 39 00             	cmp    %r8d,(%rax)
140171dd5:	7e 05                	jle    0x140171ddc
140171dd7:	0f b7 02             	movzwl (%rdx),%eax
140171dda:	eb 10                	jmp    0x140171dec
140171ddc:	48 8b 01             	mov    (%rcx),%rax
140171ddf:	48 8b 40 30          	mov    0x30(%rax),%rax
140171de3:	ff 15 37 c8 08 00    	call   *0x8c837(%rip)        # 0x1401fe620
140171de9:	45 33 c0             	xor    %r8d,%r8d
140171dec:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140171df1:	66 3b c8             	cmp    %ax,%cx
140171df4:	74 06                	je     0x140171dfc
140171df6:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140171dfa:	eb 03                	jmp    0x140171dff
140171dfc:	4c 89 07             	mov    %r8,(%rdi)
140171dff:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140171e03:	66 44 39 67 0a       	cmp    %r12w,0xa(%rdi)
140171e08:	0f 85 b7 00 00 00    	jne    0x140171ec5
140171e0e:	48 8b 4d 9f          	mov    -0x61(%rbp),%rcx
140171e12:	49 3b cd             	cmp    %r13,%rcx
140171e15:	73 1a                	jae    0x140171e31
140171e17:	48 8d 41 01          	lea    0x1(%rcx),%rax
140171e1b:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
140171e1f:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140171e23:	45 84 f6             	test   %r14b,%r14b
140171e26:	49 0f 45 c7          	cmovne %r15,%rax
140171e2a:	66 83 24 08 00       	andw   $0x0,(%rax,%rcx,1)
140171e2f:	eb 16                	jmp    0x140171e47
140171e31:	45 33 c9             	xor    %r9d,%r9d
140171e34:	44 8a c3             	mov    %bl,%r8b
140171e37:	41 8d 51 01          	lea    0x1(%r9),%edx
140171e3b:	48 8d 4d 8f          	lea    -0x71(%rbp),%rcx
140171e3f:	e8 e4 6e ff ff       	call   0x140168d28
140171e44:	45 33 c0             	xor    %r8d,%r8d
140171e47:	48 ff c6             	inc    %rsi
140171e4a:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140171e4f:	4c 8b 7d 8f          	mov    -0x71(%rbp),%r15
140171e53:	4c 8b 6d a7          	mov    -0x59(%rbp),%r13
140171e57:	48 8b 0f             	mov    (%rdi),%rcx
140171e5a:	48 85 c9             	test   %rcx,%rcx
140171e5d:	74 46                	je     0x140171ea5
140171e5f:	48 8b 41 38          	mov    0x38(%rcx),%rax
140171e63:	4c 39 00             	cmp    %r8,(%rax)
140171e66:	74 1e                	je     0x140171e86
140171e68:	48 8b 41 50          	mov    0x50(%rcx),%rax
140171e6c:	44 39 00             	cmp    %r8d,(%rax)
140171e6f:	7e 15                	jle    0x140171e86
140171e71:	ff 08                	decl   (%rax)
140171e73:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140171e77:	48 8b 11             	mov    (%rcx),%rdx
140171e7a:	48 8d 42 02          	lea    0x2(%rdx),%rax
140171e7e:	48 89 01             	mov    %rax,(%rcx)
140171e81:	0f b7 02             	movzwl (%rdx),%eax
140171e84:	eb 10                	jmp    0x140171e96
140171e86:	48 8b 01             	mov    (%rcx),%rax
140171e89:	48 8b 40 38          	mov    0x38(%rax),%rax
140171e8d:	ff 15 8d c7 08 00    	call   *0x8c78d(%rip)        # 0x1401fe620
140171e93:	45 33 c0             	xor    %r8d,%r8d
140171e96:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140171e9b:	66 3b c8             	cmp    %ax,%cx
140171e9e:	74 05                	je     0x140171ea5
140171ea0:	41 8a c0             	mov    %r8b,%al
140171ea3:	eb 05                	jmp    0x140171eaa
140171ea5:	4c 89 07             	mov    %r8,(%rdi)
140171ea8:	b0 01                	mov    $0x1,%al
140171eaa:	88 47 08             	mov    %al,0x8(%rdi)
140171ead:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140171eb2:	48 8b cf             	mov    %rdi,%rcx
140171eb5:	e8 56 05 01 00       	call   0x140182410
140171eba:	45 33 c0             	xor    %r8d,%r8d
140171ebd:	84 c0                	test   %al,%al
140171ebf:	0f 84 ee fd ff ff    	je     0x140171cb3
140171ec5:	33 db                	xor    %ebx,%ebx
140171ec7:	48 85 f6             	test   %rsi,%rsi
140171eca:	74 14                	je     0x140171ee0
140171ecc:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140171ed0:	49 83 fd 10          	cmp    $0x10,%r13
140171ed4:	49 0f 43 c7          	cmovae %r15,%rax
140171ed8:	38 1c 30             	cmp    %bl,(%rax,%rsi,1)
140171edb:	7e 4e                	jle    0x140171f2b
140171edd:	48 ff c6             	inc    %rsi
140171ee0:	45 33 c0             	xor    %r8d,%r8d
140171ee3:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140171ee8:	48 85 f6             	test   %rsi,%rsi
140171eeb:	74 4a                	je     0x140171f37
140171eed:	8a 0b                	mov    (%rbx),%cl
140171eef:	80 f9 7f             	cmp    $0x7f,%cl
140171ef2:	74 43                	je     0x140171f37
140171ef4:	48 83 ee 01          	sub    $0x1,%rsi
140171ef8:	74 11                	je     0x140171f0b
140171efa:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140171efe:	49 83 fd 10          	cmp    $0x10,%r13
140171f02:	49 0f 43 c7          	cmovae %r15,%rax
140171f06:	3a 0c 30             	cmp    (%rax,%rsi,1),%cl
140171f09:	75 27                	jne    0x140171f32
140171f0b:	48 85 f6             	test   %rsi,%rsi
140171f0e:	75 10                	jne    0x140171f20
140171f10:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140171f14:	49 83 fd 10          	cmp    $0x10,%r13
140171f18:	49 0f 43 c7          	cmovae %r15,%rax
140171f1c:	3a 08                	cmp    (%rax),%cl
140171f1e:	7c 12                	jl     0x140171f32
140171f20:	44 38 43 01          	cmp    %r8b,0x1(%rbx)
140171f24:	7e c2                	jle    0x140171ee8
140171f26:	48 ff c3             	inc    %rbx
140171f29:	eb bd                	jmp    0x140171ee8
140171f2b:	c6 44 24 31 01       	movb   $0x1,0x31(%rsp)
140171f30:	eb 07                	jmp    0x140171f39
140171f32:	c6 44 24 31 01       	movb   $0x1,0x31(%rsp)
140171f37:	33 db                	xor    %ebx,%ebx