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
14089720f:	44 38 68 21          	cmp    %r13b,0x21(%rax)
140897213:	74 15                	je     0x14089722a
140897215:	44 8b 8c 24 18 01 00 	mov    0x118(%rsp),%r9d
14089721c:	00
14089721d:	41 b0 03             	mov    $0x3,%r8b
140897220:	8b d5                	mov    %ebp,%edx
140897222:	48 8b ce             	mov    %rsi,%rcx
140897225:	e8 06 fb ff ff       	call   0x140896d30
14089722a:	45 8b cf             	mov    %r15d,%r9d
14089722d:	44 8b c5             	mov    %ebp,%r8d
140897230:	33 d2                	xor    %edx,%edx
140897232:	48 8b ce             	mov    %rsi,%rcx
140897235:	e8 b6 f8 ff ff       	call   0x140896af0
14089723a:	44 0f b7 8c 24 96 00 	movzwl 0x96(%rsp),%r9d
140897241:	00 00
140897243:	8b 6c 24 34          	mov    0x34(%rsp),%ebp
140897247:	44 8b 7c 24 58       	mov    0x58(%rsp),%r15d
14089724c:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
140897253:	00
140897254:	44 38 28             	cmp    %r13b,(%rax)
140897257:	0f 85 50 01 00 00    	jne    0x1408973ad
14089725d:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140897262:	41 8b 3c 24          	mov    (%r12),%edi
140897266:	0f cf                	bswap  %edi
140897268:	44 38 68 21          	cmp    %r13b,0x21(%rax)
14089726c:	74 15                	je     0x140897283
14089726e:	44 8b 8c 24 18 01 00 	mov    0x118(%rsp),%r9d
140897275:	00
140897276:	41 b0 05             	mov    $0x5,%r8b
140897279:	8b d7                	mov    %edi,%edx
14089727b:	48 8b ce             	mov    %rsi,%rcx
14089727e:	e8 ad fa ff ff       	call   0x140896d30
140897283:	4c 8b 8c 24 28 01 00 	mov    0x128(%rsp),%r9
14089728a:	00
14089728b:	4c 8d 84 24 28 01 00 	lea    0x128(%rsp),%r8
140897292:	00
140897293:	8b d7                	mov    %edi,%edx
140897295:	48 8b ce             	mov    %rsi,%rcx
140897298:	e8 d3 fb ff ff       	call   0x140896e70
14089729d:	8b f8                	mov    %eax,%edi
14089729f:	41 8b ed             	mov    %r13d,%ebp
1408972a2:	44 89 6c 24 34       	mov    %r13d,0x34(%rsp)
1408972a7:	3b 44 24 3c          	cmp    0x3c(%rsp),%eax
1408972ab:	74 13                	je     0x1408972c0
1408972ad:	48 8d 15 9c 80 7b 00 	lea    0x7b809c(%rip),%rdx        # 0x14104f350
1408972b4:	48 8b ce             	mov    %rsi,%rcx
1408972b7:	e8 54 f6 ff ff       	call   0x140896910
1408972bc:	89 7c 24 3c          	mov    %edi,0x3c(%rsp)
1408972c0:	8b 7c 24 30          	mov    0x30(%rsp),%edi
1408972c4:	8b 44 24 44          	mov    0x44(%rsp),%eax
1408972c8:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1408972cd:	83 e8 01             	sub    $0x1,%eax
1408972d0:	44 8b 44 24 48       	mov    0x48(%rsp),%r8d
1408972d5:	4c 8b 4c 24 50       	mov    0x50(%rsp),%r9
1408972da:	89 44 24 44          	mov    %eax,0x44(%rsp)
1408972de:	0f 89 0c fe ff ff    	jns    0x1408970f0
1408972e4:	44 8b 64 24 5c       	mov    0x5c(%rsp),%r12d
1408972e9:	48 8b 8c 24 20 01 00 	mov    0x120(%rsp),%rcx
1408972f0:	00
1408972f1:	48 8b 84 24 28 01 00 	mov    0x128(%rsp),%rax
1408972f8:	00
1408972f9:	48 89 01             	mov    %rax,(%rcx)
1408972fc:	4c 89 6e 28          	mov    %r13,0x28(%rsi)
140897300:	85 ff                	test   %edi,%edi
140897302:	0f 84 b3 02 00 00    	je     0x1408975bb
140897308:	44 39 6e 1c          	cmp    %r13d,0x1c(%rsi)
14089730c:	0f 8e b4 02 00 00    	jle    0x1408975c6
140897312:	45 38 6e 08          	cmp    %r13b,0x8(%r14)
140897316:	0f 85 04 01 00 00    	jne    0x140897420
14089731c:	48 8b 5e 58          	mov    0x58(%rsi),%rbx
140897320:	41 8b ec             	mov    %r12d,%ebp
140897323:	48 83 ed 01          	sub    $0x1,%rbp
140897327:	4c 8b 64 24 50       	mov    0x50(%rsp),%r12
14089732c:	44 89 2b             	mov    %r13d,(%rbx)
14089732f:	0f 88 f0 00 00 00    	js     0x140897425
140897335:	48 63 44 24 60       	movslq 0x60(%rsp),%rax
14089733a:	4c 8d 3c 68          	lea    (%rax,%rbp,2),%r15
14089733e:	4d 03 fc             	add    %r12,%r15
140897341:	41 0f b7 07          	movzwl (%r15),%eax
140897345:	49 8b ce             	mov    %r14,%rcx
140897348:	66 c1 c8 08          	ror    $0x8,%ax
14089734c:	0f b7 f8             	movzwl %ax,%edi
14089734f:	49 8b 46 78          	mov    0x78(%r14),%rax
140897353:	49 8d 14 3c          	lea    (%r12,%rdi,1),%rdx
140897357:	ff 15 c3 c6 6e 00    	call   *0x6ec6c3(%rip)        # 0x140f83a20
14089735d:	ff 03                	incl   (%rbx)
14089735f:	8d 4f ff             	lea    -0x1(%rdi),%ecx
140897362:	44 8b 03             	mov    (%rbx),%r8d
140897365:	c1 e7 10             	shl    $0x10,%edi
140897368:	0f b7 c0             	movzwl %ax,%eax
14089736b:	03 c8                	add    %eax,%ecx
14089736d:	0b cf                	or     %edi,%ecx
14089736f:	42 89 0c 83          	mov    %ecx,(%rbx,%r8,4)
140897373:	41 8b c8             	mov    %r8d,%ecx
140897376:	d1 e9                	shr    $1,%ecx
140897378:	74 27                	je     0x1408973a1
14089737a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140897380:	41 8b c0             	mov    %r8d,%eax
140897383:	48 8d 14 8b          	lea    (%rbx,%rcx,4),%rdx
140897387:	44 8b 02             	mov    (%rdx),%r8d
14089738a:	44 8b 0c 83          	mov    (%rbx,%rax,4),%r9d
14089738e:	45 3b c1             	cmp    %r9d,%r8d
140897391:	76 0e                	jbe    0x1408973a1
140897393:	44 89 0a             	mov    %r9d,(%rdx)
140897396:	44 89 04 83          	mov    %r8d,(%rbx,%rax,4)
14089739a:	44 8b c1             	mov    %ecx,%r8d
14089739d:	d1 e9                	shr    $1,%ecx
14089739f:	75 df                	jne    0x140897380
1408973a1:	49 83 ef 02          	sub    $0x2,%r15
1408973a5:	48 83 ed 01          	sub    $0x1,%rbp
1408973a9:	79 96                	jns    0x140897341
1408973ab:	eb 78                	jmp    0x140897425
1408973ad:	ff 03                	incl   (%rbx)
1408973af:	44 8b 03             	mov    (%rbx),%r8d
1408973b2:	41 0f b7 c9          	movzwl %r9w,%ecx
1408973b6:	ff c9                	dec    %ecx
1408973b8:	03 cf                	add    %edi,%ecx
1408973ba:	c1 e7 10             	shl    $0x10,%edi
1408973bd:	0b cf                	or     %edi,%ecx
1408973bf:	42 89 0c 83          	mov    %ecx,(%rbx,%r8,4)
1408973c3:	41 8b c8             	mov    %r8d,%ecx
1408973c6:	d1 e9                	shr    $1,%ecx
1408973c8:	0f 84 f2 fe ff ff    	je     0x1408972c0
1408973ce:	66 90                	xchg   %ax,%ax
1408973d0:	41 8b c0             	mov    %r8d,%eax
1408973d3:	48 8d 14 8b          	lea    (%rbx,%rcx,4),%rdx
1408973d7:	44 8b 02             	mov    (%rdx),%r8d
1408973da:	44 8b 0c 83          	mov    (%rbx,%rax,4),%r9d
1408973de:	45 3b c1             	cmp    %r9d,%r8d
1408973e1:	0f 86 d9 fe ff ff    	jbe    0x1408972c0
1408973e7:	44 89 0a             	mov    %r9d,(%rdx)
1408973ea:	44 89 04 83          	mov    %r8d,(%rbx,%rax,4)
1408973ee:	44 8b c1             	mov    %ecx,%r8d
1408973f1:	d1 e9                	shr    $1,%ecx
1408973f3:	75 db                	jne    0x1408973d0
1408973f5:	e9 c6 fe ff ff       	jmp    0x1408972c0
1408973fa:	45 8b c8             	mov    %r8d,%r9d
1408973fd:	89 44 24 20          	mov    %eax,0x20(%rsp)
140897401:	44 8b c7             	mov    %edi,%r8d
140897404:	48 8d 15 f5 7e 7b 00 	lea    0x7b7ef5(%rip),%rdx        # 0x14104f300
14089740b:	48 8b ce             	mov    %rsi,%rcx
14089740e:	e8 fd f4 ff ff       	call   0x140896910
140897413:	41 8b fd             	mov    %r13d,%edi
140897416:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
14089741b:	e9 a4 fe ff ff       	jmp    0x1408972c4
140897420:	4c 8b 64 24 50       	mov    0x50(%rsp),%r12
140897425:	4c 8b bc 24 a8 00 00 	mov    0xa8(%rsp),%r15
14089742c:	00
14089742d:	41 0f b6 c7          	movzbl %r15b,%eax
140897431:	42 0f b6 4c 20 01    	movzbl 0x1(%rax,%r12,1),%ecx
140897437:	46 0f b6 54 20 02    	movzbl 0x2(%rax,%r12,1),%r10d
14089743d:	c1 e1 08             	shl    $0x8,%ecx
140897440:	44 0b d1             	or     %ecx,%r10d
140897443:	76 7b                	jbe    0x1408974c0
140897445:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14089744c:	00 00 00 00
140897450:	43 0f b6 44 22 03    	movzbl 0x3(%r10,%r12,1),%eax
140897456:	43 0f b6 54 22 02    	movzbl 0x2(%r10,%r12,1),%edx
14089745c:	ff 03                	incl   (%rbx)
14089745e:	44 8b 03             	mov    (%rbx),%r8d
140897461:	c1 e2 08             	shl    $0x8,%edx
140897464:	41 8b c8             	mov    %r8d,%ecx
140897467:	0b d0                	or     %eax,%edx
140897469:	41 8b c2             	mov    %r10d,%eax
14089746c:	ff ca                	dec    %edx
14089746e:	c1 e0 10             	shl    $0x10,%eax
140897471:	41 03 d2             	add    %r10d,%edx
140897474:	0b d0                	or     %eax,%edx
140897476:	d1 e9                	shr    $1,%ecx
140897478:	42 89 14 83          	mov    %edx,(%rbx,%r8,4)
14089747c:	74 23                	je     0x1408974a1
14089747e:	66 90                	xchg   %ax,%ax
140897480:	41 8b c0             	mov    %r8d,%eax
140897483:	48 8d 14 8b          	lea    (%rbx,%rcx,4),%rdx
140897487:	44 8b 02             	mov    (%rdx),%r8d