140e0414e:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140e04152:	e8 d9 8e ff ff       	call   0x140dfd030
140e04157:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140e0415b:	48 2b c1             	sub    %rcx,%rax
140e0415e:	48 d1 f8             	sar    $1,%rax
140e04161:	48 3b c3             	cmp    %rbx,%rax
140e04164:	0f 83 a9 00 00 00    	jae    0x140e04213
140e0416a:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04170:	44 3b f6             	cmp    %esi,%r14d
140e04173:	7d 19                	jge    0x140e0418e
140e04175:	48 8d 0d 44 c7 3d 00 	lea    0x3dc744(%rip),%rcx        # 0x1411e08c0
140e0417c:	8a 04 08             	mov    (%rax,%rcx,1),%al
140e0417f:	41 88 04 24          	mov    %al,(%r12)
140e04183:	4d 03 e1             	add    %r9,%r12
140e04186:	45 03 f1             	add    %r9d,%r14d
140e04189:	45 33 c0             	xor    %r8d,%r8d
140e0418c:	eb 0e                	jmp    0x140e0419c
140e0418e:	45 0f b6 ed          	movzbl %r13b,%r13d
140e04192:	45 33 c0             	xor    %r8d,%r8d
140e04195:	48 85 c0             	test   %rax,%rax
140e04198:	45 0f 45 e9          	cmovne %r9d,%r13d
140e0419c:	44 88 4c 24 31       	mov    %r9b,0x31(%rsp)
140e041a1:	48 8b 0f             	mov    (%rdi),%rcx
140e041a4:	48 85 c9             	test   %rcx,%rcx
140e041a7:	74 4a                	je     0x140e041f3
140e041a9:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e041ad:	4c 39 00             	cmp    %r8,(%rax)
140e041b0:	74 1e                	je     0x140e041d0
140e041b2:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e041b6:	44 39 00             	cmp    %r8d,(%rax)
140e041b9:	7e 15                	jle    0x140e041d0
140e041bb:	ff 08                	decl   (%rax)
140e041bd:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e041c1:	48 8b 11             	mov    (%rcx),%rdx
140e041c4:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e041c8:	48 89 01             	mov    %rax,(%rcx)
140e041cb:	0f b7 02             	movzwl (%rdx),%eax
140e041ce:	eb 14                	jmp    0x140e041e4
140e041d0:	48 8b 01             	mov    (%rcx),%rax
140e041d3:	48 8b 40 38          	mov    0x38(%rax),%rax
140e041d7:	ff 15 43 f8 17 00    	call   *0x17f843(%rip)        # 0x140f83a20
140e041dd:	45 33 c0             	xor    %r8d,%r8d
140e041e0:	45 8d 48 01          	lea    0x1(%r8),%r9d
140e041e4:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e041e9:	66 3b c8             	cmp    %ax,%cx
140e041ec:	74 05                	je     0x140e041f3
140e041ee:	41 8a c0             	mov    %r8b,%al
140e041f1:	eb 06                	jmp    0x140e041f9
140e041f3:	4c 89 07             	mov    %r8,(%rdi)
140e041f6:	41 8a c1             	mov    %r9b,%al
140e041f9:	88 47 08             	mov    %al,0x8(%rdi)
140e041fc:	49 8b d7             	mov    %r15,%rdx
140e041ff:	48 8b cf             	mov    %rdi,%rcx
140e04202:	e8 a1 2e 01 00       	call   0x140e170a8
140e04207:	33 d2                	xor    %edx,%edx
140e04209:	84 c0                	test   %al,%al
140e0420b:	0f 84 e7 fe ff ff    	je     0x140e040f8
140e04211:	eb 02                	jmp    0x140e04215
140e04213:	33 d2                	xor    %edx,%edx
140e04215:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
140e0421a:	40 8a 74 24 33       	mov    0x33(%rsp),%sil
140e0421f:	44 8a 7c 24 32       	mov    0x32(%rsp),%r15b
140e04224:	45 84 ed             	test   %r13b,%r13b
140e04227:	74 3b                	je     0x140e04264
140e04229:	48 8b c2             	mov    %rdx,%rax
140e0422c:	41 38 74 24 ff       	cmp    %sil,-0x1(%r12)
140e04231:	0f 94 c0             	sete   %al
140e04234:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e0423a:	49 03 c1             	add    %r9,%rax
140e0423d:	4d 8b c4             	mov    %r12,%r8
140e04240:	4c 2b c0             	sub    %rax,%r8
140e04243:	41 8a 10             	mov    (%r8),%dl
140e04246:	80 fa 30             	cmp    $0x30,%dl
140e04249:	74 11                	je     0x140e0425c
140e0424b:	41 8a c7             	mov    %r15b,%al
140e0424e:	f6 d8                	neg    %al
140e04250:	1a c9                	sbb    %cl,%cl
140e04252:	80 e1 03             	and    $0x3,%cl
140e04255:	80 c1 35             	add    $0x35,%cl
140e04258:	3a d1                	cmp    %cl,%dl
140e0425a:	75 06                	jne    0x140e04262
140e0425c:	41 02 d1             	add    %r9b,%dl
140e0425f:	41 88 10             	mov    %dl,(%r8)
140e04262:	33 d2                	xor    %edx,%edx
140e04264:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e04269:	41 8a c5             	mov    %r13b,%al
140e0426c:	f6 d8                	neg    %al
140e0426e:	48 1b c9             	sbb    %rcx,%rcx
140e04271:	83 e1 0e             	and    $0xe,%ecx
140e04274:	0f b7 74 0d f7       	movzwl -0x9(%rbp,%rcx,1),%esi
140e04279:	41 8a c5             	mov    %r13b,%al
140e0427c:	f6 d8                	neg    %al
140e0427e:	48 1b c9             	sbb    %rcx,%rcx
140e04281:	83 e1 18             	and    $0x18,%ecx
140e04284:	44 0f b7 74 0d eb    	movzwl -0x15(%rbp,%rcx,1),%r14d
140e0428a:	44 8a fa             	mov    %dl,%r15b
140e0428d:	88 54 24 33          	mov    %dl,0x33(%rsp)
140e04291:	48 8b da             	mov    %rdx,%rbx
140e04294:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
140e04299:	38 54 24 31          	cmp    %dl,0x31(%rsp)
140e0429d:	0f 84 d6 06 00 00    	je     0x140e04979
140e042a3:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140e042a8:	48 8b cf             	mov    %rdi,%rcx
140e042ab:	e8 f8 2d 01 00       	call   0x140e170a8
140e042b0:	33 d2                	xor    %edx,%edx
140e042b2:	84 c0                	test   %al,%al
140e042b4:	0f 85 01 05 00 00    	jne    0x140e047bb
140e042ba:	8a 4f 08             	mov    0x8(%rdi),%cl
140e042bd:	84 c9                	test   %cl,%cl
140e042bf:	75 4e                	jne    0x140e0430f
140e042c1:	48 8b 0f             	mov    (%rdi),%rcx
140e042c4:	48 85 c9             	test   %rcx,%rcx
140e042c7:	74 39                	je     0x140e04302
140e042c9:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e042cd:	48 8b 10             	mov    (%rax),%rdx
140e042d0:	48 85 d2             	test   %rdx,%rdx
140e042d3:	74 0e                	je     0x140e042e3
140e042d5:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e042d9:	83 38 00             	cmpl   $0x0,(%rax)
140e042dc:	7e 05                	jle    0x140e042e3
140e042de:	0f b7 02             	movzwl (%rdx),%eax
140e042e1:	eb 0d                	jmp    0x140e042f0
140e042e3:	48 8b 01             	mov    (%rcx),%rax
140e042e6:	48 8b 40 30          	mov    0x30(%rax),%rax
140e042ea:	ff 15 30 f7 17 00    	call   *0x17f730(%rip)        # 0x140f83a20
140e042f0:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e042f5:	33 d2                	xor    %edx,%edx
140e042f7:	66 3b c8             	cmp    %ax,%cx
140e042fa:	74 06                	je     0x140e04302
140e042fc:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e04300:	eb 03                	jmp    0x140e04305
140e04302:	48 89 17             	mov    %rdx,(%rdi)
140e04305:	b8 01 00 00 00       	mov    $0x1,%eax
140e0430a:	88 47 08             	mov    %al,0x8(%rdi)
140e0430d:	8a c8                	mov    %al,%cl
140e0430f:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e04313:	66 3b c6             	cmp    %si,%ax
140e04316:	74 5a                	je     0x140e04372
140e04318:	84 c9                	test   %cl,%cl
140e0431a:	75 4c                	jne    0x140e04368
140e0431c:	48 8b 0f             	mov    (%rdi),%rcx
140e0431f:	48 85 c9             	test   %rcx,%rcx
140e04322:	74 39                	je     0x140e0435d
140e04324:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04328:	48 8b 10             	mov    (%rax),%rdx
140e0432b:	48 85 d2             	test   %rdx,%rdx
140e0432e:	74 0e                	je     0x140e0433e
140e04330:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04334:	83 38 00             	cmpl   $0x0,(%rax)
140e04337:	7e 05                	jle    0x140e0433e
140e04339:	0f b7 02             	movzwl (%rdx),%eax
140e0433c:	eb 0d                	jmp    0x140e0434b
140e0433e:	48 8b 01             	mov    (%rcx),%rax
140e04341:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04345:	ff 15 d5 f6 17 00    	call   *0x17f6d5(%rip)        # 0x140f83a20
140e0434b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e04350:	33 d2                	xor    %edx,%edx
140e04352:	66 3b c8             	cmp    %ax,%cx
140e04355:	74 06                	je     0x140e0435d
140e04357:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e0435b:	eb 07                	jmp    0x140e04364
140e0435d:	48 89 17             	mov    %rdx,(%rdi)
140e04360:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e04364:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140e04368:	66 41 3b c6          	cmp    %r14w,%ax
140e0436c:	0f 85 49 04 00 00    	jne    0x140e047bb
140e04372:	48 8b 0f             	mov    (%rdi),%rcx
140e04375:	48 85 c9             	test   %rcx,%rcx
140e04378:	74 43                	je     0x140e043bd
140e0437a:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0437e:	48 39 10             	cmp    %rdx,(%rax)
140e04381:	74 1d                	je     0x140e043a0
140e04383:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04387:	39 10                	cmp    %edx,(%rax)
140e04389:	7e 15                	jle    0x140e043a0
140e0438b:	ff 08                	decl   (%rax)
140e0438d:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04391:	48 8b 11             	mov    (%rcx),%rdx
140e04394:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04398:	48 89 01             	mov    %rax,(%rcx)
140e0439b:	0f b7 02             	movzwl (%rdx),%eax
140e0439e:	eb 0d                	jmp    0x140e043ad
140e043a0:	48 8b 01             	mov    (%rcx),%rax
140e043a3:	48 8b 40 38          	mov    0x38(%rax),%rax
140e043a7:	ff 15 73 f6 17 00    	call   *0x17f673(%rip)        # 0x140f83a20
140e043ad:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e043b2:	33 d2                	xor    %edx,%edx
140e043b4:	66 3b c8             	cmp    %ax,%cx
140e043b7:	74 04                	je     0x140e043bd
140e043b9:	8a c2                	mov    %dl,%al
140e043bb:	eb 08                	jmp    0x140e043c5
140e043bd:	48 89 17             	mov    %rdx,(%rdi)
140e043c0:	b8 01 00 00 00       	mov    $0x1,%eax
140e043c5:	88 47 08             	mov    %al,0x8(%rdi)
140e043c8:	40 8a f2             	mov    %dl,%sil
140e043cb:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
140e043d0:	49 8b d6             	mov    %r14,%rdx
140e043d3:	48 8b cf             	mov    %rdi,%rcx
140e043d6:	e8 cd 2c 01 00       	call   0x140e170a8
140e043db:	45 33 c0             	xor    %r8d,%r8d
140e043de:	84 c0                	test   %al,%al
140e043e0:	0f 85 8a 01 00 00    	jne    0x140e04570
140e043e6:	8a 4f 08             	mov    0x8(%rdi),%cl
140e043e9:	84 c9                	test   %cl,%cl
140e043eb:	75 54                	jne    0x140e04441
140e043ed:	48 8b 0f             	mov    (%rdi),%rcx
140e043f0:	48 85 c9             	test   %rcx,%rcx
140e043f3:	74 3a                	je     0x140e0442f
140e043f5:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e043f9:	48 8b 10             	mov    (%rax),%rdx
140e043fc:	48 85 d2             	test   %rdx,%rdx
140e043ff:	74 0e                	je     0x140e0440f
140e04401:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04405:	44 39 00             	cmp    %r8d,(%rax)
140e04408:	7e 05                	jle    0x140e0440f
140e0440a:	0f b7 02             	movzwl (%rdx),%eax
140e0440d:	eb 10                	jmp    0x140e0441f
140e0440f:	48 8b 01             	mov    (%rcx),%rax
140e04412:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04416:	ff 15 04 f6 17 00    	call   *0x17f604(%rip)        # 0x140f83a20
140e0441c:	45 33 c0             	xor    %r8d,%r8d
140e0441f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e04424:	66 3b c8             	cmp    %ax,%cx
140e04427:	74 06                	je     0x140e0442f
140e04429:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e0442d:	eb 03                	jmp    0x140e04432
140e0442f:	4c 89 07             	mov    %r8,(%rdi)
140e04432:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04438:	44 88 4f 08          	mov    %r9b,0x8(%rdi)
140e0443c:	41 8a c9             	mov    %r9b,%cl
140e0443f:	eb 06                	jmp    0x140e04447
140e04441:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04447:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e0444b:	66 3b 44 24 50       	cmp    0x50(%rsp),%ax
140e04450:	75 5e                	jne    0x140e044b0
140e04452:	48 8b 0f             	mov    (%rdi),%rcx
140e04455:	48 85 c9             	test   %rcx,%rcx
140e04458:	74 46                	je     0x140e044a0
140e0445a:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0445e:	4c 39 00             	cmp    %r8,(%rax)
140e04461:	74 1e                	je     0x140e04481
140e04463:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04467:	44 39 00             	cmp    %r8d,(%rax)
140e0446a:	7e 15                	jle    0x140e04481
140e0446c:	ff 08                	decl   (%rax)
140e0446e:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04472:	48 8b 11             	mov    (%rcx),%rdx
140e04475:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e04479:	48 89 01             	mov    %rax,(%rcx)
140e0447c:	0f b7 02             	movzwl (%rdx),%eax
140e0447f:	eb 10                	jmp    0x140e04491
140e04481:	48 8b 01             	mov    (%rcx),%rax
140e04484:	48 8b 40 38          	mov    0x38(%rax),%rax
140e04488:	ff 15 92 f5 17 00    	call   *0x17f592(%rip)        # 0x140f83a20
140e0448e:	45 33 c0             	xor    %r8d,%r8d
140e04491:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e04496:	66 3b c8             	cmp    %ax,%cx
140e04499:	74 05                	je     0x140e044a0
140e0449b:	41 8a c0             	mov    %r8b,%al
140e0449e:	eb 08                	jmp    0x140e044a8
140e044a0:	4c 89 07             	mov    %r8,(%rdi)
140e044a3:	b8 01 00 00 00       	mov    $0x1,%eax
140e044a8:	88 47 08             	mov    %al,0x8(%rdi)
140e044ab:	e9 c0 00 00 00       	jmp    0x140e04570
140e044b0:	84 c9                	test   %cl,%cl
140e044b2:	75 53                	jne    0x140e04507
140e044b4:	48 8b 0f             	mov    (%rdi),%rcx
140e044b7:	48 85 c9             	test   %rcx,%rcx
140e044ba:	74 3a                	je     0x140e044f6
140e044bc:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e044c0:	48 8b 10             	mov    (%rax),%rdx
140e044c3:	48 85 d2             	test   %rdx,%rdx
140e044c6:	74 0e                	je     0x140e044d6
140e044c8:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e044cc:	44 39 00             	cmp    %r8d,(%rax)
140e044cf:	7e 05                	jle    0x140e044d6
140e044d1:	0f b7 02             	movzwl (%rdx),%eax
140e044d4:	eb 10                	jmp    0x140e044e6
140e044d6:	48 8b 01             	mov    (%rcx),%rax
140e044d9:	48 8b 40 30          	mov    0x30(%rax),%rax
140e044dd:	ff 15 3d f5 17 00    	call   *0x17f53d(%rip)        # 0x140f83a20
140e044e3:	45 33 c0             	xor    %r8d,%r8d
140e044e6:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e044eb:	66 3b c8             	cmp    %ax,%cx
140e044ee:	74 06                	je     0x140e044f6
140e044f0:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e044f4:	eb 07                	jmp    0x140e044fd
140e044f6:	4c 89 07             	mov    %r8,(%rdi)
140e044f9:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e044fd:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04503:	44 88 4f 08          	mov    %r9b,0x8(%rdi)
140e04507:	66 3b 44 24 36       	cmp    0x36(%rsp),%ax
140e0450c:	75 62                	jne    0x140e04570
140e0450e:	45 8a f9             	mov    %r9b,%r15b
140e04511:	44 88 4c 24 33       	mov    %r9b,0x33(%rsp)
140e04516:	48 8b 0f             	mov    (%rdi),%rcx
140e04519:	48 85 c9             	test   %rcx,%rcx
140e0451c:	74 4b                	je     0x140e04569
140e0451e:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04522:	4c 39 00             	cmp    %r8,(%rax)
140e04525:	74 1e                	je     0x140e04545
140e04527:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e0452b:	44 39 00             	cmp    %r8d,(%rax)
140e0452e:	7e 15                	jle    0x140e04545
140e04530:	ff 08                	decl   (%rax)
140e04532:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04536:	48 8b 11             	mov    (%rcx),%rdx
140e04539:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e0453d:	48 89 01             	mov    %rax,(%rcx)
140e04540:	0f b7 02             	movzwl (%rdx),%eax
140e04543:	eb 14                	jmp    0x140e04559
140e04545:	48 8b 01             	mov    (%rcx),%rax
140e04548:	48 8b 40 38          	mov    0x38(%rax),%rax
140e0454c:	ff 15 ce f4 17 00    	call   *0x17f4ce(%rip)        # 0x140f83a20
140e04552:	45 33 c0             	xor    %r8d,%r8d
140e04555:	45 8d 48 01          	lea    0x1(%r8),%r9d
140e04559:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e0455e:	66 3b c8             	cmp    %ax,%cx
140e04561:	74 06                	je     0x140e04569
140e04563:	44 88 47 08          	mov    %r8b,0x8(%rdi)
140e04567:	eb 07                	jmp    0x140e04570
140e04569:	4c 89 07             	mov    %r8,(%rdi)
140e0456c:	44 88 4f 08          	mov    %r9b,0x8(%rdi)
140e04570:	49 8b d6             	mov    %r14,%rdx
140e04573:	48 8b cf             	mov    %rdi,%rcx
140e04576:	e8 2d 2b 01 00       	call   0x140e170a8
140e0457b:	45 33 c0             	xor    %r8d,%r8d
140e0457e:	84 c0                	test   %al,%al
140e04580:	0f 85 db 00 00 00    	jne    0x140e04661
140e04586:	44 0f b7 6c 24 38    	movzwl 0x38(%rsp),%r13d
140e0458c:	41 8d 58 01          	lea    0x1(%r8),%ebx
140e04590:	41 bc ff ff 00 00    	mov    $0xffff,%r12d
140e04596:	44 38 47 08          	cmp    %r8b,0x8(%rdi)
140e0459a:	75 44                	jne    0x140e045e0
140e0459c:	48 8b 0f             	mov    (%rdi),%rcx
140e0459f:	48 85 c9             	test   %rcx,%rcx
140e045a2:	74 36                	je     0x140e045da
140e045a4:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e045a8:	48 8b 10             	mov    (%rax),%rdx
140e045ab:	48 85 d2             	test   %rdx,%rdx
140e045ae:	74 0e                	je     0x140e045be
140e045b0:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e045b4:	44 39 00             	cmp    %r8d,(%rax)
140e045b7:	7e 05                	jle    0x140e045be
140e045b9:	0f b7 02             	movzwl (%rdx),%eax
140e045bc:	eb 10                	jmp    0x140e045ce
140e045be:	48 8b 01             	mov    (%rcx),%rax
140e045c1:	48 8b 40 30          	mov    0x30(%rax),%rax
140e045c5:	ff 15 55 f4 17 00    	call   *0x17f455(%rip)        # 0x140f83a20
140e045cb:	45 33 c0             	xor    %r8d,%r8d