140896d1a:	4c 0f 45 c1          	cmovne %rcx,%r8
140896d1e:	48 8b cb             	mov    %rbx,%rcx
140896d21:	e8 ea fb ff ff       	call   0x140896910
140896d26:	48 83 c4 50          	add    $0x50,%rsp
140896d2a:	41 5f                	pop    %r15
140896d2c:	41 5d                	pop    %r13
140896d2e:	5b                   	pop    %rbx
140896d2f:	c3                   	ret
140896d30:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140896d35:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140896d3a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140896d3f:	57                   	push   %rdi
140896d40:	48 83 ec 50          	sub    $0x50,%rsp
140896d44:	41 8b f1             	mov    %r9d,%esi
140896d47:	41 0f b6 e8          	movzbl %r8b,%ebp
140896d4b:	48 8b d9             	mov    %rcx,%rbx
140896d4e:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140896d53:	48 8b 09             	mov    (%rcx),%rcx
140896d56:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
140896d5b:	8b fa                	mov    %edx,%edi
140896d5d:	e8 2e 65 02 00       	call   0x1408bd290
140896d62:	85 c0                	test   %eax,%eax
140896d64:	74 27                	je     0x140896d8d
140896d66:	83 f8 07             	cmp    $0x7,%eax
140896d69:	74 07                	je     0x140896d72
140896d6b:	3d 0a 0c 00 00       	cmp    $0xc0a,%eax
140896d70:	75 07                	jne    0x140896d79
140896d72:	c7 43 24 01 00 00 00 	movl   $0x1,0x24(%rbx)
140896d79:	44 8b c7             	mov    %edi,%r8d
140896d7c:	48 8d 15 f5 83 7b 00 	lea    0x7b83f5(%rip),%rdx        # 0x14104f178
140896d83:	48 8b cb             	mov    %rbx,%rcx
140896d86:	e8 85 fb ff ff       	call   0x140896910
140896d8b:	eb 33                	jmp    0x140896dc0
140896d8d:	0f b6 44 24 60       	movzbl 0x60(%rsp),%eax
140896d92:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
140896d96:	40 3a c5             	cmp    %bpl,%al
140896d99:	75 04                	jne    0x140896d9f
140896d9b:	3b ce                	cmp    %esi,%ecx
140896d9d:	74 21                	je     0x140896dc0
140896d9f:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
140896da3:	48 8d 15 ee 83 7b 00 	lea    0x7b83ee(%rip),%rdx        # 0x14104f198
140896daa:	89 44 24 28          	mov    %eax,0x28(%rsp)
140896dae:	48 8b cb             	mov    %rbx,%rcx
140896db1:	44 8b cd             	mov    %ebp,%r9d
140896db4:	89 74 24 20          	mov    %esi,0x20(%rsp)
140896db8:	44 8b c7             	mov    %edi,%r8d
140896dbb:	e8 50 fb ff ff       	call   0x140896910
140896dc0:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140896dc5:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140896dca:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140896dcf:	48 83 c4 50          	add    $0x50,%rsp
140896dd3:	5f                   	pop    %rdi
140896dd4:	c3                   	ret
140896dd5:	cc                   	int3
140896dd6:	cc                   	int3
140896dd7:	cc                   	int3
140896dd8:	cc                   	int3
140896dd9:	cc                   	int3
140896dda:	cc                   	int3
140896ddb:	cc                   	int3
140896ddc:	cc                   	int3
140896ddd:	cc                   	int3
140896dde:	cc                   	int3
140896ddf:	cc                   	int3
140896de0:	48 83 ec 28          	sub    $0x28,%rsp
140896de4:	4c 8b c9             	mov    %rcx,%r9
140896de7:	44 8b c2             	mov    %edx,%r8d
140896dea:	3b 51 18             	cmp    0x18(%rcx),%edx
140896ded:	77 65                	ja     0x140896e54
140896def:	85 d2                	test   %edx,%edx
140896df1:	74 61                	je     0x140896e54
140896df3:	48 8b 41 10          	mov    0x10(%rcx),%rax
140896df7:	45 8b d8             	mov    %r8d,%r11d
140896dfa:	41 83 e3 07          	and    $0x7,%r11d
140896dfe:	45 8b d0             	mov    %r8d,%r10d
140896e01:	49 c1 ea 03          	shr    $0x3,%r10
140896e05:	41 8b cb             	mov    %r11d,%ecx
140896e08:	ba 01 00 00 00       	mov    $0x1,%edx
140896e0d:	d3 e2                	shl    %cl,%edx
140896e0f:	41 84 14 02          	test   %dl,(%r10,%rax,1)
140896e13:	74 19                	je     0x140896e2e
140896e15:	48 8d 15 3c 83 7b 00 	lea    0x7b833c(%rip),%rdx        # 0x14104f158
140896e1c:	49 8b c9             	mov    %r9,%rcx
140896e1f:	e8 ec fa ff ff       	call   0x140896910
140896e24:	b8 01 00 00 00       	mov    $0x1,%eax
140896e29:	48 83 c4 28          	add    $0x28,%rsp
140896e2d:	c3                   	ret
140896e2e:	49 8b 41 60          	mov    0x60(%r9),%rax
140896e32:	8b 88 98 01 00 00    	mov    0x198(%rax),%ecx
140896e38:	85 c9                	test   %ecx,%ecx
140896e3a:	75 24                	jne    0x140896e60
140896e3c:	49 8b 49 10          	mov    0x10(%r9),%rcx
140896e40:	42 0f b6 04 11       	movzbl (%rcx,%r10,1),%eax
140896e45:	44 0f ab d8          	bts    %r11d,%eax
140896e49:	42 88 04 11          	mov    %al,(%rcx,%r10,1)
140896e4d:	33 c0                	xor    %eax,%eax
140896e4f:	48 83 c4 28          	add    $0x28,%rsp
140896e53:	c3                   	ret
140896e54:	48 8d 15 e5 82 7b 00 	lea    0x7b82e5(%rip),%rdx        # 0x14104f140
140896e5b:	e8 b0 fa ff ff       	call   0x140896910
140896e60:	b8 01 00 00 00       	mov    $0x1,%eax
140896e65:	48 83 c4 28          	add    $0x28,%rsp
140896e69:	c3                   	ret
140896e6a:	cc                   	int3
140896e6b:	cc                   	int3
140896e6c:	cc                   	int3
140896e6d:	cc                   	int3
140896e6e:	cc                   	int3
140896e6f:	cc                   	int3
140896e70:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140896e75:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140896e7a:	89 54 24 10          	mov    %edx,0x10(%rsp)
140896e7e:	53                   	push   %rbx
140896e7f:	55                   	push   %rbp
140896e80:	56                   	push   %rsi
140896e81:	57                   	push   %rdi
140896e82:	41 54                	push   %r12
140896e84:	41 55                	push   %r13
140896e86:	41 57                	push   %r15
140896e88:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
140896e8f:	48 8b 41 28          	mov    0x28(%rcx),%rax
140896e93:	bf 01 00 00 00       	mov    $0x1,%edi
140896e98:	4c 8b 39             	mov    (%rcx),%r15
140896e9b:	45 33 ed             	xor    %r13d,%r13d
140896e9e:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
140896ea5:	00
140896ea6:	44 8b e2             	mov    %edx,%r12d
140896ea9:	8b 41 30             	mov    0x30(%rcx),%eax
140896eac:	48 8b f1             	mov    %rcx,%rsi
140896eaf:	89 44 24 64          	mov    %eax,0x64(%rsp)
140896eb3:	8b ef                	mov    %edi,%ebp
140896eb5:	8b 41 34             	mov    0x34(%rcx),%eax
140896eb8:	41 8b dd             	mov    %r13d,%ebx
140896ebb:	89 44 24 68          	mov    %eax,0x68(%rsp)
140896ebf:	41 8b 47 38          	mov    0x38(%r15),%eax
140896ec3:	89 44 24 38          	mov    %eax,0x38(%rsp)
140896ec7:	c7 44 24 3c ff ff ff 	movl   $0xffffffff,0x3c(%rsp)
140896ece:	ff
140896ecf:	89 7c 24 30          	mov    %edi,0x30(%rsp)
140896ed3:	89 7c 24 34          	mov    %edi,0x34(%rsp)
140896ed7:	4c 89 7c 24 78       	mov    %r15,0x78(%rsp)
140896edc:	85 d2                	test   %edx,%edx
140896ede:	0f 84 69 07 00 00    	je     0x14089764d
140896ee4:	e8 f7 fe ff ff       	call   0x140896de0
140896ee9:	85 c0                	test   %eax,%eax
140896eeb:	0f 85 5c 07 00 00    	jne    0x14089764d
140896ef1:	44 89 66 30          	mov    %r12d,0x30(%rsi)
140896ef5:	48 8d 05 4c 83 7b 00 	lea    0x7b834c(%rip),%rax        # 0x14104f248
140896efc:	48 89 46 28          	mov    %rax,0x28(%rsi)
140896f00:	4c 8d 84 24 98 00 00 	lea    0x98(%rsp),%r8
140896f07:	00
140896f08:	49 8b 0f             	mov    (%r15),%rcx
140896f0b:	45 33 c9             	xor    %r9d,%r9d
140896f0e:	41 8b d4             	mov    %r12d,%edx
140896f11:	48 8b 81 10 01 00 00 	mov    0x110(%rcx),%rax
140896f18:	ff 15 02 cb 6e 00    	call   *0x6ecb02(%rip)        # 0x140f83a20
140896f1e:	85 c0                	test   %eax,%eax
140896f20:	74 17                	je     0x140896f39
140896f22:	44 8b c0             	mov    %eax,%r8d
140896f25:	48 8d 15 2c 83 7b 00 	lea    0x7b832c(%rip),%rdx        # 0x14104f258
140896f2c:	48 8b ce             	mov    %rsi,%rcx
140896f2f:	e8 dc f9 ff ff       	call   0x140896910
140896f34:	e9 f2 06 00 00       	jmp    0x14089762b
140896f39:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
140896f40:	00
140896f41:	4c 89 b4 24 c8 00 00 	mov    %r14,0xc8(%rsp)
140896f48:	00
140896f49:	4c 8b 71 10          	mov    0x10(%rcx),%r14
140896f4d:	45 3b 66 04          	cmp    0x4(%r14),%r12d
140896f51:	74 26                	je     0x140896f79
140896f53:	48 8b 41 08          	mov    0x8(%rcx),%rax
140896f57:	44 3b e7             	cmp    %edi,%r12d
140896f5a:	49 89 46 50          	mov    %rax,0x50(%r14)
140896f5e:	41 8b c5             	mov    %r13d,%eax
140896f61:	49 89 4e 70          	mov    %rcx,0x70(%r14)
140896f65:	b9 64 00 00 00       	mov    $0x64,%ecx
140896f6a:	0f 44 c1             	cmove  %ecx,%eax
140896f6d:	4d 89 7e 48          	mov    %r15,0x48(%r14)
140896f71:	41 88 46 09          	mov    %al,0x9(%r14)
140896f75:	45 89 66 04          	mov    %r12d,0x4(%r14)
140896f79:	41 0f b6 06          	movzbl (%r14),%eax
140896f7d:	49 8b ce             	mov    %r14,%rcx
140896f80:	88 84 24 10 01 00 00 	mov    %al,0x110(%rsp)
140896f87:	41 88 1e             	mov    %bl,(%r14)
140896f8a:	e8 41 e4 ff ff       	call   0x1408953d0
140896f8f:	85 c0                	test   %eax,%eax
140896f91:	74 17                	je     0x140896faa
140896f93:	44 8b c0             	mov    %eax,%r8d
140896f96:	48 8d 15 e3 82 7b 00 	lea    0x7b82e3(%rip),%rdx        # 0x14104f280
140896f9d:	48 8b ce             	mov    %rsi,%rcx
140896fa0:	e8 6b f9 ff ff       	call   0x140896910
140896fa5:	e9 1c 06 00 00       	jmp    0x1408975c6
140896faa:	49 8b ce             	mov    %r14,%rcx
140896fad:	e8 1e d7 ff ff       	call   0x1408946d0
140896fb2:	85 c0                	test   %eax,%eax
140896fb4:	74 17                	je     0x140896fcd
140896fb6:	44 8b c0             	mov    %eax,%r8d
140896fb9:	48 8d 15 e8 82 7b 00 	lea    0x7b82e8(%rip),%rdx        # 0x14104f2a8
140896fc0:	48 8b ce             	mov    %rsi,%rcx
140896fc3:	e8 48 f9 ff ff       	call   0x140896910
140896fc8:	e9 f9 05 00 00       	jmp    0x1408975c6
140896fcd:	4d 8b 4e 50          	mov    0x50(%r14),%r9
140896fd1:	48 8d 05 e8 82 7b 00 	lea    0x7b82e8(%rip),%rax        # 0x14104f2c0
140896fd8:	45 0f b6 56 09       	movzbl 0x9(%r14),%r10d
140896fdd:	48 89 46 28          	mov    %rax,0x28(%rsi)
140896fe1:	41 0f b6 56 08       	movzbl 0x8(%r14),%edx
140896fe6:	4c 89 4c 24 50       	mov    %r9,0x50(%rsp)
140896feb:	43 0f b6 44 0a 06    	movzbl 0x6(%r10,%r9,1),%eax
140896ff1:	43 0f b6 4c 0a 05    	movzbl 0x5(%r10,%r9,1),%ecx
140896ff7:	47 0f b6 64 11 04    	movzbl 0x4(%r9,%r10,1),%r12d
140896ffd:	c1 e1 08             	shl    $0x8,%ecx
140897000:	0b c8                	or     %eax,%ecx
140897002:	4c 89 94 24 a8 00 00 	mov    %r10,0xa8(%rsp)
140897009:	00
14089700a:	ff c9                	dec    %ecx
14089700c:	0f b7 c1             	movzwl %cx,%eax
14089700f:	b9 03 00 00 00       	mov    $0x3,%ecx
140897014:	89 44 24 40          	mov    %eax,0x40(%rsp)
140897018:	2b ca                	sub    %edx,%ecx
14089701a:	44 8d 40 01          	lea    0x1(%rax),%r8d
14089701e:	43 0f b6 44 11 03    	movzbl 0x3(%r9,%r10,1),%eax
140897024:	c1 e0 08             	shl    $0x8,%eax
140897027:	44 0b e0             	or     %eax,%r12d
14089702a:	44 89 44 24 48       	mov    %r8d,0x48(%rsp)
14089702f:	49 8d 46 08          	lea    0x8(%r14),%rax
140897033:	44 89 64 24 5c       	mov    %r12d,0x5c(%rsp)
140897038:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
14089703f:	00
140897040:	41 8d 04 8a          	lea    (%r10,%rcx,4),%eax
140897044:	89 44 24 60          	mov    %eax,0x60(%rsp)
140897048:	42 8d 04 60          	lea    (%rax,%r12,2),%eax
14089704c:	83 c0 fe             	add    $0xfffffffe,%eax
14089704f:	48 63 c8             	movslq %eax,%rcx
140897052:	49 03 c9             	add    %r9,%rcx
140897055:	48 89 4c 24 70       	mov    %rcx,0x70(%rsp)
14089705a:	84 d2                	test   %dl,%dl
14089705c:	75 68                	jne    0x1408970c6
14089705e:	43 8b 7c 11 08       	mov    0x8(%r9,%r10,1),%edi
140897063:	0f cf                	bswap  %edi
140897065:	41 38 5f 21          	cmp    %bl,0x21(%r15)
140897069:	74 20                	je     0x14089708b
14089706b:	44 8b 8c 24 18 01 00 	mov    0x118(%rsp),%r9d
140897072:	00
140897073:	48 8d 05 66 82 7b 00 	lea    0x7b8266(%rip),%rax        # 0x14104f2e0
14089707a:	41 b0 05             	mov    $0x5,%r8b
14089707d:	48 89 46 28          	mov    %rax,0x28(%rsi)
140897081:	8b d7                	mov    %edi,%edx
140897083:	48 8b ce             	mov    %rsi,%rcx
140897086:	e8 a5 fc ff ff       	call   0x140896d30
14089708b:	4c 8b 8c 24 28 01 00 	mov    0x128(%rsp),%r9
140897092:	00
140897093:	4c 8d 84 24 28 01 00 	lea    0x128(%rsp),%r8
14089709a:	00
14089709b:	8b d7                	mov    %edi,%edx
14089709d:	48 8b ce             	mov    %rsi,%rcx
1408970a0:	e8 cb fd ff ff       	call   0x140896e70
1408970a5:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1408970aa:	41 8b ed             	mov    %r13d,%ebp
1408970ad:	44 8b 44 24 48       	mov    0x48(%rsp),%r8d
1408970b2:	4c 8b 4c 24 50       	mov    0x50(%rsp),%r9
1408970b7:	8b 7c 24 30          	mov    0x30(%rsp),%edi
1408970bb:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
1408970bf:	44 89 6c 24 34       	mov    %r13d,0x34(%rsp)
1408970c4:	eb 07                	jmp    0x1408970cd
1408970c6:	48 8b 5e 58          	mov    0x58(%rsi),%rbx
1408970ca:	44 89 2b             	mov    %r13d,(%rbx)
1408970cd:	41 8d 44 24 ff       	lea    -0x1(%r12),%eax
1408970d2:	89 44 24 44          	mov    %eax,0x44(%rsp)
1408970d6:	85 c0                	test   %eax,%eax
1408970d8:	0f 88 0b 02 00 00    	js     0x1408972e9
1408970de:	44 8b 7c 24 38       	mov    0x38(%rsp),%r15d
1408970e3:	41 83 c7 fc          	add    $0xfffffffc,%r15d
1408970e7:	44 89 7c 24 58       	mov    %r15d,0x58(%rsp)
1408970ec:	0f 1f 40 00          	nopl   0x0(%rax)
1408970f0:	44 39 6e 1c          	cmp    %r13d,0x1c(%rsi)
1408970f4:	0f 84 ea 01 00 00    	je     0x1408972e4
1408970fa:	89 46 34             	mov    %eax,0x34(%rsi)
1408970fd:	0f b7 01             	movzwl (%rcx),%eax
140897100:	48 83 e9 02          	sub    $0x2,%rcx
140897104:	66 c1 c8 08          	ror    $0x8,%ax
140897108:	0f b7 f8             	movzwl %ax,%edi
14089710b:	41 8b c7             	mov    %r15d,%eax
14089710e:	48 89 4c 24 70       	mov    %rcx,0x70(%rsp)
140897113:	41 3b f8             	cmp    %r8d,%edi
140897116:	0f 82 de 02 00 00    	jb     0x1408973fa
14089711c:	41 3b ff             	cmp    %r15d,%edi
14089711f:	0f 87 d5 02 00 00    	ja     0x1408973fa
140897125:	49 8b 86 80 00 00 00 	mov    0x80(%r14),%rax
14089712c:	4d 8d 24 39          	lea    (%r9,%rdi,1),%r12
140897130:	49 8b d4             	mov    %r12,%rdx
140897133:	4c 8d 84 24 80 00 00 	lea    0x80(%rsp),%r8
14089713a:	00
14089713b:	49 8b ce             	mov    %r14,%rcx
14089713e:	ff 15 dc c8 6e 00    	call   *0x6ec8dc(%rip)        # 0x140f83a20
140897144:	44 0f b7 8c 24 96 00 	movzwl 0x96(%rsp),%r9d
14089714b:	00 00
14089714d:	8b 54 24 38          	mov    0x38(%rsp),%edx
140897151:	42 8d 04 0f          	lea    (%rdi,%r9,1),%eax
140897155:	3b c2                	cmp    %edx,%eax
140897157:	76 1c                	jbe    0x140897175
140897159:	48 8d 15 c0 81 7b 00 	lea    0x7b81c0(%rip),%rdx        # 0x14104f320
140897160:	48 8b ce             	mov    %rsi,%rcx
140897163:	e8 a8 f7 ff ff       	call   0x140896910
140897168:	41 8b fd             	mov    %r13d,%edi
14089716b:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
140897170:	e9 4f 01 00 00       	jmp    0x1408972c4
140897175:	45 38 6e 01          	cmp    %r13b,0x1(%r14)
140897179:	74 62                	je     0x1408971dd
14089717b:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
140897182:	00
140897183:	41 8b cd             	mov    %r13d,%ecx
140897186:	85 ed                	test   %ebp,%ebp
140897188:	74 0d                	je     0x140897197
14089718a:	48 3b 84 24 28 01 00 	cmp    0x128(%rsp),%rax
140897191:	00
140897192:	0f 9f c1             	setg   %cl
140897195:	eb 0b                	jmp    0x1408971a2
140897197:	48 3b 84 24 28 01 00 	cmp    0x128(%rsp),%rax
14089719e:	00
14089719f:	0f 9d c1             	setge  %cl
1408971a2:	85 c9                	test   %ecx,%ecx
1408971a4:	74 27                	je     0x1408971cd
1408971a6:	4c 8b c0             	mov    %rax,%r8
1408971a9:	48 8d 15 88 81 7b 00 	lea    0x7b8188(%rip),%rdx        # 0x14104f338
1408971b0:	48 8b ce             	mov    %rsi,%rcx
1408971b3:	e8 58 f7 ff ff       	call   0x140896910
1408971b8:	44 0f b7 8c 24 96 00 	movzwl 0x96(%rsp),%r9d
1408971bf:	00 00
1408971c1:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1408971c8:	00
1408971c9:	8b 54 24 38          	mov    0x38(%rsp),%edx
1408971cd:	48 89 84 24 28 01 00 	mov    %rax,0x128(%rsp)
1408971d4:	00
1408971d5:	41 8b ed             	mov    %r13d,%ebp
1408971d8:	44 89 6c 24 34       	mov    %r13d,0x34(%rsp)
1408971dd:	0f b7 8c 24 94 00 00 	movzwl 0x94(%rsp),%ecx
1408971e4:	00
1408971e5:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
1408971ec:	3b c1                	cmp    %ecx,%eax
1408971ee:	76 5c                	jbe    0x14089724c
1408971f0:	2b c1                	sub    %ecx,%eax
1408971f2:	41 0f b7 c9          	movzwl %r9w,%ecx
1408971f6:	83 c0 fb             	add    $0xfffffffb,%eax
1408971f9:	03 c2                	add    %edx,%eax
1408971fb:	33 d2                	xor    %edx,%edx
1408971fd:	41 f7 f7             	div    %r15d
140897200:	42 8b 6c 21 fc       	mov    -0x4(%rcx,%r12,1),%ebp
140897205:	44 8b f8             	mov    %eax,%r15d
140897208:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
14089720d:	0f cd                	bswap  %ebp