140192eca:	45 33 c0             	xor    %r8d,%r8d
140192ecd:	33 d2                	xor    %edx,%edx
140192ecf:	33 c9                	xor    %ecx,%ecx
140192ed1:	e8 de 86 ff ff       	call   0x14018b5b4
140192ed6:	cc                   	int3
140192ed7:	cc                   	int3
140192ed8:	48 8b c4             	mov    %rsp,%rax
140192edb:	48 89 58 08          	mov    %rbx,0x8(%rax)
140192edf:	48 89 68 10          	mov    %rbp,0x10(%rax)
140192ee3:	48 89 70 18          	mov    %rsi,0x18(%rax)
140192ee7:	48 89 78 20          	mov    %rdi,0x20(%rax)
140192eeb:	0f b7 74 24 28       	movzwl 0x28(%rsp),%esi
140192ef0:	33 ed                	xor    %ebp,%ebp
140192ef2:	4d 8b d0             	mov    %r8,%r10
140192ef5:	44 8b c1             	mov    %ecx,%r8d
140192ef8:	66 85 f6             	test   %si,%si
140192efb:	0f 85 96 00 00 00    	jne    0x140192f97
140192f01:	49 8b 01             	mov    (%r9),%rax
140192f04:	4d 8b 1a             	mov    (%r10),%r11
140192f07:	48 83 f8 01          	cmp    $0x1,%rax
140192f0b:	76 69                	jbe    0x140192f76
140192f0d:	b8 67 66 66 66       	mov    $0x66666667,%eax
140192f12:	41 f7 e8             	imul   %r8d
140192f15:	c1 fa 02             	sar    $0x2,%edx
140192f18:	8b c2                	mov    %edx,%eax
140192f1a:	c1 e8 1f             	shr    $0x1f,%eax
140192f1d:	03 d0                	add    %eax,%edx
140192f1f:	0f b7 c2             	movzwl %dx,%eax
140192f22:	66 c1 e0 02          	shl    $0x2,%ax
140192f26:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
140192f29:	66 03 c9             	add    %cx,%cx
140192f2c:	66 44 2b c1          	sub    %cx,%r8w
140192f30:	66 41 83 c0 30       	add    $0x30,%r8w
140192f35:	66 45 89 03          	mov    %r8w,(%r11)
140192f39:	49 83 c3 02          	add    $0x2,%r11
140192f3d:	49 ff 09             	decq   (%r9)
140192f40:	44 8b c2             	mov    %edx,%r8d
140192f43:	85 d2                	test   %edx,%edx
140192f45:	7e 06                	jle    0x140192f4d
140192f47:	49 83 39 01          	cmpq   $0x1,(%r9)
140192f4b:	77 c0                	ja     0x140192f0d
140192f4d:	49 8b 12             	mov    (%r10),%rdx
140192f50:	4d 8d 43 fe          	lea    -0x2(%r11),%r8
140192f54:	4d 89 1a             	mov    %r11,(%r10)
140192f57:	eb 16                	jmp    0x140192f6f
140192f59:	0f b7 02             	movzwl (%rdx),%eax
140192f5c:	41 0f b7 08          	movzwl (%r8),%ecx
140192f60:	66 41 89 00          	mov    %ax,(%r8)
140192f64:	49 83 e8 02          	sub    $0x2,%r8
140192f68:	66 89 0a             	mov    %cx,(%rdx)
140192f6b:	48 83 c2 02          	add    $0x2,%rdx
140192f6f:	49 3b d0             	cmp    %r8,%rdx
140192f72:	72 e5                	jb     0x140192f59
140192f74:	eb 0c                	jmp    0x140192f82
140192f76:	48 03 c0             	add    %rax,%rax
140192f79:	4c 2b d8             	sub    %rax,%r11
140192f7c:	4d 89 1a             	mov    %r11,(%r10)
140192f7f:	49 89 29             	mov    %rbp,(%r9)
140192f82:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140192f87:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
140192f8c:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140192f91:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140192f96:	c3                   	ret
140192f97:	48 63 c2             	movslq %edx,%rax
140192f9a:	49 3b 01             	cmp    (%r9),%rax
140192f9d:	73 e0                	jae    0x140192f7f
140192f9f:	ff ca                	dec    %edx
140192fa1:	8b dd                	mov    %ebp,%ebx
140192fa3:	44 8d 5a 01          	lea    0x1(%rdx),%r11d
140192fa7:	45 85 db             	test   %r11d,%r11d
140192faa:	74 6a                	je     0x140193016
140192fac:	48 63 c2             	movslq %edx,%rax
140192faf:	48 8d 3c 00          	lea    (%rax,%rax,1),%rdi
140192fb3:	45 85 c0             	test   %r8d,%r8d
140192fb6:	74 33                	je     0x140192feb
140192fb8:	b8 67 66 66 66       	mov    $0x66666667,%eax
140192fbd:	41 0f b7 c8          	movzwl %r8w,%ecx
140192fc1:	41 f7 e8             	imul   %r8d
140192fc4:	c1 fa 02             	sar    $0x2,%edx
140192fc7:	8b c2                	mov    %edx,%eax
140192fc9:	c1 e8 1f             	shr    $0x1f,%eax
140192fcc:	03 d0                	add    %eax,%edx
140192fce:	0f b7 c2             	movzwl %dx,%eax
140192fd1:	66 c1 e0 02          	shl    $0x2,%ax
140192fd5:	66 03 d0             	add    %ax,%dx
140192fd8:	49 8b 02             	mov    (%r10),%rax
140192fdb:	66 03 d2             	add    %dx,%dx
140192fde:	66 2b ca             	sub    %dx,%cx
140192fe1:	66 83 c1 30          	add    $0x30,%cx
140192fe5:	66 89 0c 07          	mov    %cx,(%rdi,%rax,1)
140192fe9:	eb 07                	jmp    0x140192ff2
140192feb:	49 8b 02             	mov    (%r10),%rax
140192fee:	66 89 34 07          	mov    %si,(%rdi,%rax,1)
140192ff2:	b8 67 66 66 66       	mov    $0x66666667,%eax
140192ff7:	ff c3                	inc    %ebx
140192ff9:	41 f7 e8             	imul   %r8d
140192ffc:	48 83 ef 02          	sub    $0x2,%rdi
140193000:	44 8b c2             	mov    %edx,%r8d
140193003:	41 c1 f8 02          	sar    $0x2,%r8d
140193007:	41 8b c0             	mov    %r8d,%eax
14019300a:	c1 e8 1f             	shr    $0x1f,%eax
14019300d:	44 03 c0             	add    %eax,%r8d
140193010:	41 83 eb 01          	sub    $0x1,%r11d
140193014:	75 9d                	jne    0x140192fb3
140193016:	48 63 cb             	movslq %ebx,%rcx
140193019:	48 8d 04 09          	lea    (%rcx,%rcx,1),%rax
14019301d:	49 01 02             	add    %rax,(%r10)
140193020:	49 29 09             	sub    %rcx,(%r9)
140193023:	e9 5a ff ff ff       	jmp    0x140192f82
140193028:	40 55                	rex push %rbp
14019302a:	56                   	push   %rsi
14019302b:	57                   	push   %rdi
14019302c:	41 54                	push   %r12
14019302e:	41 55                	push   %r13
140193030:	41 56                	push   %r14
140193032:	41 57                	push   %r15
140193034:	48 83 ec 70          	sub    $0x70,%rsp
140193038:	48 8d 6c 24 40       	lea    0x40(%rsp),%rbp
14019303d:	48 89 5d 78          	mov    %rbx,0x78(%rbp)
140193041:	48 8b 05 28 82 11 00 	mov    0x118228(%rip),%rax        # 0x1402ab270
140193048:	48 33 c5             	xor    %rbp,%rax
14019304b:	48 89 45 20          	mov    %rax,0x20(%rbp)
14019304f:	4c 8b bd 90 00 00 00 	mov    0x90(%rbp),%r15
140193056:	4d 8b d8             	mov    %r8,%r11
140193059:	4c 8b ad 98 00 00 00 	mov    0x98(%rbp),%r13
140193060:	4d 8b e1             	mov    %r9,%r12
140193063:	4c 89 45 00          	mov    %r8,0x0(%rbp)
140193067:	4c 8b f1             	mov    %rcx,%r14
14019306a:	45 33 c0             	xor    %r8d,%r8d
14019306d:	48 89 4d 08          	mov    %rcx,0x8(%rbp)
140193071:	85 d2                	test   %edx,%edx
140193073:	74 17                	je     0x14019308c
140193075:	83 fa 01             	cmp    $0x1,%edx
140193078:	74 09                	je     0x140193083
14019307a:	49 8b bd b0 02 00 00 	mov    0x2b0(%r13),%rdi
140193081:	eb 10                	jmp    0x140193093
140193083:	49 8b bd a8 02 00 00 	mov    0x2a8(%r13),%rdi
14019308a:	eb 07                	jmp    0x140193093
14019308c:	49 8b bd a0 02 00 00 	mov    0x2a0(%r13),%rdi
140193093:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140193099:	45 39 95 58 01 00 00 	cmp    %r10d,0x158(%r13)
1401930a0:	0f 84 c5 01 00 00    	je     0x14019326b
1401930a6:	41 0f b7 43 14       	movzwl 0x14(%r11),%eax
1401930ab:	83 fa 02             	cmp    $0x2,%edx
1401930ae:	b9 6c 07 00 00       	mov    $0x76c,%ecx
1401930b3:	66 44 89 45 1e       	mov    %r8w,0x1e(%rbp)
1401930b8:	41 0f 94 c6          	sete   %r14b
1401930bc:	4c 8b cf             	mov    %rdi,%r9
1401930bf:	66 03 c1             	add    %cx,%ax
1401930c2:	33 d2                	xor    %edx,%edx
1401930c4:	49 8b 8d b8 02 00 00 	mov    0x2b8(%r13),%rcx
1401930cb:	66 89 45 10          	mov    %ax,0x10(%rbp)
1401930cf:	41 0f b7 43 10       	movzwl 0x10(%r11),%eax
1401930d4:	66 41 03 c2          	add    %r10w,%ax
1401930d8:	66 89 45 12          	mov    %ax,0x12(%rbp)
1401930dc:	41 0f b7 43 0c       	movzwl 0xc(%r11),%eax
1401930e1:	66 89 45 16          	mov    %ax,0x16(%rbp)
1401930e5:	41 0f b7 43 08       	movzwl 0x8(%r11),%eax
1401930ea:	66 89 45 18          	mov    %ax,0x18(%rbp)
1401930ee:	41 0f b7 43 04       	movzwl 0x4(%r11),%eax
1401930f3:	66 89 45 1a          	mov    %ax,0x1a(%rbp)
1401930f7:	41 0f b7 03          	movzwl (%r11),%eax
1401930fb:	66 89 45 1c          	mov    %ax,0x1c(%rbp)
1401930ff:	45 84 f6             	test   %r14b,%r14b
140193102:	74 15                	je     0x140193119
140193104:	44 89 44 24 28       	mov    %r8d,0x28(%rsp)
140193109:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14019310e:	4c 8d 45 10          	lea    0x10(%rbp),%r8
140193112:	e8 89 44 01 00       	call   0x1401a75a0
140193117:	eb 18                	jmp    0x140193131
140193119:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
14019311e:	44 89 44 24 28       	mov    %r8d,0x28(%rsp)
140193123:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140193128:	4c 8d 45 10          	lea    0x10(%rbp),%r8
14019312c:	e8 b3 42 01 00       	call   0x1401a73e4
140193131:	45 33 c0             	xor    %r8d,%r8d
140193134:	8b f0                	mov    %eax,%esi
140193136:	85 c0                	test   %eax,%eax
140193138:	0f 84 1f 01 00 00    	je     0x14019325d
14019313e:	48 63 d0             	movslq %eax,%rdx
140193141:	48 03 d2             	add    %rdx,%rdx
140193144:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
140193148:	48 3b d1             	cmp    %rcx,%rdx
14019314b:	48 1b c0             	sbb    %rax,%rax
14019314e:	48 85 c1             	test   %rax,%rcx
140193151:	74 7c                	je     0x1401931cf
140193153:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
140193157:	48 3b d1             	cmp    %rcx,%rdx
14019315a:	48 1b c0             	sbb    %rax,%rax
14019315d:	48 23 c1             	and    %rcx,%rax
140193160:	48 3d 00 04 00 00    	cmp    $0x400,%rax
140193166:	48 8d 42 10          	lea    0x10(%rdx),%rax
14019316a:	77 3e                	ja     0x1401931aa
14019316c:	48 3b d0             	cmp    %rax,%rdx
14019316f:	48 1b c9             	sbb    %rcx,%rcx
140193172:	48 23 c8             	and    %rax,%rcx
140193175:	48 8d 41 0f          	lea    0xf(%rcx),%rax
140193179:	48 3b c1             	cmp    %rcx,%rax
14019317c:	77 0a                	ja     0x140193188
14019317e:	48 b8 f0 ff ff ff ff 	movabs $0xffffffffffffff0,%rax
140193185:	ff ff 0f
140193188:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
14019318c:	e8 8f 3e ff ff       	call   0x140187020
140193191:	48 2b e0             	sub    %rax,%rsp
140193194:	48 8d 5c 24 40       	lea    0x40(%rsp),%rbx
140193199:	48 85 db             	test   %rbx,%rbx
14019319c:	0f 84 bb 00 00 00    	je     0x14019325d
1401931a2:	c7 03 cc cc 00 00    	movl   $0xcccc,(%rbx)
1401931a8:	eb 1f                	jmp    0x1401931c9
1401931aa:	48 3b d0             	cmp    %rax,%rdx
1401931ad:	48 1b c9             	sbb    %rcx,%rcx
1401931b0:	48 23 c8             	and    %rax,%rcx
1401931b3:	e8 d4 50 01 00       	call   0x1401a828c
1401931b8:	45 33 c0             	xor    %r8d,%r8d
1401931bb:	48 8b d8             	mov    %rax,%rbx
1401931be:	48 85 c0             	test   %rax,%rax
1401931c1:	74 0f                	je     0x1401931d2
1401931c3:	c7 00 dd dd 00 00    	movl   $0xdddd,(%rax)
1401931c9:	48 83 c3 10          	add    $0x10,%rbx
1401931cd:	eb 03                	jmp    0x1401931d2
1401931cf:	49 8b d8             	mov    %r8,%rbx
1401931d2:	48 85 db             	test   %rbx,%rbx
1401931d5:	0f 84 82 00 00 00    	je     0x14019325d
1401931db:	49 8b 8d b8 02 00 00 	mov    0x2b8(%r13),%rcx
1401931e2:	33 d2                	xor    %edx,%edx
1401931e4:	4c 8b cf             	mov    %rdi,%r9
1401931e7:	45 84 f6             	test   %r14b,%r14b
1401931ea:	74 14                	je     0x140193200
1401931ec:	89 74 24 28          	mov    %esi,0x28(%rsp)
1401931f0:	4c 8d 45 10          	lea    0x10(%rbp),%r8
1401931f4:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1401931f9:	e8 a2 43 01 00       	call   0x1401a75a0
1401931fe:	eb 17                	jmp    0x140193217
140193200:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140193205:	4c 8d 45 10          	lea    0x10(%rbp),%r8
140193209:	89 74 24 28          	mov    %esi,0x28(%rsp)
14019320d:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140193212:	e8 cd 41 01 00       	call   0x1401a73e4
140193217:	8b d0                	mov    %eax,%edx
140193219:	4c 8b c3             	mov    %rbx,%r8
14019321c:	ff ca                	dec    %edx
14019321e:	45 33 c9             	xor    %r9d,%r9d
140193221:	eb 1e                	jmp    0x140193241
140193223:	4d 39 0f             	cmp    %r9,(%r15)
140193226:	76 1d                	jbe    0x140193245
140193228:	41 0f b7 00          	movzwl (%r8),%eax
14019322c:	49 83 c0 02          	add    $0x2,%r8
140193230:	49 8b 0c 24          	mov    (%r12),%rcx
140193234:	66 89 01             	mov    %ax,(%rcx)
140193237:	49 83 04 24 02       	addq   $0x2,(%r12)
14019323c:	49 ff 0f             	decq   (%r15)
14019323f:	ff ca                	dec    %edx
140193241:	85 d2                	test   %edx,%edx
140193243:	7f de                	jg     0x140193223
140193245:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
140193249:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
14019324f:	75 05                	jne    0x140193256
140193251:	e8 66 37 01 00       	call   0x1401a69bc
140193256:	b0 01                	mov    $0x1,%al
140193258:	e9 03 03 00 00       	jmp    0x140193560
14019325d:	4c 8b 75 08          	mov    0x8(%rbp),%r14
140193261:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140193267:	4c 8b 5d 00          	mov    0x0(%rbp),%r11
14019326b:	44 0f b7 0f          	movzwl (%rdi),%r9d
14019326f:	66 45 85 c9          	test   %r9w,%r9w
140193273:	0f 84 e4 02 00 00    	je     0x14019355d
140193279:	b8 64 00 00 00       	mov    $0x64,%eax
14019327e:	4d 39 07             	cmp    %r8,(%r15)
140193281:	0f 84 d6 02 00 00    	je     0x14019355d
140193287:	41 8a d8             	mov    %r8b,%bl
14019328a:	41 8b c8             	mov    %r8d,%ecx
14019328d:	48 8b f7             	mov    %rdi,%rsi
140193290:	48 83 c6 02          	add    $0x2,%rsi
140193294:	41 03 ca             	add    %r10d,%ecx
140193297:	4d 03 c2             	add    %r10,%r8
14019329a:	66 44 39 0e          	cmp    %r9w,(%rsi)
14019329e:	74 f0                	je     0x140193290
1401932a0:	41 0f b7 d1          	movzwl %r9w,%edx
1401932a4:	3b d0                	cmp    %eax,%edx
1401932a6:	0f 8f 68 01 00 00    	jg     0x140193414
1401932ac:	0f 84 2b 01 00 00    	je     0x1401933dd
1401932b2:	41 bb 27 00 00 00    	mov    $0x27,%r11d
1401932b8:	41 3b d3             	cmp    %r11d,%edx
1401932bb:	0f 84 b1 00 00 00    	je     0x140193372
1401932c1:	41 8d 43 1a          	lea    0x1a(%r11),%eax
1401932c5:	3b d0                	cmp    %eax,%edx
1401932c7:	74 1d                	je     0x1401932e6
1401932c9:	45 8d 43 21          	lea    0x21(%r11),%r8d
1401932cd:	41 3b d0             	cmp    %r8d,%edx
1401932d0:	74 64                	je     0x140193336
1401932d2:	41 8d 43 26          	lea    0x26(%r11),%eax
1401932d6:	3b d0                	cmp    %eax,%edx
1401932d8:	74 25                	je     0x1401932ff
1401932da:	41 8d 43 3a          	lea    0x3a(%r11),%eax
1401932de:	3b d0                	cmp    %eax,%edx
1401932e0:	0f 85 11 02 00 00    	jne    0x1401934f7
1401932e6:	48 8d 15 5b ea 08 00 	lea    0x8ea5b(%rip),%rdx        # 0x140221d48
1401932ed:	48 8b cf             	mov    %rdi,%rcx
1401932f0:	e8 7f 82 01 00       	call   0x1401ab574
1401932f5:	85 c0                	test   %eax,%eax
1401932f7:	75 58                	jne    0x140193351
1401932f9:	48 8d 77 0a          	lea    0xa(%rdi),%rsi
1401932fd:	eb 69                	jmp    0x140193368
1401932ff:	83 e9 01             	sub    $0x1,%ecx
140193302:	74 25                	je     0x140193329
140193304:	83 e9 01             	sub    $0x1,%ecx
140193307:	74 23                	je     0x14019332c
140193309:	83 e9 01             	sub    $0x1,%ecx
14019330c:	74 11                	je     0x14019331f
14019330e:	83 f9 01             	cmp    $0x1,%ecx
140193311:	0f 85 e0 01 00 00    	jne    0x1401934f7
140193317:	8d 41 41             	lea    0x41(%rcx),%eax
14019331a:	e9 f9 01 00 00       	jmp    0x140193518
14019331f:	b8 62 00 00 00       	mov    $0x62,%eax
140193324:	e9 ef 01 00 00       	jmp    0x140193518
140193329:	41 8a da             	mov    %r10b,%bl
14019332c:	b8 6d 00 00 00       	mov    $0x6d,%eax
140193331:	e9 e2 01 00 00       	jmp    0x140193518
140193336:	83 e9 01             	sub    $0x1,%ecx
140193339:	74 0a                	je     0x140193345
14019333b:	83 f9 01             	cmp    $0x1,%ecx
14019333e:	74 08                	je     0x140193348
140193340:	e9 b2 01 00 00       	jmp    0x1401934f7
140193345:	41 8a da             	mov    %r10b,%bl
140193348:	41 0f b7 c0          	movzwl %r8w,%eax
14019334c:	e9 c7 01 00 00       	jmp    0x140193518
140193351:	48 8d 15 00 ea 08 00 	lea    0x8ea00(%rip),%rdx        # 0x140221d58
140193358:	48 8b cf             	mov    %rdi,%rcx
14019335b:	e8 14 82 01 00       	call   0x1401ab574
140193360:	85 c0                	test   %eax,%eax
140193362:	75 04                	jne    0x140193368
140193364:	48 8d 77 06          	lea    0x6(%rdi),%rsi
140193368:	b8 70 00 00 00       	mov    $0x70,%eax
14019336d:	e9 a6 01 00 00       	jmp    0x140193518
140193372:	8b c1                	mov    %ecx,%eax
140193374:	25 01 00 00 80       	and    $0x80000001,%eax
140193379:	7d 09                	jge    0x140193384
14019337b:	41 2b c2             	sub    %r10d,%eax
14019337e:	83 c8 fe             	or     $0xfffffffe,%eax
140193381:	41 03 c2             	add    %r10d,%eax
140193384:	85 c0                	test   %eax,%eax
140193386:	75 46                	jne    0x1401933ce
140193388:	4a 8d 3c 47          	lea    (%rdi,%r8,2),%rdi
14019338c:	45 33 c0             	xor    %r8d,%r8d
14019338f:	0f b7 0f             	movzwl (%rdi),%ecx
140193392:	66 85 c9             	test   %cx,%cx
140193395:	0f 84 c2 01 00 00    	je     0x14019355d
14019339b:	4d 39 07             	cmp    %r8,(%r15)
14019339e:	0f 84 a2 01 00 00    	je     0x140193546
1401933a4:	48 83 c7 02          	add    $0x2,%rdi