140174129:	48 8b 41 38          	mov    0x38(%rcx),%rax
14017412d:	4c 39 20             	cmp    %r12,(%rax)
140174130:	74 1e                	je     0x140174150
140174132:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174136:	44 39 20             	cmp    %r12d,(%rax)
140174139:	7e 15                	jle    0x140174150
14017413b:	ff 08                	decl   (%rax)
14017413d:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140174141:	48 8b 11             	mov    (%rcx),%rdx
140174144:	48 8d 42 02          	lea    0x2(%rdx),%rax
140174148:	48 89 01             	mov    %rax,(%rcx)
14017414b:	0f b7 02             	movzwl (%rdx),%eax
14017414e:	eb 0d                	jmp    0x14017415d
140174150:	48 8b 01             	mov    (%rcx),%rax
140174153:	48 8b 40 38          	mov    0x38(%rax),%rax
140174157:	ff 15 c3 a4 08 00    	call   *0x8a4c3(%rip)        # 0x1401fe620
14017415d:	66 3b f0             	cmp    %ax,%si
140174160:	74 05                	je     0x140174167
140174162:	41 8a c4             	mov    %r12b,%al
140174165:	eb 05                	jmp    0x14017416c
140174167:	4c 89 27             	mov    %r12,(%rdi)
14017416a:	b0 01                	mov    $0x1,%al
14017416c:	88 47 08             	mov    %al,0x8(%rdi)
14017416f:	e9 aa 00 00 00       	jmp    0x14017421e
140174174:	84 c9                	test   %cl,%cl
140174176:	75 45                	jne    0x1401741bd
140174178:	48 8b 0f             	mov    (%rdi),%rcx
14017417b:	48 85 c9             	test   %rcx,%rcx
14017417e:	74 32                	je     0x1401741b2
140174180:	48 8b 41 38          	mov    0x38(%rcx),%rax
140174184:	48 8b 10             	mov    (%rax),%rdx
140174187:	48 85 d2             	test   %rdx,%rdx
14017418a:	74 0e                	je     0x14017419a
14017418c:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174190:	44 39 20             	cmp    %r12d,(%rax)
140174193:	7e 05                	jle    0x14017419a
140174195:	0f b7 02             	movzwl (%rdx),%eax
140174198:	eb 0d                	jmp    0x1401741a7
14017419a:	48 8b 01             	mov    (%rcx),%rax
14017419d:	48 8b 40 30          	mov    0x30(%rax),%rax
1401741a1:	ff 15 79 a4 08 00    	call   *0x8a479(%rip)        # 0x1401fe620
1401741a7:	66 3b f0             	cmp    %ax,%si
1401741aa:	74 06                	je     0x1401741b2
1401741ac:	66 89 47 0a          	mov    %ax,0xa(%rdi)
1401741b0:	eb 07                	jmp    0x1401741b9
1401741b2:	4c 89 27             	mov    %r12,(%rdi)
1401741b5:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
1401741b9:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
1401741bd:	66 3b 45 03          	cmp    0x3(%rbp),%ax
1401741c1:	75 5b                	jne    0x14017421e
1401741c3:	41 c6 06 2d          	movb   $0x2d,(%r14)
1401741c7:	49 8d 46 01          	lea    0x1(%r14),%rax
1401741cb:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1401741d0:	48 8b 0f             	mov    (%rdi),%rcx
1401741d3:	48 85 c9             	test   %rcx,%rcx
1401741d6:	74 3f                	je     0x140174217
1401741d8:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401741dc:	4c 39 20             	cmp    %r12,(%rax)
1401741df:	74 1e                	je     0x1401741ff
1401741e1:	48 8b 41 50          	mov    0x50(%rcx),%rax
1401741e5:	44 39 20             	cmp    %r12d,(%rax)
1401741e8:	7e 15                	jle    0x1401741ff
1401741ea:	ff 08                	decl   (%rax)
1401741ec:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1401741f0:	48 8b 11             	mov    (%rcx),%rdx
1401741f3:	48 8d 42 02          	lea    0x2(%rdx),%rax
1401741f7:	48 89 01             	mov    %rax,(%rcx)
1401741fa:	0f b7 02             	movzwl (%rdx),%eax
1401741fd:	eb 0d                	jmp    0x14017420c
1401741ff:	48 8b 01             	mov    (%rcx),%rax
140174202:	48 8b 40 38          	mov    0x38(%rax),%rax
140174206:	ff 15 14 a4 08 00    	call   *0x8a414(%rip)        # 0x1401fe620
14017420c:	66 3b f0             	cmp    %ax,%si
14017420f:	74 06                	je     0x140174217
140174211:	44 88 67 08          	mov    %r12b,0x8(%rdi)
140174215:	eb 07                	jmp    0x14017421e
140174217:	4c 89 27             	mov    %r12,(%rdi)
14017421a:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
14017421e:	8b 45 77             	mov    0x77(%rbp),%eax
140174221:	25 00 0e 00 00       	and    $0xe00,%eax
140174226:	b9 08 00 00 00       	mov    $0x8,%ecx
14017422b:	8d 59 02             	lea    0x2(%rcx),%ebx
14017422e:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140174233:	3d 00 04 00 00       	cmp    $0x400,%eax
140174238:	75 05                	jne    0x14017423f
14017423a:	44 8b e9             	mov    %ecx,%r13d
14017423d:	eb 17                	jmp    0x140174256
14017423f:	3d 00 08 00 00       	cmp    $0x800,%eax
140174244:	75 08                	jne    0x14017424e
140174246:	41 bd 10 00 00 00    	mov    $0x10,%r13d
14017424c:	eb 08                	jmp    0x140174256
14017424e:	f7 d8                	neg    %eax
140174250:	45 1b ed             	sbb    %r13d,%r13d
140174253:	44 23 eb             	and    %ebx,%r13d
140174256:	44 89 6c 24 34       	mov    %r13d,0x34(%rsp)
14017425b:	44 88 64 24 31       	mov    %r12b,0x31(%rsp)
140174260:	49 8b d7             	mov    %r15,%rdx
140174263:	48 8b cf             	mov    %rdi,%rcx
140174266:	e8 a5 e1 00 00       	call   0x140182410
14017426b:	84 c0                	test   %al,%al
14017426d:	0f 85 f9 01 00 00    	jne    0x14017446c
140174273:	44 38 67 08          	cmp    %r12b,0x8(%rdi)
140174277:	75 41                	jne    0x1401742ba
140174279:	48 8b 0f             	mov    (%rdi),%rcx
14017427c:	48 85 c9             	test   %rcx,%rcx
14017427f:	74 32                	je     0x1401742b3
140174281:	48 8b 41 38          	mov    0x38(%rcx),%rax
140174285:	48 8b 10             	mov    (%rax),%rdx
140174288:	48 85 d2             	test   %rdx,%rdx
14017428b:	74 0e                	je     0x14017429b
14017428d:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174291:	44 39 20             	cmp    %r12d,(%rax)
140174294:	7e 05                	jle    0x14017429b
140174296:	0f b7 02             	movzwl (%rdx),%eax
140174299:	eb 0d                	jmp    0x1401742a8
14017429b:	48 8b 01             	mov    (%rcx),%rax
14017429e:	48 8b 40 30          	mov    0x30(%rax),%rax
1401742a2:	ff 15 78 a3 08 00    	call   *0x8a378(%rip)        # 0x1401fe620
1401742a8:	66 3b f0             	cmp    %ax,%si
1401742ab:	74 06                	je     0x1401742b3
1401742ad:	66 89 47 0a          	mov    %ax,0xa(%rdi)
1401742b1:	eb 03                	jmp    0x1401742b6
1401742b3:	4c 89 27             	mov    %r12,(%rdi)
1401742b6:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
1401742ba:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
1401742be:	66 3b 45 d7          	cmp    -0x29(%rbp),%ax
1401742c2:	0f 85 a4 01 00 00    	jne    0x14017446c
1401742c8:	40 b6 01             	mov    $0x1,%sil
1401742cb:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
1401742d0:	48 8b 0f             	mov    (%rdi),%rcx
1401742d3:	48 85 c9             	test   %rcx,%rcx
1401742d6:	74 43                	je     0x14017431b
1401742d8:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401742dc:	4c 39 20             	cmp    %r12,(%rax)
1401742df:	74 1e                	je     0x1401742ff
1401742e1:	48 8b 41 50          	mov    0x50(%rcx),%rax
1401742e5:	44 39 20             	cmp    %r12d,(%rax)
1401742e8:	7e 15                	jle    0x1401742ff
1401742ea:	ff 08                	decl   (%rax)
1401742ec:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1401742f0:	48 8b 11             	mov    (%rcx),%rdx
1401742f3:	48 8d 42 02          	lea    0x2(%rdx),%rax
1401742f7:	48 89 01             	mov    %rax,(%rcx)
1401742fa:	0f b7 02             	movzwl (%rdx),%eax
1401742fd:	eb 0d                	jmp    0x14017430c
1401742ff:	48 8b 01             	mov    (%rcx),%rax
140174302:	48 8b 40 38          	mov    0x38(%rax),%rax
140174306:	ff 15 14 a3 08 00    	call   *0x8a314(%rip)        # 0x1401fe620
14017430c:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174311:	66 3b c8             	cmp    %ax,%cx
140174314:	74 05                	je     0x14017431b
140174316:	41 8a c4             	mov    %r12b,%al
140174319:	eb 06                	jmp    0x140174321
14017431b:	4c 89 27             	mov    %r12,(%rdi)
14017431e:	40 8a c6             	mov    %sil,%al
140174321:	88 47 08             	mov    %al,0x8(%rdi)
140174324:	49 8b d7             	mov    %r15,%rdx
140174327:	48 8b cf             	mov    %rdi,%rcx
14017432a:	e8 e1 e0 00 00       	call   0x140182410
14017432f:	84 c0                	test   %al,%al
140174331:	0f 85 23 01 00 00    	jne    0x14017445a
140174337:	8a 4f 08             	mov    0x8(%rdi),%cl
14017433a:	84 c9                	test   %cl,%cl
14017433c:	75 49                	jne    0x140174387
14017433e:	48 8b 0f             	mov    (%rdi),%rcx
140174341:	48 85 c9             	test   %rcx,%rcx
140174344:	74 37                	je     0x14017437d
140174346:	48 8b 41 38          	mov    0x38(%rcx),%rax
14017434a:	48 8b 10             	mov    (%rax),%rdx
14017434d:	48 85 d2             	test   %rdx,%rdx
140174350:	74 0e                	je     0x140174360
140174352:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174356:	44 39 20             	cmp    %r12d,(%rax)
140174359:	7e 05                	jle    0x140174360
14017435b:	0f b7 02             	movzwl (%rdx),%eax
14017435e:	eb 0d                	jmp    0x14017436d
140174360:	48 8b 01             	mov    (%rcx),%rax
140174363:	48 8b 40 30          	mov    0x30(%rax),%rax
140174367:	ff 15 b3 a2 08 00    	call   *0x8a2b3(%rip)        # 0x1401fe620
14017436d:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174372:	66 3b c8             	cmp    %ax,%cx
140174375:	74 06                	je     0x14017437d
140174377:	66 89 47 0a          	mov    %ax,0xa(%rdi)
14017437b:	eb 03                	jmp    0x140174380
14017437d:	4c 89 27             	mov    %r12,(%rdi)
140174380:	40 88 77 08          	mov    %sil,0x8(%rdi)
140174384:	40 8a ce             	mov    %sil,%cl
140174387:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
14017438b:	66 3b 45 09          	cmp    0x9(%rbp),%ax
14017438f:	74 54                	je     0x1401743e5
140174391:	84 c9                	test   %cl,%cl
140174393:	75 4a                	jne    0x1401743df
140174395:	48 8b 0f             	mov    (%rdi),%rcx
140174398:	48 85 c9             	test   %rcx,%rcx
14017439b:	74 37                	je     0x1401743d4
14017439d:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401743a1:	48 8b 10             	mov    (%rax),%rdx
1401743a4:	48 85 d2             	test   %rdx,%rdx
1401743a7:	74 0e                	je     0x1401743b7
1401743a9:	48 8b 41 50          	mov    0x50(%rcx),%rax
1401743ad:	44 39 20             	cmp    %r12d,(%rax)
1401743b0:	7e 05                	jle    0x1401743b7
1401743b2:	0f b7 02             	movzwl (%rdx),%eax
1401743b5:	eb 0d                	jmp    0x1401743c4
1401743b7:	48 8b 01             	mov    (%rcx),%rax
1401743ba:	48 8b 40 30          	mov    0x30(%rax),%rax
1401743be:	ff 15 5c a2 08 00    	call   *0x8a25c(%rip)        # 0x1401fe620
1401743c4:	b9 ff ff 00 00       	mov    $0xffff,%ecx
1401743c9:	66 3b c8             	cmp    %ax,%cx
1401743cc:	74 06                	je     0x1401743d4
1401743ce:	66 89 47 0a          	mov    %ax,0xa(%rdi)
1401743d2:	eb 07                	jmp    0x1401743db
1401743d4:	4c 89 27             	mov    %r12,(%rdi)
1401743d7:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
1401743db:	40 88 77 08          	mov    %sil,0x8(%rdi)
1401743df:	66 3b 45 07          	cmp    0x7(%rbp),%ax
1401743e3:	75 75                	jne    0x14017445a
1401743e5:	41 f7 c5 ef ff ff ff 	test   $0xffffffef,%r13d
1401743ec:	0f 85 87 00 00 00    	jne    0x140174479
1401743f2:	41 bd 10 00 00 00    	mov    $0x10,%r13d
1401743f8:	44 89 6c 24 34       	mov    %r13d,0x34(%rsp)
1401743fd:	41 8a f4             	mov    %r12b,%sil
140174400:	44 88 64 24 30       	mov    %r12b,0x30(%rsp)
140174405:	48 8b 0f             	mov    (%rdi),%rcx
140174408:	48 85 c9             	test   %rcx,%rcx
14017440b:	74 43                	je     0x140174450
14017440d:	48 8b 41 38          	mov    0x38(%rcx),%rax
140174411:	4c 39 20             	cmp    %r12,(%rax)
140174414:	74 1e                	je     0x140174434
140174416:	48 8b 41 50          	mov    0x50(%rcx),%rax
14017441a:	44 39 20             	cmp    %r12d,(%rax)
14017441d:	7e 15                	jle    0x140174434
14017441f:	ff 08                	decl   (%rax)
140174421:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140174425:	48 8b 11             	mov    (%rcx),%rdx
140174428:	48 8d 42 02          	lea    0x2(%rdx),%rax
14017442c:	48 89 01             	mov    %rax,(%rcx)
14017442f:	0f b7 02             	movzwl (%rdx),%eax
140174432:	eb 0d                	jmp    0x140174441
140174434:	48 8b 01             	mov    (%rcx),%rax
140174437:	48 8b 40 38          	mov    0x38(%rax),%rax
14017443b:	ff 15 df a1 08 00    	call   *0x8a1df(%rip)        # 0x1401fe620
140174441:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174446:	66 3b c8             	cmp    %ax,%cx
140174449:	74 05                	je     0x140174450
14017444b:	41 8a c4             	mov    %r12b,%al
14017444e:	eb 05                	jmp    0x140174455
140174450:	4c 89 27             	mov    %r12,(%rdi)
140174453:	b0 01                	mov    $0x1,%al
140174455:	88 47 08             	mov    %al,0x8(%rdi)
140174458:	eb 24                	jmp    0x14017447e
14017445a:	45 85 ed             	test   %r13d,%r13d
14017445d:	75 1a                	jne    0x140174479
14017445f:	41 8d 45 08          	lea    0x8(%r13),%eax
140174463:	44 8b e8             	mov    %eax,%r13d
140174466:	89 44 24 34          	mov    %eax,0x34(%rsp)
14017446a:	eb 17                	jmp    0x140174483
14017446c:	41 8a f4             	mov    %r12b,%sil
14017446f:	44 88 64 24 30       	mov    %r12b,0x30(%rsp)
140174474:	45 85 ed             	test   %r13d,%r13d
140174477:	74 1b                	je     0x140174494
140174479:	44 3b eb             	cmp    %ebx,%r13d
14017447c:	74 16                	je     0x140174494
14017447e:	b8 08 00 00 00       	mov    $0x8,%eax
140174483:	bb 16 00 00 00       	mov    $0x16,%ebx
140174488:	44 3b e8             	cmp    %eax,%r13d
14017448b:	48 0f 44 d8          	cmove  %rax,%rbx
14017448f:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140174494:	4c 89 65 97          	mov    %r12,-0x69(%rbp)
140174498:	41 bf 0f 00 00 00    	mov    $0xf,%r15d
14017449e:	4c 89 7d af          	mov    %r15,-0x51(%rbp)
1401744a2:	66 44 89 65 97       	mov    %r12w,-0x69(%rbp)
1401744a7:	48 c7 45 a7 01 00 00 	movq   $0x1,-0x59(%rbp)
1401744ae:	00
1401744af:	40 0f b6 c6          	movzbl %sil,%eax
1401744b3:	88 45 97             	mov    %al,-0x69(%rbp)
1401744b6:	49 8b f4             	mov    %r12,%rsi
1401744b9:	4d 8d 66 1f          	lea    0x1f(%r14),%r12
1401744bd:	4c 89 65 87          	mov    %r12,-0x79(%rbp)
1401744c1:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1401744c6:	48 8b cf             	mov    %rdi,%rcx
1401744c9:	e8 42 df 00 00       	call   0x140182410
1401744ce:	45 33 d2             	xor    %r10d,%r10d
1401744d1:	4c 8b 75 97          	mov    -0x69(%rbp),%r14
1401744d5:	84 c0                	test   %al,%al
1401744d7:	0f 85 3f 02 00 00    	jne    0x14017471c
1401744dd:	8a 5c 24 31          	mov    0x31(%rsp),%bl
1401744e1:	4c 8b 6c 24 40       	mov    0x40(%rsp),%r13
1401744e6:	44 38 57 08          	cmp    %r10b,0x8(%rdi)
1401744ea:	75 49                	jne    0x140174535
1401744ec:	48 8b 0f             	mov    (%rdi),%rcx
1401744ef:	48 85 c9             	test   %rcx,%rcx
1401744f2:	74 3a                	je     0x14017452e
1401744f4:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401744f8:	48 8b 10             	mov    (%rax),%rdx
1401744fb:	48 85 d2             	test   %rdx,%rdx
1401744fe:	74 0e                	je     0x14017450e
140174500:	48 8b 41 50          	mov    0x50(%rcx),%rax
140174504:	44 39 10             	cmp    %r10d,(%rax)
140174507:	7e 05                	jle    0x14017450e
140174509:	0f b7 02             	movzwl (%rdx),%eax
14017450c:	eb 10                	jmp    0x14017451e
14017450e:	48 8b 01             	mov    (%rcx),%rax
140174511:	48 8b 40 30          	mov    0x30(%rax),%rax
140174515:	ff 15 05 a1 08 00    	call   *0x8a105(%rip)        # 0x1401fe620
14017451b:	45 33 d2             	xor    %r10d,%r10d
14017451e:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140174523:	66 3b c8             	cmp    %ax,%cx
140174526:	74 06                	je     0x14017452e
140174528:	66 89 47 0a          	mov    %ax,0xa(%rdi)
14017452c:	eb 03                	jmp    0x140174531
14017452e:	4c 89 17             	mov    %r10,(%rdi)
140174531:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140174535:	0f b7 4f 0a          	movzwl 0xa(%rdi),%ecx
140174539:	48 8d 45 d7          	lea    -0x29(%rbp),%rax
14017453d:	66 39 08             	cmp    %cx,(%rax)
140174540:	74 0d                	je     0x14017454f
140174542:	48 83 c0 02          	add    $0x2,%rax
140174546:	48 8d 55 0b          	lea    0xb(%rbp),%rdx
14017454a:	48 3b c2             	cmp    %rdx,%rax
14017454d:	75 ee                	jne    0x14017453d
14017454f:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
140174553:	48 2b c1             	sub    %rcx,%rax
140174556:	48 d1 f8             	sar    $1,%rax
140174559:	49 3b c5             	cmp    %r13,%rax
14017455c:	73 5f                	jae    0x1401745bd
14017455e:	48 8d 0d c3 c0 0a 00 	lea    0xac0c3(%rip),%rcx        # 0x140220628
140174565:	8a 0c 08             	mov    (%rax,%rcx,1),%cl
140174568:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
14017456d:	88 08                	mov    %cl,(%rax)
14017456f:	44 38 54 24 31       	cmp    %r10b,0x31(%rsp)
140174574:	75 05                	jne    0x14017457b
140174576:	80 f9 30             	cmp    $0x30,%cl
140174579:	74 12                	je     0x14017458d
14017457b:	49 3b c4             	cmp    %r12,%rax
14017457e:	73 0d                	jae    0x14017458d
140174580:	48 ff c0             	inc    %rax
140174583:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140174588:	c6 44 24 31 01       	movb   $0x1,0x31(%rsp)
14017458d:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
140174592:	48 8d 45 97          	lea    -0x69(%rbp),%rax
140174596:	49 83 ff 10          	cmp    $0x10,%r15
14017459a:	0f 93 c1             	setae  %cl
14017459d:	49 0f 43 c6          	cmovae %r14,%rax
1401745a1:	80 3c 30 7f          	cmpb   $0x7f,(%rax,%rsi,1)
1401745a5:	0f 84 e4 00 00 00    	je     0x14017468f
1401745ab:	48 8d 45 97          	lea    -0x69(%rbp),%rax
1401745af:	84 c9                	test   %cl,%cl
1401745b1:	49 0f 45 c6          	cmovne %r14,%rax
1401745b5:	fe 04 30             	incb   (%rax,%rsi,1)