140099f57:	4c 8b 64 24 38       	mov    0x38(%rsp),%r12
140099f5c:	48 8b c5             	mov    %rbp,%rax
140099f5f:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140099f66:	00
140099f67:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140099f6c:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
140099f71:	48 83 c4 48          	add    $0x48,%rsp
140099f75:	41 5f                	pop    %r15
140099f77:	41 5e                	pop    %r14
140099f79:	5f                   	pop    %rdi
140099f7a:	5b                   	pop    %rbx
140099f7b:	c3                   	ret
140099f7c:	e8 a3 c4 21 00       	call   0x1402b6424
140099f81:	cc                   	int3
140099f82:	e8 39 0e fe ff       	call   0x14007adc0
140099f87:	cc                   	int3
140099f88:	e8 23 2c ff ff       	call   0x14008cbb0
140099f8d:	cc                   	int3
140099f8e:	cc                   	int3
140099f8f:	cc                   	int3
140099f90:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140099f95:	55                   	push   %rbp
140099f96:	56                   	push   %rsi
140099f97:	57                   	push   %rdi
140099f98:	41 54                	push   %r12
140099f9a:	41 55                	push   %r13
140099f9c:	41 56                	push   %r14
140099f9e:	41 57                	push   %r15
140099fa0:	48 83 ec 20          	sub    $0x20,%rsp
140099fa4:	48 8b fa             	mov    %rdx,%rdi
140099fa7:	4c 8b f9             	mov    %rcx,%r15
140099faa:	48 8b 11             	mov    (%rcx),%rdx
140099fad:	4c 8b f7             	mov    %rdi,%r14
140099fb0:	4c 2b f2             	sub    %rdx,%r14
140099fb3:	48 8b 41 08          	mov    0x8(%rcx),%rax
140099fb7:	48 2b c2             	sub    %rdx,%rax
140099fba:	48 c1 f8 04          	sar    $0x4,%rax
140099fbe:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
140099fc5:	ff ff 0f
140099fc8:	49 3b c0             	cmp    %r8,%rax
140099fcb:	0f 84 8b 01 00 00    	je     0x14009a15c
140099fd1:	4c 8d 60 01          	lea    0x1(%rax),%r12
140099fd5:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140099fd9:	48 2b ca             	sub    %rdx,%rcx
140099fdc:	48 c1 f9 04          	sar    $0x4,%rcx
140099fe0:	48 8b d1             	mov    %rcx,%rdx
140099fe3:	48 d1 ea             	shr    $1,%rdx
140099fe6:	49 8b c0             	mov    %r8,%rax
140099fe9:	48 2b c2             	sub    %rdx,%rax
140099fec:	48 3b c8             	cmp    %rax,%rcx
140099fef:	0f 87 61 01 00 00    	ja     0x14009a156
140099ff5:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140099ff9:	49 8b f4             	mov    %r12,%rsi
140099ffc:	49 3b c4             	cmp    %r12,%rax
140099fff:	48 0f 43 f0          	cmovae %rax,%rsi
14009a003:	49 3b f0             	cmp    %r8,%rsi
14009a006:	0f 87 4a 01 00 00    	ja     0x14009a156
14009a00c:	48 8b ce             	mov    %rsi,%rcx
14009a00f:	48 c1 e1 04          	shl    $0x4,%rcx
14009a013:	45 33 ed             	xor    %r13d,%r13d
14009a016:	48 85 c9             	test   %rcx,%rcx
14009a019:	75 05                	jne    0x14009a020
14009a01b:	41 8b dd             	mov    %r13d,%ebx
14009a01e:	eb 3d                	jmp    0x14009a05d
14009a020:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
14009a027:	72 2c                	jb     0x14009a055
14009a029:	48 8d 41 27          	lea    0x27(%rcx),%rax
14009a02d:	48 3b c1             	cmp    %rcx,%rax
14009a030:	0f 86 20 01 00 00    	jbe    0x14009a156
14009a036:	48 8b c8             	mov    %rax,%rcx
14009a039:	e8 92 5e 21 00       	call   0x1402afed0
14009a03e:	48 85 c0             	test   %rax,%rax
14009a041:	0f 84 09 01 00 00    	je     0x14009a150
14009a047:	48 8d 58 27          	lea    0x27(%rax),%rbx
14009a04b:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14009a04f:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
14009a053:	eb 08                	jmp    0x14009a05d
14009a055:	e8 76 5e 21 00       	call   0x1402afed0
14009a05a:	48 8b d8             	mov    %rax,%rbx
14009a05d:	49 83 e6 f0          	and    $0xfffffffffffffff0,%r14
14009a061:	49 8d 2c 1e          	lea    (%r14,%rbx,1),%rbp
14009a065:	c6 45 00 00          	movb   $0x0,0x0(%rbp)
14009a069:	48 8d 4d 08          	lea    0x8(%rbp),%rcx
14009a06d:	33 d2                	xor    %edx,%edx
14009a06f:	e8 4c 32 ff ff       	call   0x14008d2c0
14009a074:	90                   	nop
14009a075:	4d 8b 47 08          	mov    0x8(%r15),%r8
14009a079:	49 8b 07             	mov    (%r15),%rax
14009a07c:	48 8b d3             	mov    %rbx,%rdx
14009a07f:	49 3b f8             	cmp    %r8,%rdi
14009a082:	75 2f                	jne    0x14009a0b3
14009a084:	49 3b c0             	cmp    %r8,%rax
14009a087:	0f 84 9a 00 00 00    	je     0x14009a127
14009a08d:	0f 1f 00             	nopl   (%rax)
14009a090:	0f b6 08             	movzbl (%rax),%ecx
14009a093:	88 0a                	mov    %cl,(%rdx)
14009a095:	48 8b 48 08          	mov    0x8(%rax),%rcx
14009a099:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
14009a09d:	c6 00 00             	movb   $0x0,(%rax)
14009a0a0:	4c 89 68 08          	mov    %r13,0x8(%rax)
14009a0a4:	48 8d 52 10          	lea    0x10(%rdx),%rdx
14009a0a8:	48 83 c0 10          	add    $0x10,%rax
14009a0ac:	49 3b c0             	cmp    %r8,%rax
14009a0af:	75 df                	jne    0x14009a090
14009a0b1:	eb 74                	jmp    0x14009a127
14009a0b3:	48 3b c7             	cmp    %rdi,%rax
14009a0b6:	74 29                	je     0x14009a0e1
14009a0b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14009a0bf:	00
14009a0c0:	0f b6 08             	movzbl (%rax),%ecx
14009a0c3:	88 0a                	mov    %cl,(%rdx)
14009a0c5:	48 8b 48 08          	mov    0x8(%rax),%rcx
14009a0c9:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
14009a0cd:	c6 00 00             	movb   $0x0,(%rax)
14009a0d0:	4c 89 68 08          	mov    %r13,0x8(%rax)
14009a0d4:	48 8d 52 10          	lea    0x10(%rdx),%rdx
14009a0d8:	48 83 c0 10          	add    $0x10,%rax
14009a0dc:	48 3b c7             	cmp    %rdi,%rax
14009a0df:	75 df                	jne    0x14009a0c0
14009a0e1:	4d 8b 5f 08          	mov    0x8(%r15),%r11
14009a0e5:	49 3b fb             	cmp    %r11,%rdi
14009a0e8:	74 3d                	je     0x14009a127
14009a0ea:	4c 8d 57 08          	lea    0x8(%rdi),%r10
14009a0ee:	48 8b c3             	mov    %rbx,%rax
14009a0f1:	48 2b c7             	sub    %rdi,%rax
14009a0f4:	4a 8d 3c 30          	lea    (%rax,%r14,1),%rdi
14009a0f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14009a0ff:	00
14009a100:	41 0f b6 42 f8       	movzbl -0x8(%r10),%eax
14009a105:	42 88 44 17 08       	mov    %al,0x8(%rdi,%r10,1)
14009a10a:	49 8b 02             	mov    (%r10),%rax
14009a10d:	4a 89 44 17 10       	mov    %rax,0x10(%rdi,%r10,1)
14009a112:	41 c6 42 f8 00       	movb   $0x0,-0x8(%r10)
14009a117:	4d 89 2a             	mov    %r13,(%r10)
14009a11a:	4d 8d 52 10          	lea    0x10(%r10),%r10
14009a11e:	49 8d 52 f8          	lea    -0x8(%r10),%rdx
14009a122:	49 3b d3             	cmp    %r11,%rdx
14009a125:	75 d9                	jne    0x14009a100
14009a127:	4c 8b ce             	mov    %rsi,%r9
14009a12a:	4d 8b c4             	mov    %r12,%r8
14009a12d:	48 8b d3             	mov    %rbx,%rdx
14009a130:	49 8b cf             	mov    %r15,%rcx
14009a133:	e8 98 46 ff ff       	call   0x14008e7d0
14009a138:	48 8b c5             	mov    %rbp,%rax
14009a13b:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14009a140:	48 83 c4 20          	add    $0x20,%rsp
14009a144:	41 5f                	pop    %r15
14009a146:	41 5e                	pop    %r14
14009a148:	41 5d                	pop    %r13
14009a14a:	41 5c                	pop    %r12
14009a14c:	5f                   	pop    %rdi
14009a14d:	5e                   	pop    %rsi
14009a14e:	5d                   	pop    %rbp
14009a14f:	c3                   	ret
14009a150:	e8 cf c2 21 00       	call   0x1402b6424
14009a155:	cc                   	int3
14009a156:	e8 65 0c fe ff       	call   0x14007adc0
14009a15b:	cc                   	int3
14009a15c:	e8 4f 2a ff ff       	call   0x14008cbb0
14009a161:	cc                   	int3
14009a162:	cc                   	int3
14009a163:	cc                   	int3
14009a164:	cc                   	int3
14009a165:	cc                   	int3
14009a166:	cc                   	int3
14009a167:	cc                   	int3
14009a168:	cc                   	int3
14009a169:	cc                   	int3
14009a16a:	cc                   	int3
14009a16b:	cc                   	int3
14009a16c:	cc                   	int3
14009a16d:	cc                   	int3
14009a16e:	cc                   	int3
14009a16f:	cc                   	int3
14009a170:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14009a175:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14009a17a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14009a17f:	57                   	push   %rdi
14009a180:	41 54                	push   %r12
14009a182:	41 55                	push   %r13
14009a184:	41 56                	push   %r14
14009a186:	41 57                	push   %r15
14009a188:	48 83 ec 40          	sub    $0x40,%rsp
14009a18c:	4c 8b e2             	mov    %rdx,%r12
14009a18f:	48 8b d9             	mov    %rcx,%rbx
14009a192:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
14009a197:	33 ff                	xor    %edi,%edi
14009a199:	89 7c 24 2c          	mov    %edi,0x2c(%rsp)
14009a19d:	41 bf 40 00 00 00    	mov    $0x40,%r15d
14009a1a3:	0f 57 c0             	xorps  %xmm0,%xmm0
14009a1a6:	0f 11 01             	movups %xmm0,(%rcx)
14009a1a9:	48 89 79 10          	mov    %rdi,0x10(%rcx)
14009a1ad:	48 c7 41 18 0f 00 00 	movq   $0xf,0x18(%rcx)
14009a1b4:	00
14009a1b5:	40 88 39             	mov    %dil,(%rcx)
14009a1b8:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%rsp)
14009a1bf:	00
14009a1c0:	8b f7                	mov    %edi,%esi
14009a1c2:	8b cf                	mov    %edi,%ecx
14009a1c4:	0f 1f 40 00          	nopl   0x0(%rax)
14009a1c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14009a1cf:	00
14009a1d0:	41 ff cf             	dec    %r15d
14009a1d3:	41 0f b6 04 24       	movzbl (%r12),%eax
14009a1d8:	4d 8d 64 24 01       	lea    0x1(%r12),%r12
14009a1dd:	88 44 0c 20          	mov    %al,0x20(%rsp,%rcx,1)
14009a1e1:	ff c6                	inc    %esi
14009a1e3:	48 ff c1             	inc    %rcx
14009a1e6:	0f b6 54 24 22       	movzbl 0x22(%rsp),%edx
14009a1eb:	0f b6 6c 24 21       	movzbl 0x21(%rsp),%ebp
14009a1f0:	44 0f b6 74 24 20    	movzbl 0x20(%rsp),%r14d
14009a1f6:	83 fe 03             	cmp    $0x3,%esi
14009a1f9:	0f 85 bd 01 00 00    	jne    0x14009a3bc
14009a1ff:	41 0f b6 c6          	movzbl %r14b,%eax
14009a203:	c0 e8 02             	shr    $0x2,%al
14009a206:	0f b6 c8             	movzbl %al,%ecx
14009a209:	88 4c 24 28          	mov    %cl,0x28(%rsp)
14009a20d:	41 0f b6 f6          	movzbl %r14b,%esi
14009a211:	40 80 e6 03          	and    $0x3,%sil
14009a215:	40 c0 e6 04          	shl    $0x4,%sil
14009a219:	40 0f b6 c5          	movzbl %bpl,%eax
14009a21d:	c0 e8 04             	shr    $0x4,%al
14009a220:	40 02 f0             	add    %al,%sil
14009a223:	44 0f b6 ed          	movzbl %bpl,%r13d
14009a227:	41 80 e5 0f          	and    $0xf,%r13b
14009a22b:	41 c0 e5 02          	shl    $0x2,%r13b
14009a22f:	0f b6 c2             	movzbl %dl,%eax
14009a232:	c0 e8 06             	shr    $0x6,%al
14009a235:	44 02 e8             	add    %al,%r13b
14009a238:	0f b6 c2             	movzbl %dl,%eax
14009a23b:	24 3f                	and    $0x3f,%al
14009a23d:	88 44 24 24          	mov    %al,0x24(%rsp)
14009a241:	88 44 24 2b          	mov    %al,0x2b(%rsp)
14009a245:	48 8d 05 3c 16 34 00 	lea    0x34163c(%rip),%rax        # 0x1403db888
14009a24c:	48 83 3d 4c 16 34 00 	cmpq   $0xf,0x34164c(%rip)        # 0x1403db8a0
14009a253:	0f
14009a254:	48 0f 47 05 2c 16 34 	cmova  0x34162c(%rip),%rax        # 0x1403db888
14009a25b:	00
14009a25c:	44 0f b6 0c 01       	movzbl (%rcx,%rax,1),%r9d
14009a261:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14009a265:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14009a269:	48 3b ca             	cmp    %rdx,%rcx
14009a26c:	73 1f                	jae    0x14009a28d
14009a26e:	48 8d 41 01          	lea    0x1(%rcx),%rax
14009a272:	48 89 43 10          	mov    %rax,0x10(%rbx)
14009a276:	48 8b c3             	mov    %rbx,%rax
14009a279:	48 83 fa 0f          	cmp    $0xf,%rdx
14009a27d:	76 03                	jbe    0x14009a282
14009a27f:	48 8b 03             	mov    (%rbx),%rax
14009a282:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
14009a286:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
14009a28b:	eb 10                	jmp    0x14009a29d
14009a28d:	45 33 c0             	xor    %r8d,%r8d
14009a290:	ba 01 00 00 00       	mov    $0x1,%edx
14009a295:	48 8b cb             	mov    %rbx,%rcx
14009a298:	e8 b3 c3 fe ff       	call   0x140086650
14009a29d:	48 8d 0d e4 15 34 00 	lea    0x3415e4(%rip),%rcx        # 0x1403db888
14009a2a4:	48 83 3d f4 15 34 00 	cmpq   $0xf,0x3415f4(%rip)        # 0x1403db8a0
14009a2ab:	0f
14009a2ac:	48 0f 47 0d d4 15 34 	cmova  0x3415d4(%rip),%rcx        # 0x1403db888
14009a2b3:	00
14009a2b4:	40 0f b6 c6          	movzbl %sil,%eax
14009a2b8:	44 0f b6 0c 08       	movzbl (%rax,%rcx,1),%r9d
14009a2bd:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14009a2c1:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14009a2c5:	48 3b ca             	cmp    %rdx,%rcx
14009a2c8:	73 1f                	jae    0x14009a2e9
14009a2ca:	48 8d 41 01          	lea    0x1(%rcx),%rax
14009a2ce:	48 89 43 10          	mov    %rax,0x10(%rbx)
14009a2d2:	48 8b c3             	mov    %rbx,%rax
14009a2d5:	48 83 fa 0f          	cmp    $0xf,%rdx
14009a2d9:	76 03                	jbe    0x14009a2de
14009a2db:	48 8b 03             	mov    (%rbx),%rax
14009a2de:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
14009a2e2:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
14009a2e7:	eb 10                	jmp    0x14009a2f9
14009a2e9:	45 33 c0             	xor    %r8d,%r8d
14009a2ec:	ba 01 00 00 00       	mov    $0x1,%edx
14009a2f1:	48 8b cb             	mov    %rbx,%rcx
14009a2f4:	e8 57 c3 fe ff       	call   0x140086650
14009a2f9:	48 8d 0d 88 15 34 00 	lea    0x341588(%rip),%rcx        # 0x1403db888
14009a300:	48 83 3d 98 15 34 00 	cmpq   $0xf,0x341598(%rip)        # 0x1403db8a0
14009a307:	0f
14009a308:	48 0f 47 0d 78 15 34 	cmova  0x341578(%rip),%rcx        # 0x1403db888
14009a30f:	00
14009a310:	41 0f b6 c5          	movzbl %r13b,%eax
14009a314:	44 0f b6 0c 08       	movzbl (%rax,%rcx,1),%r9d
14009a319:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14009a31d:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14009a321:	48 3b ca             	cmp    %rdx,%rcx
14009a324:	73 1f                	jae    0x14009a345
14009a326:	48 8d 41 01          	lea    0x1(%rcx),%rax
14009a32a:	48 89 43 10          	mov    %rax,0x10(%rbx)
14009a32e:	48 8b c3             	mov    %rbx,%rax
14009a331:	48 83 fa 0f          	cmp    $0xf,%rdx
14009a335:	76 03                	jbe    0x14009a33a
14009a337:	48 8b 03             	mov    (%rbx),%rax
14009a33a:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
14009a33e:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
14009a343:	eb 10                	jmp    0x14009a355
14009a345:	45 33 c0             	xor    %r8d,%r8d
14009a348:	ba 01 00 00 00       	mov    $0x1,%edx
14009a34d:	48 8b cb             	mov    %rbx,%rcx
14009a350:	e8 fb c2 fe ff       	call   0x140086650
14009a355:	48 8d 0d 2c 15 34 00 	lea    0x34152c(%rip),%rcx        # 0x1403db888
14009a35c:	48 83 3d 3c 15 34 00 	cmpq   $0xf,0x34153c(%rip)        # 0x1403db8a0
14009a363:	0f
14009a364:	48 0f 47 0d 1c 15 34 	cmova  0x34151c(%rip),%rcx        # 0x1403db888
14009a36b:	00
14009a36c:	0f b6 44 24 24       	movzbl 0x24(%rsp),%eax
14009a371:	44 0f b6 0c 08       	movzbl (%rax,%rcx,1),%r9d
14009a376:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14009a37a:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14009a37e:	48 3b ca             	cmp    %rdx,%rcx
14009a381:	73 1f                	jae    0x14009a3a2
14009a383:	48 8d 41 01          	lea    0x1(%rcx),%rax
14009a387:	48 89 43 10          	mov    %rax,0x10(%rbx)
14009a38b:	48 8b c3             	mov    %rbx,%rax
14009a38e:	48 83 fa 0f          	cmp    $0xf,%rdx
14009a392:	76 03                	jbe    0x14009a397
14009a394:	48 8b 03             	mov    (%rbx),%rax
14009a397:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
14009a39b:	c6 44 08 01 00       	movb   $0x0,0x1(%rax,%rcx,1)
14009a3a0:	eb 10                	jmp    0x14009a3b2
14009a3a2:	45 33 c0             	xor    %r8d,%r8d
14009a3a5:	ba 01 00 00 00       	mov    $0x1,%edx
14009a3aa:	48 8b cb             	mov    %rbx,%rcx
14009a3ad:	e8 9e c2 fe ff       	call   0x140086650
14009a3b2:	8b f7                	mov    %edi,%esi
14009a3b4:	48 8b cf             	mov    %rdi,%rcx
14009a3b7:	0f b6 54 24 22       	movzbl 0x22(%rsp),%edx
14009a3bc:	45 85 ff             	test   %r15d,%r15d
14009a3bf:	0f 85 0b fe ff ff    	jne    0x14009a1d0
14009a3c5:	85 f6                	test   %esi,%esi
14009a3c7:	0f 84 26 01 00 00    	je     0x14009a4f3
14009a3cd:	48 63 c6             	movslq %esi,%rax
14009a3d0:	48 83 f8 03          	cmp    $0x3,%rax
14009a3d4:	7d 24                	jge    0x14009a3fa
14009a3d6:	0f 83 38 01 00 00    	jae    0x14009a514
14009a3dc:	c6 44 04 20 00       	movb   $0x0,0x20(%rsp,%rax,1)
14009a3e1:	48 ff c0             	inc    %rax
14009a3e4:	48 83 f8 03          	cmp    $0x3,%rax
14009a3e8:	7c ec                	jl     0x14009a3d6
14009a3ea:	0f b6 54 24 22       	movzbl 0x22(%rsp),%edx
14009a3ef:	0f b6 6c 24 21       	movzbl 0x21(%rsp),%ebp
14009a3f4:	44 0f b6 74 24 20    	movzbl 0x20(%rsp),%r14d
14009a3fa:	41 0f b6 c6          	movzbl %r14b,%eax
14009a3fe:	c0 e8 02             	shr    $0x2,%al
14009a401:	88 44 24 28          	mov    %al,0x28(%rsp)
14009a405:	41 80 e6 03          	and    $0x3,%r14b