140e02ece:	4c 39 00             	cmp    %r8,(%rax)
140e02ed1:	74 1e                	je     0x140e02ef1
140e02ed3:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e02ed7:	44 39 00             	cmp    %r8d,(%rax)
140e02eda:	7e 15                	jle    0x140e02ef1
140e02edc:	ff 08                	decl   (%rax)
140e02ede:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e02ee2:	48 8b 11             	mov    (%rcx),%rdx
140e02ee5:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e02ee9:	48 89 01             	mov    %rax,(%rcx)
140e02eec:	0f b7 02             	movzwl (%rdx),%eax
140e02eef:	eb 10                	jmp    0x140e02f01
140e02ef1:	48 8b 01             	mov    (%rcx),%rax
140e02ef4:	48 8b 40 38          	mov    0x38(%rax),%rax
140e02ef8:	ff 15 22 0b 18 00    	call   *0x180b22(%rip)        # 0x140f83a20
140e02efe:	45 33 c0             	xor    %r8d,%r8d
140e02f01:	66 44 3b e0          	cmp    %ax,%r12w
140e02f05:	74 05                	je     0x140e02f0c
140e02f07:	41 8a c0             	mov    %r8b,%al
140e02f0a:	eb 05                	jmp    0x140e02f11
140e02f0c:	4c 89 07             	mov    %r8,(%rdi)
140e02f0f:	8a c3                	mov    %bl,%al
140e02f11:	88 47 08             	mov    %al,0x8(%rdi)
140e02f14:	49 8b d6             	mov    %r14,%rdx
140e02f17:	48 8b cf             	mov    %rdi,%rcx
140e02f1a:	e8 89 41 01 00       	call   0x140e170a8
140e02f1f:	45 33 c0             	xor    %r8d,%r8d
140e02f22:	84 c0                	test   %al,%al
140e02f24:	0f 84 44 ff ff ff    	je     0x140e02e6e
140e02f2a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e02f2f:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e02f34:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e02f39:	49 8b d6             	mov    %r14,%rdx
140e02f3c:	48 8b cf             	mov    %rdi,%rcx
140e02f3f:	e8 64 41 01 00       	call   0x140e170a8
140e02f44:	33 d2                	xor    %edx,%edx
140e02f46:	84 c0                	test   %al,%al
140e02f48:	0f 85 2f 01 00 00    	jne    0x140e0307d
140e02f4e:	49 bc cc cc cc cc cc 	movabs $0xccccccccccccccc,%r12
140e02f55:	cc cc 0c
140e02f58:	44 8d 7a 01          	lea    0x1(%rdx),%r15d
140e02f5c:	38 57 08             	cmp    %dl,0x8(%rdi)
140e02f5f:	75 50                	jne    0x140e02fb1
140e02f61:	48 8b 0f             	mov    (%rdi),%rcx
140e02f64:	48 85 c9             	test   %rcx,%rcx
140e02f67:	74 3c                	je     0x140e02fa5
140e02f69:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e02f6d:	48 8b 10             	mov    (%rax),%rdx
140e02f70:	45 33 ed             	xor    %r13d,%r13d
140e02f73:	48 85 d2             	test   %rdx,%rdx
140e02f76:	74 0e                	je     0x140e02f86
140e02f78:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e02f7c:	44 39 28             	cmp    %r13d,(%rax)
140e02f7f:	7e 05                	jle    0x140e02f86
140e02f81:	0f b7 02             	movzwl (%rdx),%eax
140e02f84:	eb 0d                	jmp    0x140e02f93
140e02f86:	48 8b 01             	mov    (%rcx),%rax
140e02f89:	48 8b 40 30          	mov    0x30(%rax),%rax
140e02f8d:	ff 15 8d 0a 18 00    	call   *0x180a8d(%rip)        # 0x140f83a20
140e02f93:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e02f98:	66 3b c8             	cmp    %ax,%cx
140e02f9b:	74 06                	je     0x140e02fa3
140e02f9d:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e02fa1:	eb 08                	jmp    0x140e02fab
140e02fa3:	33 d2                	xor    %edx,%edx
140e02fa5:	48 89 17             	mov    %rdx,(%rdi)
140e02fa8:	45 33 ed             	xor    %r13d,%r13d
140e02fab:	44 88 7f 08          	mov    %r15b,0x8(%rdi)
140e02faf:	eb 03                	jmp    0x140e02fb4
140e02fb1:	45 33 ed             	xor    %r13d,%r13d
140e02fb4:	44 0f b7 47 0a       	movzwl 0xa(%rdi),%r8d
140e02fb9:	48 8d 55 07          	lea    0x7(%rbp),%rdx
140e02fbd:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140e02fc1:	e8 6a a0 ff ff       	call   0x140dfd030
140e02fc6:	48 8b c8             	mov    %rax,%rcx
140e02fc9:	48 8d 45 cf          	lea    -0x31(%rbp),%rax
140e02fcd:	48 2b c8             	sub    %rax,%rcx
140e02fd0:	48 d1 f9             	sar    $1,%rcx
140e02fd3:	48 83 f9 0a          	cmp    $0xa,%rcx
140e02fd7:	0f 83 8f 00 00 00    	jae    0x140e0306c
140e02fdd:	49 3b dc             	cmp    %r12,%rbx
140e02fe0:	7c 14                	jl     0x140e02ff6
140e02fe2:	75 06                	jne    0x140e02fea
140e02fe4:	48 83 f9 07          	cmp    $0x7,%rcx
140e02fe8:	7e 0c                	jle    0x140e02ff6
140e02fea:	48 bb ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rbx
140e02ff1:	ff ff 7f
140e02ff4:	eb 08                	jmp    0x140e02ffe
140e02ff6:	48 8d 04 9b          	lea    (%rbx,%rbx,4),%rax
140e02ffa:	48 8d 1c 41          	lea    (%rcx,%rax,2),%rbx
140e02ffe:	41 8a f7             	mov    %r15b,%sil
140e03001:	48 8b 0f             	mov    (%rdi),%rcx
140e03004:	48 85 c9             	test   %rcx,%rcx
140e03007:	74 43                	je     0x140e0304c
140e03009:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0300d:	4c 39 28             	cmp    %r13,(%rax)
140e03010:	74 1e                	je     0x140e03030
140e03012:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e03016:	44 39 28             	cmp    %r13d,(%rax)
140e03019:	7e 15                	jle    0x140e03030
140e0301b:	ff 08                	decl   (%rax)
140e0301d:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e03021:	48 8b 11             	mov    (%rcx),%rdx
140e03024:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e03028:	48 89 01             	mov    %rax,(%rcx)
140e0302b:	0f b7 02             	movzwl (%rdx),%eax
140e0302e:	eb 0d                	jmp    0x140e0303d
140e03030:	48 8b 01             	mov    (%rcx),%rax
140e03033:	48 8b 40 38          	mov    0x38(%rax),%rax
140e03037:	ff 15 e3 09 18 00    	call   *0x1809e3(%rip)        # 0x140f83a20
140e0303d:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e03042:	66 3b c8             	cmp    %ax,%cx
140e03045:	74 05                	je     0x140e0304c
140e03047:	41 8a c5             	mov    %r13b,%al
140e0304a:	eb 06                	jmp    0x140e03052
140e0304c:	4c 89 2f             	mov    %r13,(%rdi)
140e0304f:	41 8a c7             	mov    %r15b,%al
140e03052:	88 47 08             	mov    %al,0x8(%rdi)
140e03055:	49 8b d6             	mov    %r14,%rdx
140e03058:	48 8b cf             	mov    %rdi,%rcx
140e0305b:	e8 48 40 01 00       	call   0x140e170a8
140e03060:	33 d2                	xor    %edx,%edx
140e03062:	84 c0                	test   %al,%al
140e03064:	0f 84 f2 fe ff ff    	je     0x140e02f5c
140e0306a:	eb 02                	jmp    0x140e0306e
140e0306c:	33 d2                	xor    %edx,%edx
140e0306e:	44 8a 7c 24 33       	mov    0x33(%rsp),%r15b
140e03073:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e03078:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e0307d:	48 8b c3             	mov    %rbx,%rax
140e03080:	48 f7 db             	neg    %rbx
140e03083:	45 84 ff             	test   %r15b,%r15b
140e03086:	48 0f 44 d8          	cmove  %rax,%rbx
140e0308a:	40 84 f6             	test   %sil,%sil
140e0308d:	0f 84 be 01 00 00    	je     0x140e03251
140e03093:	41 8a c5             	mov    %r13b,%al
140e03096:	f6 d8                	neg    %al
140e03098:	4d 1b c0             	sbb    %r8,%r8
140e0309b:	41 81 e0 1c 0c 00 00 	and    $0xc1c,%r8d
140e030a2:	b9 4c 04 00 00       	mov    $0x44c,%ecx
140e030a7:	4c 03 c1             	add    %rcx,%r8
140e030aa:	41 8a c5             	mov    %r13b,%al
140e030ad:	f6 d8                	neg    %al
140e030af:	4d 1b d2             	sbb    %r10,%r10
140e030b2:	49 83 e2 ce          	and    $0xffffffffffffffce,%r10
140e030b6:	4c 03 d1             	add    %rcx,%r10
140e030b9:	4c 8b 5c 24 58       	mov    0x58(%rsp),%r11
140e030be:	4d 8b cb             	mov    %r11,%r9
140e030c1:	48 85 db             	test   %rbx,%rbx
140e030c4:	78 1a                	js     0x140e030e0
140e030c6:	4d 85 c9             	test   %r9,%r9
140e030c9:	78 12                	js     0x140e030dd
140e030cb:	49 3b d8             	cmp    %r8,%rbx
140e030ce:	0f 8d d4 00 00 00    	jge    0x140e031a8
140e030d4:	4d 3b ca             	cmp    %r10,%r9
140e030d7:	0f 8d cb 00 00 00    	jge    0x140e031a8
140e030dd:	48 85 db             	test   %rbx,%rbx
140e030e0:	7f 1f                	jg     0x140e03101
140e030e2:	4d 85 c9             	test   %r9,%r9
140e030e5:	7f 1a                	jg     0x140e03101
140e030e7:	49 8b c8             	mov    %r8,%rcx
140e030ea:	48 f7 d9             	neg    %rcx
140e030ed:	48 3b d9             	cmp    %rcx,%rbx
140e030f0:	0f 8e 86 00 00 00    	jle    0x140e0317c
140e030f6:	49 8b c2             	mov    %r10,%rax
140e030f9:	48 f7 d8             	neg    %rax
140e030fc:	4c 3b c8             	cmp    %rax,%r9
140e030ff:	7e 7b                	jle    0x140e0317c
140e03101:	48 8b cb             	mov    %rbx,%rcx
140e03104:	48 f7 d9             	neg    %rcx
140e03107:	48 0f 48 cb          	cmovs  %rbx,%rcx
140e0310b:	49 3b c8             	cmp    %r8,%rcx
140e0310e:	7f 0f                	jg     0x140e0311f
140e03110:	49 8b c1             	mov    %r9,%rax
140e03113:	48 f7 d8             	neg    %rax
140e03116:	49 0f 48 c1          	cmovs  %r9,%rax
140e0311a:	49 3b c2             	cmp    %r10,%rax
140e0311d:	7e 62                	jle    0x140e03181
140e0311f:	45 84 ed             	test   %r13b,%r13b
140e03122:	74 14                	je     0x140e03138
140e03124:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
140e03128:	48 99                	cqto
140e0312a:	83 e2 03             	and    $0x3,%edx
140e0312d:	48 8d 0c 02          	lea    (%rdx,%rax,1),%rcx
140e03131:	48 c1 f9 02          	sar    $0x2,%rcx
140e03135:	48 ff c1             	inc    %rcx
140e03138:	49 8b c3             	mov    %r11,%rax
140e0313b:	48 f7 d8             	neg    %rax
140e0313e:	49 0f 48 c3          	cmovs  %r11,%rax
140e03142:	48 3b c1             	cmp    %rcx,%rax
140e03145:	48 0f 4c c8          	cmovl  %rax,%rcx
140e03149:	48 8d 14 8d 00 00 00 	lea    0x0(,%rcx,4),%rdx
140e03150:	00
140e03151:	48 8b c1             	mov    %rcx,%rax
140e03154:	48 85 db             	test   %rbx,%rbx
140e03157:	78 0f                	js     0x140e03168
140e03159:	45 84 ed             	test   %r13b,%r13b
140e0315c:	48 0f 45 c2          	cmovne %rdx,%rax
140e03160:	48 2b d8             	sub    %rax,%rbx
140e03163:	4c 03 c9             	add    %rcx,%r9
140e03166:	eb 0d                	jmp    0x140e03175
140e03168:	45 84 ed             	test   %r13b,%r13b
140e0316b:	48 0f 45 c2          	cmovne %rdx,%rax
140e0316f:	48 03 d8             	add    %rax,%rbx
140e03172:	4c 2b c9             	sub    %rcx,%r9
140e03175:	33 d2                	xor    %edx,%edx
140e03177:	e9 45 ff ff ff       	jmp    0x140e030c1
140e0317c:	4c 8b c1             	mov    %rcx,%r8
140e0317f:	eb 27                	jmp    0x140e031a8
140e03181:	4a 8d 04 8d 00 00 00 	lea    0x0(,%r9,4),%rax
140e03188:	00
140e03189:	45 84 ed             	test   %r13b,%r13b
140e0318c:	4c 0f 45 c8          	cmovne %rax,%r9
140e03190:	49 03 d9             	add    %r9,%rbx
140e03193:	49 3b d8             	cmp    %r8,%rbx
140e03196:	7f 10                	jg     0x140e031a8
140e03198:	49 f7 d8             	neg    %r8
140e0319b:	49 8b c0             	mov    %r8,%rax
140e0319e:	4c 8b c3             	mov    %rbx,%r8
140e031a1:	48 3b d8             	cmp    %rax,%rbx
140e031a4:	4c 0f 4c c0          	cmovl  %rax,%r8
140e031a8:	4d 85 c0             	test   %r8,%r8
140e031ab:	0f 84 80 00 00 00    	je     0x140e03231
140e031b1:	41 8a c5             	mov    %r13b,%al
140e031b4:	f6 d8                	neg    %al
140e031b6:	1a c9                	sbb    %cl,%cl
140e031b8:	80 e1 0b             	and    $0xb,%cl
140e031bb:	80 c1 65             	add    $0x65,%cl
140e031be:	41 88 0c 24          	mov    %cl,(%r12)
140e031c2:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140e031c8:	4d 03 e2             	add    %r10,%r12
140e031cb:	4d 85 c0             	test   %r8,%r8
140e031ce:	79 08                	jns    0x140e031d8
140e031d0:	41 c6 04 24 2d       	movb   $0x2d,(%r12)
140e031d5:	4d 03 e2             	add    %r10,%r12
140e031d8:	49 8b cc             	mov    %r12,%rcx
140e031db:	4d 8b c8             	mov    %r8,%r9
140e031de:	49 f7 d9             	neg    %r9
140e031e1:	4d 0f 48 c8          	cmovs  %r8,%r9
140e031e5:	4d 85 c9             	test   %r9,%r9
140e031e8:	74 3d                	je     0x140e03227
140e031ea:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140e031f1:	66 66 66
140e031f4:	49 f7 e9             	imul   %r9
140e031f7:	48 c1 fa 02          	sar    $0x2,%rdx
140e031fb:	48 8b c2             	mov    %rdx,%rax
140e031fe:	48 c1 e8 3f          	shr    $0x3f,%rax
140e03202:	48 03 d0             	add    %rax,%rdx
140e03205:	8a c2                	mov    %dl,%al
140e03207:	c0 e0 02             	shl    $0x2,%al
140e0320a:	44 8d 04 10          	lea    (%rax,%rdx,1),%r8d
140e0320e:	45 02 c0             	add    %r8b,%r8b
140e03211:	45 2a c8             	sub    %r8b,%r9b
140e03214:	41 80 c1 30          	add    $0x30,%r9b
140e03218:	45 88 0c 24          	mov    %r9b,(%r12)
140e0321c:	4d 03 e2             	add    %r10,%r12
140e0321f:	4c 8b ca             	mov    %rdx,%r9
140e03222:	48 85 d2             	test   %rdx,%rdx
140e03225:	75 c3                	jne    0x140e031ea
140e03227:	49 8b d4             	mov    %r12,%rdx
140e0322a:	e8 21 9e ff ff       	call   0x140dfd050
140e0322f:	33 d2                	xor    %edx,%edx
140e03231:	41 88 14 24          	mov    %dl,(%r12)
140e03235:	41 f6 dd             	neg    %r13b
140e03238:	1a c0                	sbb    %al,%al
140e0323a:	24 06                	and    $0x6,%al
140e0323c:	04 0a                	add    $0xa,%al
140e0323e:	88 44 24 36          	mov    %al,0x36(%rsp)
140e03242:	8a 44 24 30          	mov    0x30(%rsp),%al
140e03246:	88 44 24 37          	mov    %al,0x37(%rsp)
140e0324a:	0f b7 5c 24 36       	movzwl 0x36(%rsp),%ebx
140e0324f:	eb 0b                	jmp    0x140e0325c
140e03251:	66 83 64 24 33 00    	andw   $0x0,0x33(%rsp)
140e03257:	0f b7 5c 24 33       	movzwl 0x33(%rsp),%ebx
140e0325c:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140e03260:	e8 eb 47 39 ff       	call   0x140197a50
140e03265:	0f b7 c3             	movzwl %bx,%eax
140e03268:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
140e0326c:	48 33 cc             	xor    %rsp,%rcx
140e0326f:	e8 8c 82 01 00       	call   0x140e1b500
140e03274:	48 8b 9c 24 48 01 00 	mov    0x148(%rsp),%rbx
140e0327b:	00
140e0327c:	48 81 c4 00 01 00 00 	add    $0x100,%rsp
140e03283:	41 5f                	pop    %r15
140e03285:	41 5e                	pop    %r14
140e03287:	41 5d                	pop    %r13
140e03289:	41 5c                	pop    %r12
140e0328b:	5f                   	pop    %rdi
140e0328c:	5e                   	pop    %rsi
140e0328d:	5d                   	pop    %rbp
140e0328e:	c3                   	ret
140e0328f:	cc                   	int3
140e03290:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e03295:	55                   	push   %rbp
140e03296:	56                   	push   %rsi
140e03297:	57                   	push   %rdi
140e03298:	41 54                	push   %r12
140e0329a:	41 55                	push   %r13
140e0329c:	41 56                	push   %r14
140e0329e:	41 57                	push   %r15
140e032a0:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
140e032a5:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
140e032ac:	48 8b 05 4d 5c 5b 00 	mov    0x5b5c4d(%rip),%rax        # 0x1413b8f00
140e032b3:	48 33 c4             	xor    %rsp,%rax
140e032b6:	48 89 45 0f          	mov    %rax,0xf(%rbp)
140e032ba:	4d 8b f1             	mov    %r9,%r14
140e032bd:	4c 89 4c 24 40       	mov    %r9,0x40(%rsp)
140e032c2:	49 8b f8             	mov    %r8,%rdi
140e032c5:	89 54 24 54          	mov    %edx,0x54(%rsp)
140e032c9:	4c 8b e1             	mov    %rcx,%r12
140e032cc:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140e032d1:	48 8b 5d 7f          	mov    0x7f(%rbp),%rbx
140e032d5:	45 33 ff             	xor    %r15d,%r15d
140e032d8:	48 8b cb             	mov    %rbx,%rcx
140e032db:	e8 d0 ee b5 ff       	call   0x1409621b0
140e032e0:	48 8b c8             	mov    %rax,%rcx
140e032e3:	48 8b 10             	mov    (%rax),%rdx
140e032e6:	48 8b 42 58          	mov    0x58(%rdx),%rax
140e032ea:	4c 8d 4d cf          	lea    -0x31(%rbp),%r9
140e032ee:	4c 8d 05 e8 d5 3d 00 	lea    0x3dd5e8(%rip),%r8        # 0x1411e08dd
140e032f5:	48 8d 15 c4 d5 3d 00 	lea    0x3dd5c4(%rip),%rdx        # 0x1411e08c0
140e032fc:	ff 15 1e 07 18 00    	call   *0x18071e(%rip)        # 0x140f83a20
140e03302:	0f b7 75 fd          	movzwl -0x3(%rbp),%esi
140e03306:	66 89 74 24 50       	mov    %si,0x50(%rsp)
140e0330b:	0f b7 45 fb          	movzwl -0x5(%rbp),%eax
140e0330f:	66 89 44 24 36       	mov    %ax,0x36(%rsp)
140e03314:	0f b7 45 cf          	movzwl -0x31(%rbp),%eax
140e03318:	66 89 44 24 38       	mov    %ax,0x38(%rsp)
140e0331d:	48 8b cb             	mov    %rbx,%rcx
140e03320:	e8 ab f0 b5 ff       	call   0x1409623d0
140e03325:	48 8b d8             	mov    %rax,%rbx
140e03328:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140e0332d:	48 8b 08             	mov    (%rax),%rcx
140e03330:	48 8b 41 28          	mov    0x28(%rcx),%rax
140e03334:	48 8d 55 af          	lea    -0x51(%rbp),%rdx
140e03338:	48 8b cb             	mov    %rbx,%rcx
140e0333b:	ff 15 df 06 18 00    	call   *0x1806df(%rip)        # 0x140f83a20
140e03341:	90                   	nop
140e03342:	4c 39 7d bf          	cmp    %r15,-0x41(%rbp)
140e03346:	75 12                	jne    0x140e0335a
140e03348:	33 db                	xor    %ebx,%ebx
140e0334a:	44 0f b7 fb          	movzwl %bx,%r15d
140e0334e:	44 8a eb             	mov    %bl,%r13b
140e03351:	88 5c 24 30          	mov    %bl,0x30(%rsp)
140e03355:	e9 20 01 00 00       	jmp    0x140e0347a
140e0335a:	48 8b 03             	mov    (%rbx),%rax
140e0335d:	48 8b cb             	mov    %rbx,%rcx
140e03360:	48 8b 40 20          	mov    0x20(%rax),%rax
140e03364:	ff 15 b6 06 18 00    	call   *0x1806b6(%rip)        # 0x140f83a20
140e0336a:	44 0f b7 f8          	movzwl %ax,%r15d