14007a1c7:	57                   	push   %rdi
14007a1c8:	41 54                	push   %r12
14007a1ca:	41 55                	push   %r13
14007a1cc:	41 56                	push   %r14
14007a1ce:	41 57                	push   %r15
14007a1d0:	48 8b ec             	mov    %rsp,%rbp
14007a1d3:	48 83 ec 40          	sub    $0x40,%rsp
14007a1d7:	48 8b da             	mov    %rdx,%rbx
14007a1da:	4d 8b e8             	mov    %r8,%r13
14007a1dd:	48 8b 12             	mov    (%rdx),%rdx
14007a1e0:	48 8b f9             	mov    %rcx,%rdi
14007a1e3:	48 85 d2             	test   %rdx,%rdx
14007a1e6:	74 07                	je     0x14007a1ef
14007a1e8:	48 83 7b 18 00       	cmpq   $0x0,0x18(%rbx)
14007a1ed:	75 1a                	jne    0x14007a209
14007a1ef:	e8 d0 3f 00 00       	call   0x14007e1c4
14007a1f4:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14007a1fa:	e8 e5 45 01 00       	call   0x14008e7e4
14007a1ff:	b8 07 00 00 00       	mov    $0x7,%eax
14007a204:	e9 4a 07 00 00       	jmp    0x14007a953
14007a209:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a20d:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
14007a211:	48 ff c0             	inc    %rax
14007a214:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
14007a219:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a21d:	74 0a                	je     0x14007a229
14007a21f:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a223:	76 04                	jbe    0x14007a229
14007a225:	32 c9                	xor    %cl,%cl
14007a227:	eb 13                	jmp    0x14007a23c
14007a229:	48 8b 42 10          	mov    0x10(%rdx),%rax
14007a22d:	48 3b 42 08          	cmp    0x8(%rdx),%rax
14007a231:	74 f2                	je     0x14007a225
14007a233:	8a 08                	mov    (%rax),%cl
14007a235:	48 ff c0             	inc    %rax
14007a238:	48 89 42 10          	mov    %rax,0x10(%rdx)
14007a23c:	48 8d 45 48          	lea    0x48(%rbp),%rax
14007a240:	48 89 5d e8          	mov    %rbx,-0x18(%rbp)
14007a244:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14007a248:	be 08 00 00 00       	mov    $0x8,%esi
14007a24d:	48 8d 45 e0          	lea    -0x20(%rbp),%rax
14007a251:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
14007a255:	eb 32                	jmp    0x14007a289
14007a257:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a25b:	48 ff c0             	inc    %rax
14007a25e:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a262:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a266:	74 0b                	je     0x14007a273
14007a268:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a26c:	76 05                	jbe    0x14007a273
14007a26e:	41 8a cb             	mov    %r11b,%cl
14007a271:	eb 16                	jmp    0x14007a289
14007a273:	48 8b 13             	mov    (%rbx),%rdx
14007a276:	48 8b 42 10          	mov    0x10(%rdx),%rax
14007a27a:	48 3b 42 08          	cmp    0x8(%rdx),%rax
14007a27e:	74 ee                	je     0x14007a26e
14007a280:	8a 08                	mov    (%rax),%cl
14007a282:	48 ff c0             	inc    %rax
14007a285:	48 89 42 10          	mov    %rax,0x10(%rdx)
14007a289:	88 4d 48             	mov    %cl,0x48(%rbp)
14007a28c:	4c 8b c7             	mov    %rdi,%r8
14007a28f:	0f b6 c9             	movzbl %cl,%ecx
14007a292:	8b d6                	mov    %esi,%edx
14007a294:	e8 07 b6 ff ff       	call   0x1400758a0
14007a299:	45 33 db             	xor    %r11d,%r11d
14007a29c:	85 c0                	test   %eax,%eax
14007a29e:	75 b7                	jne    0x14007a257
14007a2a0:	8a 55 48             	mov    0x48(%rbp),%dl
14007a2a3:	4d 8d 95 08 03 00 00 	lea    0x308(%r13),%r10
14007a2aa:	80 fa 2d             	cmp    $0x2d,%dl
14007a2ad:	0f 94 c0             	sete   %al
14007a2b0:	41 88 02             	mov    %al,(%r10)
14007a2b3:	8d 42 d5             	lea    -0x2b(%rdx),%eax
14007a2b6:	a8 fd                	test   $0xfd,%al
14007a2b8:	75 35                	jne    0x14007a2ef
14007a2ba:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a2be:	48 ff c0             	inc    %rax
14007a2c1:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a2c5:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a2c9:	74 0b                	je     0x14007a2d6
14007a2cb:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a2cf:	76 05                	jbe    0x14007a2d6
14007a2d1:	41 8a d3             	mov    %r11b,%dl
14007a2d4:	eb 16                	jmp    0x14007a2ec
14007a2d6:	48 8b 0b             	mov    (%rbx),%rcx
14007a2d9:	48 8b 41 10          	mov    0x10(%rcx),%rax
14007a2dd:	48 3b 41 08          	cmp    0x8(%rcx),%rax
14007a2e1:	74 ee                	je     0x14007a2d1
14007a2e3:	8a 10                	mov    (%rax),%dl
14007a2e5:	48 ff c0             	inc    %rax
14007a2e8:	48 89 41 10          	mov    %rax,0x10(%rcx)
14007a2ec:	88 55 48             	mov    %dl,0x48(%rbp)
14007a2ef:	8d 42 b7             	lea    -0x49(%rdx),%eax
14007a2f2:	a8 df                	test   $0xdf,%al
14007a2f4:	0f 84 49 06 00 00    	je     0x14007a943
14007a2fa:	8d 42 b2             	lea    -0x4e(%rdx),%eax
14007a2fd:	a8 df                	test   $0xdf,%al
14007a2ff:	0f 84 2c 06 00 00    	je     0x14007a931
14007a305:	45 8a fb             	mov    %r11b,%r15b
14007a308:	80 fa 30             	cmp    $0x30,%dl
14007a30b:	0f 85 b2 00 00 00    	jne    0x14007a3c3
14007a311:	4c 8b 4b 10          	mov    0x10(%rbx),%r9
14007a315:	49 8d 41 01          	lea    0x1(%r9),%rax
14007a319:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a31d:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a321:	74 0b                	je     0x14007a32e
14007a323:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a327:	76 05                	jbe    0x14007a32e
14007a329:	41 8a cb             	mov    %r11b,%cl
14007a32c:	eb 23                	jmp    0x14007a351
14007a32e:	4c 8b 03             	mov    (%rbx),%r8
14007a331:	49 8b 40 10          	mov    0x10(%r8),%rax
14007a335:	49 3b 40 08          	cmp    0x8(%r8),%rax
14007a339:	74 ee                	je     0x14007a329
14007a33b:	8a 08                	mov    (%rax),%cl
14007a33d:	48 ff c0             	inc    %rax
14007a340:	49 89 40 10          	mov    %rax,0x10(%r8)
14007a344:	80 f9 78             	cmp    $0x78,%cl
14007a347:	74 3e                	je     0x14007a387
14007a349:	80 f9 58             	cmp    $0x58,%cl
14007a34c:	74 39                	je     0x14007a387
14007a34e:	8a 55 48             	mov    0x48(%rbp),%dl
14007a351:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a355:	48 ff c8             	dec    %rax
14007a358:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a35c:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a360:	74 06                	je     0x14007a368
14007a362:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a366:	77 5b                	ja     0x14007a3c3
14007a368:	fe c1                	inc    %cl
14007a36a:	80 f9 01             	cmp    $0x1,%cl
14007a36d:	76 54                	jbe    0x14007a3c3
14007a36f:	48 8b 0b             	mov    (%rbx),%rcx
14007a372:	48 8b 41 10          	mov    0x10(%rcx),%rax
14007a376:	48 3b 01             	cmp    (%rcx),%rax
14007a379:	74 48                	je     0x14007a3c3
14007a37b:	48 ff c8             	dec    %rax
14007a37e:	48 89 41 10          	mov    %rax,0x10(%rcx)
14007a382:	8a 55 48             	mov    0x48(%rbp),%dl
14007a385:	eb 3c                	jmp    0x14007a3c3
14007a387:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a38b:	41 b7 01             	mov    $0x1,%r15b
14007a38e:	48 ff c0             	inc    %rax
14007a391:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a395:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a399:	74 0b                	je     0x14007a3a6
14007a39b:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a39f:	76 05                	jbe    0x14007a3a6
14007a3a1:	41 8a d3             	mov    %r11b,%dl
14007a3a4:	eb 16                	jmp    0x14007a3bc
14007a3a6:	48 8b 0b             	mov    (%rbx),%rcx
14007a3a9:	48 8b 41 10          	mov    0x10(%rcx),%rax
14007a3ad:	48 3b 41 08          	cmp    0x8(%rcx),%rax
14007a3b1:	74 ee                	je     0x14007a3a1
14007a3b3:	8a 10                	mov    (%rax),%dl
14007a3b5:	48 ff c0             	inc    %rax
14007a3b8:	48 89 41 10          	mov    %rax,0x10(%rcx)
14007a3bc:	88 55 48             	mov    %dl,0x48(%rbp)
14007a3bf:	4c 89 4d e0          	mov    %r9,-0x20(%rbp)
14007a3c3:	4d 8d 75 08          	lea    0x8(%r13),%r14
14007a3c7:	45 8b e3             	mov    %r11d,%r12d
14007a3ca:	49 8b f6             	mov    %r14,%rsi
14007a3cd:	45 8a cb             	mov    %r11b,%r9b
14007a3d0:	80 fa 30             	cmp    $0x30,%dl
14007a3d3:	75 40                	jne    0x14007a415
14007a3d5:	41 b1 01             	mov    $0x1,%r9b
14007a3d8:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a3dc:	48 ff c0             	inc    %rax
14007a3df:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a3e3:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a3e7:	74 06                	je     0x14007a3ef
14007a3e9:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a3ed:	77 20                	ja     0x14007a40f
14007a3ef:	48 8b 0b             	mov    (%rbx),%rcx
14007a3f2:	48 8b 41 10          	mov    0x10(%rcx),%rax
14007a3f6:	48 3b 41 08          	cmp    0x8(%rcx),%rax
14007a3fa:	74 13                	je     0x14007a40f
14007a3fc:	8a 10                	mov    (%rax),%dl
14007a3fe:	48 ff c0             	inc    %rax
14007a401:	48 89 41 10          	mov    %rax,0x10(%rcx)
14007a405:	88 55 48             	mov    %dl,0x48(%rbp)
14007a408:	80 fa 30             	cmp    $0x30,%dl
14007a40b:	75 08                	jne    0x14007a415
14007a40d:	eb c9                	jmp    0x14007a3d8
14007a40f:	41 8a d3             	mov    %r11b,%dl
14007a412:	88 55 48             	mov    %dl,0x48(%rbp)
14007a415:	41 8a c7             	mov    %r15b,%al
14007a418:	f6 d8                	neg    %al
14007a41a:	45 1b c0             	sbb    %r8d,%r8d
14007a41d:	41 83 e0 06          	and    $0x6,%r8d
14007a421:	41 83 c0 09          	add    $0x9,%r8d
14007a425:	8d 42 d0             	lea    -0x30(%rdx),%eax
14007a428:	3c 09                	cmp    $0x9,%al
14007a42a:	77 08                	ja     0x14007a434
14007a42c:	0f be c2             	movsbl %dl,%eax
14007a42f:	83 e8 30             	sub    $0x30,%eax
14007a432:	eb 21                	jmp    0x14007a455
14007a434:	8d 42 9f             	lea    -0x61(%rdx),%eax
14007a437:	3c 19                	cmp    $0x19,%al
14007a439:	77 08                	ja     0x14007a443
14007a43b:	0f be c2             	movsbl %dl,%eax
14007a43e:	83 e8 57             	sub    $0x57,%eax
14007a441:	eb 12                	jmp    0x14007a455
14007a443:	8d 42 bf             	lea    -0x41(%rdx),%eax
14007a446:	3c 19                	cmp    $0x19,%al
14007a448:	77 08                	ja     0x14007a452
14007a44a:	0f be c2             	movsbl %dl,%eax
14007a44d:	83 e8 37             	sub    $0x37,%eax
14007a450:	eb 03                	jmp    0x14007a455
14007a452:	83 c8 ff             	or     $0xffffffff,%eax
14007a455:	41 3b c0             	cmp    %r8d,%eax
14007a458:	77 47                	ja     0x14007a4a1
14007a45a:	41 b1 01             	mov    $0x1,%r9b
14007a45d:	49 3b f2             	cmp    %r10,%rsi
14007a460:	74 05                	je     0x14007a467
14007a462:	88 06                	mov    %al,(%rsi)
14007a464:	48 ff c6             	inc    %rsi
14007a467:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a46b:	41 ff c4             	inc    %r12d
14007a46e:	48 ff c0             	inc    %rax
14007a471:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a475:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a479:	74 0b                	je     0x14007a486
14007a47b:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a47f:	76 05                	jbe    0x14007a486
14007a481:	41 8a d3             	mov    %r11b,%dl
14007a484:	eb 16                	jmp    0x14007a49c
14007a486:	48 8b 0b             	mov    (%rbx),%rcx
14007a489:	48 8b 41 10          	mov    0x10(%rcx),%rax
14007a48d:	48 3b 41 08          	cmp    0x8(%rcx),%rax
14007a491:	74 ee                	je     0x14007a481
14007a493:	8a 10                	mov    (%rax),%dl
14007a495:	48 ff c0             	inc    %rax
14007a498:	48 89 41 10          	mov    %rax,0x10(%rcx)
14007a49c:	88 55 48             	mov    %dl,0x48(%rbp)
14007a49f:	eb 84                	jmp    0x14007a425
14007a4a1:	48 8b 07             	mov    (%rdi),%rax
14007a4a4:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
14007a4ab:	48 8b 01             	mov    (%rcx),%rax
14007a4ae:	3a 10                	cmp    (%rax),%dl
14007a4b0:	0f 85 0a 01 00 00    	jne    0x14007a5c0
14007a4b6:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a4ba:	48 ff c0             	inc    %rax
14007a4bd:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a4c1:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a4c5:	74 0b                	je     0x14007a4d2
14007a4c7:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a4cb:	76 05                	jbe    0x14007a4d2
14007a4cd:	41 8a d3             	mov    %r11b,%dl
14007a4d0:	eb 16                	jmp    0x14007a4e8
14007a4d2:	48 8b 0b             	mov    (%rbx),%rcx
14007a4d5:	48 8b 41 10          	mov    0x10(%rcx),%rax
14007a4d9:	48 3b 41 08          	cmp    0x8(%rcx),%rax
14007a4dd:	74 ee                	je     0x14007a4cd
14007a4df:	8a 10                	mov    (%rax),%dl
14007a4e1:	48 ff c0             	inc    %rax
14007a4e4:	48 89 41 10          	mov    %rax,0x10(%rcx)
14007a4e8:	88 55 48             	mov    %dl,0x48(%rbp)
14007a4eb:	8a ca                	mov    %dl,%cl
14007a4ed:	49 3b f6             	cmp    %r14,%rsi
14007a4f0:	75 4d                	jne    0x14007a53f
14007a4f2:	80 fa 30             	cmp    $0x30,%dl
14007a4f5:	75 48                	jne    0x14007a53f
14007a4f7:	41 b1 01             	mov    $0x1,%r9b
14007a4fa:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a4fe:	41 ff cc             	dec    %r12d
14007a501:	48 ff c0             	inc    %rax
14007a504:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a508:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a50c:	74 06                	je     0x14007a514
14007a50e:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a512:	77 22                	ja     0x14007a536
14007a514:	48 8b 13             	mov    (%rbx),%rdx
14007a517:	48 8b 42 10          	mov    0x10(%rdx),%rax
14007a51b:	48 3b 42 08          	cmp    0x8(%rdx),%rax
14007a51f:	74 15                	je     0x14007a536
14007a521:	8a 08                	mov    (%rax),%cl
14007a523:	48 ff c0             	inc    %rax
14007a526:	48 89 42 10          	mov    %rax,0x10(%rdx)
14007a52a:	8a d1                	mov    %cl,%dl
14007a52c:	88 4d 48             	mov    %cl,0x48(%rbp)
14007a52f:	80 f9 30             	cmp    $0x30,%cl
14007a532:	75 0b                	jne    0x14007a53f
14007a534:	eb c4                	jmp    0x14007a4fa
14007a536:	41 8a cb             	mov    %r11b,%cl
14007a539:	41 8a d3             	mov    %r11b,%dl
14007a53c:	88 4d 48             	mov    %cl,0x48(%rbp)
14007a53f:	8a c1                	mov    %cl,%al
14007a541:	80 f9 30             	cmp    $0x30,%cl
14007a544:	7c 0c                	jl     0x14007a552
14007a546:	3c 39                	cmp    $0x39,%al
14007a548:	7f 08                	jg     0x14007a552
14007a54a:	0f be c2             	movsbl %dl,%eax
14007a54d:	83 e8 30             	sub    $0x30,%eax
14007a550:	eb 21                	jmp    0x14007a573
14007a552:	8d 42 9f             	lea    -0x61(%rdx),%eax
14007a555:	3c 19                	cmp    $0x19,%al
14007a557:	77 08                	ja     0x14007a561
14007a559:	0f be c2             	movsbl %dl,%eax
14007a55c:	83 e8 57             	sub    $0x57,%eax
14007a55f:	eb 12                	jmp    0x14007a573
14007a561:	8d 42 bf             	lea    -0x41(%rdx),%eax
14007a564:	3c 19                	cmp    $0x19,%al
14007a566:	77 08                	ja     0x14007a570
14007a568:	0f be c2             	movsbl %dl,%eax
14007a56b:	83 e8 37             	sub    $0x37,%eax
14007a56e:	eb 03                	jmp    0x14007a573
14007a570:	83 c8 ff             	or     $0xffffffff,%eax
14007a573:	41 3b c0             	cmp    %r8d,%eax
14007a576:	77 48                	ja     0x14007a5c0
14007a578:	41 b1 01             	mov    $0x1,%r9b
14007a57b:	49 3b f2             	cmp    %r10,%rsi
14007a57e:	74 05                	je     0x14007a585
14007a580:	88 06                	mov    %al,(%rsi)
14007a582:	48 ff c6             	inc    %rsi
14007a585:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a589:	48 ff c0             	inc    %rax
14007a58c:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a590:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a594:	74 0b                	je     0x14007a5a1
14007a596:	48 3b 43 08          	cmp    0x8(%rbx),%rax
14007a59a:	76 05                	jbe    0x14007a5a1
14007a59c:	41 8a d3             	mov    %r11b,%dl
14007a59f:	eb 16                	jmp    0x14007a5b7
14007a5a1:	48 8b 0b             	mov    (%rbx),%rcx
14007a5a4:	48 8b 41 10          	mov    0x10(%rcx),%rax
14007a5a8:	48 3b 41 08          	cmp    0x8(%rcx),%rax
14007a5ac:	74 ee                	je     0x14007a59c
14007a5ae:	8a 10                	mov    (%rax),%dl
14007a5b0:	48 ff c0             	inc    %rax
14007a5b3:	48 89 41 10          	mov    %rax,0x10(%rcx)
14007a5b7:	88 55 48             	mov    %dl,0x48(%rbp)
14007a5ba:	8a ca                	mov    %dl,%cl
14007a5bc:	8a c2                	mov    %dl,%al
14007a5be:	eb 81                	jmp    0x14007a541
14007a5c0:	45 84 c9             	test   %r9b,%r9b
14007a5c3:	75 1f                	jne    0x14007a5e4
14007a5c5:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
14007a5c9:	e8 9e 03 00 00       	call   0x14007a96c
14007a5ce:	84 c0                	test   %al,%al
14007a5d0:	0f 84 29 fc ff ff    	je     0x14007a1ff
14007a5d6:	45 84 ff             	test   %r15b,%r15b
14007a5d9:	0f 85 03 03 00 00    	jne    0x14007a8e2
14007a5df:	e9 1b fc ff ff       	jmp    0x14007a1ff
14007a5e4:	48 8b 43 10          	mov    0x10(%rbx),%rax
14007a5e8:	48 ff c8             	dec    %rax
14007a5eb:	48 89 43 10          	mov    %rax,0x10(%rbx)
14007a5ef:	4c 39 5b 08          	cmp    %r11,0x8(%rbx)
14007a5f3:	74 06                	je     0x14007a5fb
14007a5f5:	48 3b 43 08          	cmp    0x8(%rbx),%rax