140896885:	84 c0                	test   %al,%al
140896887:	79 15                	jns    0x14089689e
140896889:	0f b6 01             	movzbl (%rcx),%eax
14089688c:	48 ff c1             	inc    %rcx
14089688f:	8b d1                	mov    %ecx,%edx
140896891:	84 c0                	test   %al,%al
140896893:	79 09                	jns    0x14089689e
140896895:	48 8d 41 01          	lea    0x1(%rcx),%rax
140896899:	48 8b c8             	mov    %rax,%rcx
14089689c:	8b d0                	mov    %eax,%edx
14089689e:	0f b7 5f 0e          	movzwl 0xe(%rdi),%ebx
1408968a2:	44 3b d3             	cmp    %ebx,%r10d
1408968a5:	77 2b                	ja     0x1408968d2
1408968a7:	41 2b d3             	sub    %r11d,%edx
1408968aa:	44 03 d2             	add    %edx,%r10d
1408968ad:	41 83 fa 04          	cmp    $0x4,%r10d
1408968b1:	73 10                	jae    0x1408968c3
1408968b3:	b8 04 00 00 00       	mov    $0x4,%eax
1408968b8:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1408968bd:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
1408968c2:	c3                   	ret
1408968c3:	41 0f b7 c2          	movzwl %r10w,%eax
1408968c7:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1408968cc:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
1408968d1:	c3                   	ret
1408968d2:	44 0f b7 4f 10       	movzwl 0x10(%rdi),%r9d
1408968d7:	48 8b 57 48          	mov    0x48(%rdi),%rdx
1408968db:	45 2b d1             	sub    %r9d,%r10d
1408968de:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
1408968e3:	41 8b c2             	mov    %r10d,%eax
1408968e6:	44 8b 42 38          	mov    0x38(%rdx),%r8d
1408968ea:	33 d2                	xor    %edx,%edx
1408968ec:	41 83 e8 04          	sub    $0x4,%r8d
1408968f0:	41 f7 f0             	div    %r8d
1408968f3:	41 03 d1             	add    %r9d,%edx
1408968f6:	3b d3                	cmp    %ebx,%edx
1408968f8:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1408968fd:	41 0f 47 d1          	cmova  %r9d,%edx
140896901:	66 41 2b cb          	sub    %r11w,%cx
140896905:	0f b7 c1             	movzwl %cx,%eax
140896908:	83 c2 04             	add    $0x4,%edx
14089690b:	03 c2                	add    %edx,%eax
14089690d:	c3                   	ret
14089690e:	cc                   	int3
14089690f:	cc                   	int3
140896910:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140896915:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14089691a:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14089691f:	53                   	push   %rbx
140896920:	48 83 ec 30          	sub    $0x30,%rsp
140896924:	8b 41 1c             	mov    0x1c(%rcx),%eax
140896927:	48 8b d9             	mov    %rcx,%rbx
14089692a:	85 c0                	test   %eax,%eax
14089692c:	0f 84 8d 00 00 00    	je     0x1408969bf
140896932:	ff 41 20             	incl   0x20(%rcx)
140896935:	ff c8                	dec    %eax
140896937:	83 79 50 00          	cmpl   $0x0,0x50(%rcx)
14089693b:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140896940:	48 8d 74 24 50       	lea    0x50(%rsp),%rsi
140896945:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14089694a:	89 41 1c             	mov    %eax,0x1c(%rcx)
14089694d:	74 2e                	je     0x14089697d
14089694f:	8b 49 50             	mov    0x50(%rcx),%ecx
140896952:	8d 51 01             	lea    0x1(%rcx),%edx
140896955:	3b 53 48             	cmp    0x48(%rbx),%edx
140896958:	72 18                	jb     0x140896972
14089695a:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140896960:	48 8d 15 05 ff 71 00 	lea    0x71ff05(%rip),%rdx        # 0x140fb686c
140896967:	48 8d 4b 38          	lea    0x38(%rbx),%rcx
14089696b:	e8 70 90 00 00       	call   0x14089f9e0
140896970:	eb 0b                	jmp    0x14089697d
140896972:	48 8b 43 40          	mov    0x40(%rbx),%rax
140896976:	89 53 50             	mov    %edx,0x50(%rbx)
140896979:	c6 04 01 0a          	movb   $0xa,(%rcx,%rax,1)
14089697d:	48 8b 53 28          	mov    0x28(%rbx),%rdx
140896981:	48 85 d2             	test   %rdx,%rdx
140896984:	74 11                	je     0x140896997
140896986:	44 8b 4b 34          	mov    0x34(%rbx),%r9d
14089698a:	48 8d 4b 38          	lea    0x38(%rbx),%rcx
14089698e:	44 8b 43 30          	mov    0x30(%rbx),%r8d
140896992:	e8 59 d1 fd ff       	call   0x140873af0
140896997:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
14089699c:	48 8d 4b 38          	lea    0x38(%rbx),%rcx
1408969a0:	4c 8b c6             	mov    %rsi,%r8
1408969a3:	e8 78 d1 fd ff       	call   0x140873b20
1408969a8:	80 7b 54 07          	cmpb   $0x7,0x54(%rbx)
1408969ac:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
1408969b1:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
1408969b6:	75 07                	jne    0x1408969bf
1408969b8:	c7 43 24 01 00 00 00 	movl   $0x1,0x24(%rbx)
1408969bf:	48 83 c4 30          	add    $0x30,%rsp
1408969c3:	5b                   	pop    %rbx
1408969c4:	c3                   	ret
1408969c5:	cc                   	int3
1408969c6:	cc                   	int3
1408969c7:	cc                   	int3
1408969c8:	cc                   	int3
1408969c9:	cc                   	int3
1408969ca:	cc                   	int3
1408969cb:	cc                   	int3
1408969cc:	cc                   	int3
1408969cd:	cc                   	int3
1408969ce:	cc                   	int3
1408969cf:	cc                   	int3
1408969d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1408969d5:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1408969da:	56                   	push   %rsi
1408969db:	57                   	push   %rdi
1408969dc:	41 54                	push   %r12
1408969de:	41 55                	push   %r13
1408969e0:	41 56                	push   %r14
1408969e2:	41 57                	push   %r15
1408969e4:	4c 8b e2             	mov    %rdx,%r12
1408969e7:	4c 8b e9             	mov    %rcx,%r13
1408969ea:	48 85 c9             	test   %rcx,%rcx
1408969ed:	0f 84 aa 00 00 00    	je     0x140896a9d
1408969f3:	48 85 d2             	test   %rdx,%rdx
1408969f6:	0f 84 a1 00 00 00    	je     0x140896a9d
1408969fc:	48 63 02             	movslq (%rdx),%rax
1408969ff:	85 c0                	test   %eax,%eax
140896a01:	7e 62                	jle    0x140896a65
140896a03:	4c 63 39             	movslq (%rcx),%r15
140896a06:	33 ed                	xor    %ebp,%ebp
140896a08:	45 33 f6             	xor    %r14d,%r14d
140896a0b:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140896a10:	4c 8b c0             	mov    %rax,%r8
140896a13:	33 db                	xor    %ebx,%ebx
140896a15:	45 33 d2             	xor    %r10d,%r10d
140896a18:	45 85 ff             	test   %r15d,%r15d
140896a1b:	7e 3c                	jle    0x140896a59
140896a1d:	4b 8b 74 26 10       	mov    0x10(%r14,%r12,1),%rsi
140896a22:	4d 8d 5d 08          	lea    0x8(%r13),%r11
140896a26:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140896a2d:	00 00 00
140896a30:	49 8b 03             	mov    (%r11),%rax
140896a33:	4c 8b ce             	mov    %rsi,%r9
140896a36:	4c 2b c8             	sub    %rax,%r9
140896a39:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140896a40:	0f b6 10             	movzbl (%rax),%edx
140896a43:	41 0f b6 0c 01       	movzbl (%r9,%rax,1),%ecx
140896a48:	3b d1                	cmp    %ecx,%edx
140896a4a:	75 1d                	jne    0x140896a69
140896a4c:	85 d2                	test   %edx,%edx
140896a4e:	75 38                	jne    0x140896a88
140896a50:	85 db                	test   %ebx,%ebx
140896a52:	79 49                	jns    0x140896a9d
140896a54:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140896a59:	48 ff c5             	inc    %rbp
140896a5c:	49 83 c6 20          	add    $0x20,%r14
140896a60:	49 3b e8             	cmp    %r8,%rbp
140896a63:	7c ae                	jl     0x140896a13
140896a65:	33 c0                	xor    %eax,%eax
140896a67:	eb 39                	jmp    0x140896aa2
140896a69:	4c 8d 05 b0 12 7b 00 	lea    0x7b12b0(%rip),%r8        # 0x141047d20
140896a70:	46 0f b6 04 01       	movzbl (%rcx,%r8,1),%r8d
140896a75:	48 8b ca             	mov    %rdx,%rcx
140896a78:	48 8d 15 a1 12 7b 00 	lea    0x7b12a1(%rip),%rdx        # 0x141047d20
140896a7f:	0f b6 14 11          	movzbl (%rcx,%rdx,1),%edx
140896a83:	41 3b d0             	cmp    %r8d,%edx
140896a86:	75 05                	jne    0x140896a8d
140896a88:	48 ff c0             	inc    %rax
140896a8b:	eb b3                	jmp    0x140896a40
140896a8d:	ff c3                	inc    %ebx
140896a8f:	49 ff c2             	inc    %r10
140896a92:	49 83 c3 10          	add    $0x10,%r11
140896a96:	4d 3b d7             	cmp    %r15,%r10
140896a99:	7c 95                	jl     0x140896a30
140896a9b:	eb b7                	jmp    0x140896a54
140896a9d:	b8 01 00 00 00       	mov    $0x1,%eax
140896aa2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140896aa7:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140896aac:	41 5f                	pop    %r15
140896aae:	41 5e                	pop    %r14
140896ab0:	41 5d                	pop    %r13
140896ab2:	41 5c                	pop    %r12
140896ab4:	5f                   	pop    %rdi
140896ab5:	5e                   	pop    %rsi
140896ab6:	c3                   	ret
140896ab7:	cc                   	int3
140896ab8:	cc                   	int3
140896ab9:	cc                   	int3
140896aba:	cc                   	int3
140896abb:	cc                   	int3
140896abc:	cc                   	int3
140896abd:	cc                   	int3
140896abe:	cc                   	int3
140896abf:	cc                   	int3
140896ac0:	80 3a a7             	cmpb   $0xa7,(%rdx)
140896ac3:	75 24                	jne    0x140896ae9
140896ac5:	48 0f bf 42 30       	movswq 0x30(%rdx),%rax
140896aca:	66 85 c0             	test   %ax,%ax
140896acd:	78 15                	js     0x140896ae4
140896acf:	48 8b d0             	mov    %rax,%rdx
140896ad2:	48 8b 41 28          	mov    0x28(%rcx),%rax
140896ad6:	83 3c 90 00          	cmpl   $0x0,(%rax,%rdx,4)
140896ada:	7c 0d                	jl     0x140896ae9
140896adc:	66 83 49 24 01       	orw    $0x1,0x24(%rcx)
140896ae1:	33 c0                	xor    %eax,%eax
140896ae3:	c3                   	ret
140896ae4:	66 83 49 24 02       	orw    $0x2,0x24(%rcx)
140896ae9:	33 c0                	xor    %eax,%eax
140896aeb:	c3                   	ret
140896aec:	cc                   	int3
140896aed:	cc                   	int3
140896aee:	cc                   	int3
140896aef:	cc                   	int3
140896af0:	40 53                	rex push %rbx
140896af2:	41 55                	push   %r13
140896af4:	41 57                	push   %r15
140896af6:	48 83 ec 50          	sub    $0x50,%rsp
140896afa:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140896aff:	48 8b d9             	mov    %rcx,%rbx
140896b02:	8b 49 20             	mov    0x20(%rcx),%ecx
140896b05:	41 8b c1             	mov    %r9d,%eax
140896b08:	89 84 24 80 00 00 00 	mov    %eax,0x80(%rsp)
140896b0f:	45 8b f9             	mov    %r9d,%r15d
140896b12:	89 8c 24 88 00 00 00 	mov    %ecx,0x88(%rsp)
140896b19:	41 8b f8             	mov    %r8d,%edi
140896b1c:	44 8b ea             	mov    %edx,%r13d
140896b1f:	45 85 c0             	test   %r8d,%r8d
140896b22:	0f 84 c1 01 00 00    	je     0x140896ce9
140896b28:	48 89 6c 24 78       	mov    %rbp,0x78(%rsp)
140896b2d:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
140896b32:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140896b37:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140896b3c:	0f 1f 40 00          	nopl   0x0(%rax)
140896b40:	83 7b 1c 00          	cmpl   $0x0,0x1c(%rbx)
140896b44:	0f 84 7d 01 00 00    	je     0x140896cc7
140896b4a:	8b d7                	mov    %edi,%edx
140896b4c:	48 8b cb             	mov    %rbx,%rcx
140896b4f:	e8 8c 02 00 00       	call   0x140896de0
140896b54:	85 c0                	test   %eax,%eax
140896b56:	0f 85 6b 01 00 00    	jne    0x140896cc7
140896b5c:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140896b60:	4c 8d 44 24 70       	lea    0x70(%rsp),%r8
140896b65:	45 33 c9             	xor    %r9d,%r9d
140896b68:	8b d7                	mov    %edi,%edx
140896b6a:	41 ff cf             	dec    %r15d
140896b6d:	48 8b 81 10 01 00 00 	mov    0x110(%rcx),%rax
140896b74:	ff 15 a6 ce 6e 00    	call   *0x6ecea6(%rip)        # 0x140f83a20
140896b7a:	85 c0                	test   %eax,%eax
140896b7c:	0f 85 33 01 00 00    	jne    0x140896cb5
140896b82:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140896b87:	4c 8b 60 08          	mov    0x8(%rax),%r12
140896b8b:	48 8b 03             	mov    (%rbx),%rax
140896b8e:	45 85 ed             	test   %r13d,%r13d
140896b91:	0f 84 8f 00 00 00    	je     0x140896c26
140896b97:	80 78 21 00          	cmpb   $0x0,0x21(%rax)
140896b9b:	45 8b 74 24 04       	mov    0x4(%r12),%r14d
140896ba0:	41 0f ce             	bswap  %r14d
140896ba3:	74 10                	je     0x140896bb5
140896ba5:	45 33 c9             	xor    %r9d,%r9d
140896ba8:	41 b0 02             	mov    $0x2,%r8b
140896bab:	8b d7                	mov    %edi,%edx
140896bad:	48 8b cb             	mov    %rbx,%rcx
140896bb0:	e8 7b 01 00 00       	call   0x140896d30
140896bb5:	48 8b 03             	mov    (%rbx),%rax
140896bb8:	8b 48 38             	mov    0x38(%rax),%ecx
140896bbb:	c1 e9 02             	shr    $0x2,%ecx
140896bbe:	83 e9 02             	sub    $0x2,%ecx
140896bc1:	44 3b f1             	cmp    %ecx,%r14d
140896bc4:	76 17                	jbe    0x140896bdd
140896bc6:	44 8b c7             	mov    %edi,%r8d
140896bc9:	48 8d 15 18 86 7b 00 	lea    0x7b8618(%rip),%rdx        # 0x14104f1e8
140896bd0:	48 8b cb             	mov    %rbx,%rcx
140896bd3:	e8 38 fd ff ff       	call   0x140896910
140896bd8:	41 ff cf             	dec    %r15d
140896bdb:	eb 68                	jmp    0x140896c45
140896bdd:	45 85 f6             	test   %r14d,%r14d
140896be0:	7e 3f                	jle    0x140896c21
140896be2:	49 8d 74 24 08       	lea    0x8(%r12),%rsi
140896be7:	41 8b ee             	mov    %r14d,%ebp
140896bea:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140896bf0:	48 8b 03             	mov    (%rbx),%rax
140896bf3:	8b 3e                	mov    (%rsi),%edi
140896bf5:	0f cf                	bswap  %edi
140896bf7:	80 78 21 00          	cmpb   $0x0,0x21(%rax)
140896bfb:	74 10                	je     0x140896c0d
140896bfd:	45 33 c9             	xor    %r9d,%r9d
140896c00:	41 b0 02             	mov    $0x2,%r8b
140896c03:	8b d7                	mov    %edi,%edx
140896c05:	48 8b cb             	mov    %rbx,%rcx
140896c08:	e8 23 01 00 00       	call   0x140896d30
140896c0d:	8b d7                	mov    %edi,%edx
140896c0f:	48 8b cb             	mov    %rbx,%rcx
140896c12:	e8 c9 01 00 00       	call   0x140896de0
140896c17:	48 83 c6 04          	add    $0x4,%rsi
140896c1b:	48 83 ed 01          	sub    $0x1,%rbp
140896c1f:	75 cf                	jne    0x140896bf0
140896c21:	45 2b fe             	sub    %r14d,%r15d
140896c24:	eb 1f                	jmp    0x140896c45
140896c26:	80 78 21 00          	cmpb   $0x0,0x21(%rax)
140896c2a:	74 19                	je     0x140896c45
140896c2c:	45 85 ff             	test   %r15d,%r15d
140896c2f:	74 14                	je     0x140896c45
140896c31:	41 8b 14 24          	mov    (%r12),%edx
140896c35:	44 8b cf             	mov    %edi,%r9d
140896c38:	0f ca                	bswap  %edx
140896c3a:	41 b0 04             	mov    $0x4,%r8b
140896c3d:	48 8b cb             	mov    %rbx,%rcx
140896c40:	e8 eb 00 00 00       	call   0x140896d30
140896c45:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
140896c4a:	41 8b 3c 24          	mov    (%r12),%edi
140896c4e:	0f cf                	bswap  %edi
140896c50:	4d 85 c0             	test   %r8,%r8
140896c53:	74 56                	je     0x140896cab
140896c55:	41 f6 40 34 20       	testb  $0x20,0x34(%r8)
140896c5a:	74 45                	je     0x140896ca1
140896c5c:	4d 8b 50 28          	mov    0x28(%r8),%r10
140896c60:	41 ff 8a 98 00 00 00 	decl   0x98(%r10)
140896c67:	49 8b 82 a8 00 00 00 	mov    0xa8(%r10),%rax
140896c6e:	49 89 40 20          	mov    %rax,0x20(%r8)
140896c72:	49 8b 4a 48          	mov    0x48(%r10),%rcx
140896c76:	4d 89 82 a8 00 00 00 	mov    %r8,0xa8(%r10)
140896c7d:	41 8b 50 30          	mov    0x30(%r8),%edx
140896c81:	4d 8b 40 08          	mov    0x8(%r8),%r8
140896c85:	ff ca                	dec    %edx
140896c87:	4c 8b 09             	mov    (%rcx),%r9
140896c8a:	49 0f af 92 c8 00 00 	imul   0xc8(%r10),%rdx
140896c91:	00
140896c92:	49 8b 81 90 00 00 00 	mov    0x90(%r9),%rax
140896c99:	ff 15 81 cd 6e 00    	call   *0x6ecd81(%rip)        # 0x140f83a20
140896c9f:	eb 0a                	jmp    0x140896cab
140896ca1:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
140896ca6:	e8 25 ae 05 00       	call   0x1408f1ad0
140896cab:	85 ff                	test   %edi,%edi
140896cad:	0f 85 8d fe ff ff    	jne    0x140896b40
140896cb3:	eb 12                	jmp    0x140896cc7
140896cb5:	44 8b c7             	mov    %edi,%r8d
140896cb8:	48 8d 15 11 85 7b 00 	lea    0x7b8511(%rip),%rdx        # 0x14104f1d0
140896cbf:	48 8b cb             	mov    %rbx,%rcx
140896cc2:	e8 49 fc ff ff       	call   0x140896910
140896cc7:	8b 8c 24 88 00 00 00 	mov    0x88(%rsp),%ecx
140896cce:	8b 84 24 80 00 00 00 	mov    0x80(%rsp),%eax
140896cd5:	4c 8b 64 24 38       	mov    0x38(%rsp),%r12
140896cda:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
140896cdf:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140896ce4:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140896ce9:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140896cee:	45 85 ff             	test   %r15d,%r15d
140896cf1:	74 33                	je     0x140896d26
140896cf3:	3b 4b 20             	cmp    0x20(%rbx),%ecx
140896cf6:	75 2e                	jne    0x140896d26
140896cf8:	44 8b c8             	mov    %eax,%r9d
140896cfb:	89 44 24 20          	mov    %eax,0x20(%rsp)
140896cff:	45 2b cf             	sub    %r15d,%r9d
140896d02:	48 8d 0d cf 22 71 00 	lea    0x7122cf(%rip),%rcx        # 0x140fa8fd8
140896d09:	45 85 ed             	test   %r13d,%r13d
140896d0c:	4c 8d 05 fd 84 7b 00 	lea    0x7b84fd(%rip),%r8        # 0x14104f210
140896d13:	48 8d 15 0e 85 7b 00 	lea    0x7b850e(%rip),%rdx        # 0x14104f228