14004d2c2:	48 3b c5             	cmp    %rbp,%rax
14004d2c5:	77 54                	ja     0x14004d31b
14004d2c7:	89 47 08             	mov    %eax,0x8(%rdi)
14004d2ca:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14004d2cf:	48 89 47 10          	mov    %rax,0x10(%rdi)
14004d2d3:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14004d2d8:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
14004d2dd:	48 83 c4 50          	add    $0x50,%rsp
14004d2e1:	5f                   	pop    %rdi
14004d2e2:	c3                   	ret
14004d2e3:	48 8d 0d 8a 15 03 00 	lea    0x3158a(%rip),%rcx        # 0x14007e874
14004d2ea:	44 8b c8             	mov    %eax,%r9d
14004d2ed:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14004d2f2:	48 8d 15 87 d7 02 00 	lea    0x2d787(%rip),%rdx        # 0x14007aa80
14004d2f9:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14004d2fe:	41 b8 4d 00 00 00    	mov    $0x4d,%r8d
14004d304:	e8 3f f2 00 00       	call   0x14005c548
14004d309:	48 8d 15 88 c7 05 00 	lea    0x5c788(%rip),%rdx        # 0x1400a9a98
14004d310:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14004d315:	e8 d8 cf 01 00       	call   0x14006a2f2
14004d31a:	cc                   	int3
14004d31b:	e8 94 9b fc ff       	call   0x140016eb4
14004d320:	cc                   	int3
14004d321:	90                   	nop
14004d322:	90                   	nop
14004d323:	90                   	nop
14004d324:	90                   	nop
14004d325:	90                   	nop
14004d326:	90                   	nop
14004d327:	90                   	nop
14004d328:	90                   	nop
14004d329:	90                   	nop
14004d32a:	90                   	nop
14004d32b:	90                   	nop
14004d32c:	90                   	nop
14004d32d:	90                   	nop
14004d32e:	90                   	nop
14004d32f:	90                   	nop
14004d330:	8b 41 10             	mov    0x10(%rcx),%eax
14004d333:	41 89 00             	mov    %eax,(%r8)
14004d336:	33 c0                	xor    %eax,%eax
14004d338:	38 41 18             	cmp    %al,0x18(%rcx)
14004d33b:	0f 95 c0             	setne  %al
14004d33e:	66 41 89 40 08       	mov    %ax,0x8(%r8)
14004d343:	c3                   	ret
14004d344:	90                   	nop
14004d345:	90                   	nop
14004d346:	90                   	nop
14004d347:	90                   	nop
14004d348:	90                   	nop
14004d349:	90                   	nop
14004d34a:	90                   	nop
14004d34b:	90                   	nop
14004d34c:	90                   	nop
14004d34d:	90                   	nop
14004d34e:	90                   	nop
14004d34f:	90                   	nop
14004d350:	8b 41 10             	mov    0x10(%rcx),%eax
14004d353:	41 89 00             	mov    %eax,(%r8)
14004d356:	8b 41 18             	mov    0x18(%rcx),%eax
14004d359:	41 89 40 08          	mov    %eax,0x8(%r8)
14004d35d:	c3                   	ret
14004d35e:	90                   	nop
14004d35f:	90                   	nop
14004d360:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14004d365:	57                   	push   %rdi
14004d366:	48 83 ec 50          	sub    $0x50,%rsp
14004d36a:	48 8b 41 18          	mov    0x18(%rcx),%rax
14004d36e:	48 8b d9             	mov    %rcx,%rbx
14004d371:	48 83 64 24 60 00    	andq   $0x0,0x60(%rsp)
14004d377:	49 8b f8             	mov    %r8,%rdi
14004d37a:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
14004d37f:	8b 48 f0             	mov    -0x10(%rax),%ecx
14004d382:	8d 0c 4d 02 00 00 00 	lea    0x2(,%rcx,2),%ecx
14004d389:	e8 76 88 00 00       	call   0x140055c04
14004d38e:	85 c0                	test   %eax,%eax
14004d390:	78 30                	js     0x14004d3c2
14004d392:	4c 8b 43 18          	mov    0x18(%rbx),%r8
14004d396:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
14004d39b:	41 8b 40 f0          	mov    -0x10(%r8),%eax
14004d39f:	ff c0                	inc    %eax
14004d3a1:	48 63 d0             	movslq %eax,%rdx
14004d3a4:	e8 53 00 00 00       	call   0x14004d3fc
14004d3a9:	8b 43 10             	mov    0x10(%rbx),%eax
14004d3ac:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14004d3b1:	89 07                	mov    %eax,(%rdi)
14004d3b3:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14004d3b8:	48 89 47 08          	mov    %rax,0x8(%rdi)
14004d3bc:	48 83 c4 50          	add    $0x50,%rsp
14004d3c0:	5f                   	pop    %rdi
14004d3c1:	c3                   	ret
14004d3c2:	48 8d 0d ab 14 03 00 	lea    0x314ab(%rip),%rcx        # 0x14007e874
14004d3c9:	44 8b c8             	mov    %eax,%r9d
14004d3cc:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14004d3d1:	48 8d 15 80 d6 02 00 	lea    0x2d680(%rip),%rdx        # 0x14007aa58
14004d3d8:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14004d3dd:	41 b8 2f 00 00 00    	mov    $0x2f,%r8d
14004d3e3:	e8 60 f1 00 00       	call   0x14005c548
14004d3e8:	48 8d 15 a9 c6 05 00 	lea    0x5c6a9(%rip),%rdx        # 0x1400a9a98
14004d3ef:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14004d3f4:	e8 f9 ce 01 00       	call   0x14006a2f2
14004d3f9:	cc                   	int3
14004d3fa:	90                   	nop
14004d3fb:	90                   	nop
14004d3fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14004d401:	33 db                	xor    %ebx,%ebx
14004d403:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
14004d407:	41 ba fe ff ff 7f    	mov    $0x7ffffffe,%r10d
14004d40d:	44 8b cb             	mov    %ebx,%r9d
14004d410:	49 3b c2             	cmp    %r10,%rax
14004d413:	41 bb 57 00 07 80    	mov    $0x80070057,%r11d
14004d419:	45 0f 47 cb          	cmova  %r11d,%r9d
14004d41d:	45 85 c9             	test   %r9d,%r9d
14004d420:	78 4b                	js     0x14004d46d
14004d422:	48 85 d2             	test   %rdx,%rdx
14004d425:	74 26                	je     0x14004d44d
14004d427:	4c 2b d2             	sub    %rdx,%r10
14004d42a:	4c 2b c1             	sub    %rcx,%r8
14004d42d:	49 8d 04 12          	lea    (%r10,%rdx,1),%rax
14004d431:	48 85 c0             	test   %rax,%rax
14004d434:	74 17                	je     0x14004d44d
14004d436:	41 0f b7 04 08       	movzwl (%r8,%rcx,1),%eax
14004d43b:	66 85 c0             	test   %ax,%ax
14004d43e:	74 0d                	je     0x14004d44d
14004d440:	66 89 01             	mov    %ax,(%rcx)
14004d443:	48 83 c1 02          	add    $0x2,%rcx
14004d447:	48 83 ea 01          	sub    $0x1,%rdx
14004d44b:	75 e0                	jne    0x14004d42d
14004d44d:	48 85 d2             	test   %rdx,%rdx
14004d450:	48 8d 41 fe          	lea    -0x2(%rcx),%rax
14004d454:	48 0f 45 c1          	cmovne %rcx,%rax
14004d458:	48 f7 da             	neg    %rdx
14004d45b:	45 1b c9             	sbb    %r9d,%r9d
14004d45e:	41 f7 d1             	not    %r9d
14004d461:	41 81 e1 7a 00 07 80 	and    $0x8007007a,%r9d
14004d468:	66 89 18             	mov    %bx,(%rax)
14004d46b:	eb 08                	jmp    0x14004d475
14004d46d:	48 85 d2             	test   %rdx,%rdx
14004d470:	74 03                	je     0x14004d475
14004d472:	66 89 19             	mov    %bx,(%rcx)
14004d475:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14004d47a:	41 8b c1             	mov    %r9d,%eax
14004d47d:	c3                   	ret
14004d47e:	90                   	nop
14004d47f:	90                   	nop
14004d480:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14004d485:	57                   	push   %rdi
14004d486:	48 83 ec 20          	sub    $0x20,%rsp
14004d48a:	48 8b fa             	mov    %rdx,%rdi
14004d48d:	48 8b d9             	mov    %rcx,%rbx
14004d490:	8b 51 10             	mov    0x10(%rcx),%edx
14004d493:	48 8b cf             	mov    %rdi,%rcx
14004d496:	e8 c9 02 00 00       	call   0x14004d764
14004d49b:	48 8b 43 20          	mov    0x20(%rbx),%rax
14004d49f:	48 2b 43 18          	sub    0x18(%rbx),%rax
14004d4a3:	48 3d ff ff 00 00    	cmp    $0xffff,%rax
14004d4a9:	77 41                	ja     0x14004d4ec
14004d4ab:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14004d4b1:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
14004d4b6:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14004d4bb:	48 8b cf             	mov    %rdi,%rcx
14004d4be:	e8 75 01 00 00       	call   0x14004d638
14004d4c3:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14004d4c7:	4c 8b 43 20          	mov    0x20(%rbx),%r8
14004d4cb:	4c 2b c2             	sub    %rdx,%r8
14004d4ce:	74 11                	je     0x14004d4e1
14004d4d0:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
14004d4d7:	77 13                	ja     0x14004d4ec
14004d4d9:	48 8b cf             	mov    %rdi,%rcx
14004d4dc:	e8 57 01 00 00       	call   0x14004d638
14004d4e1:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14004d4e6:	48 83 c4 20          	add    $0x20,%rsp
14004d4ea:	5f                   	pop    %rdi
14004d4eb:	c3                   	ret
14004d4ec:	e8 c3 99 fc ff       	call   0x140016eb4
14004d4f1:	cc                   	int3
14004d4f2:	90                   	nop
14004d4f3:	90                   	nop
14004d4f4:	90                   	nop
14004d4f5:	90                   	nop
14004d4f6:	90                   	nop
14004d4f7:	90                   	nop
14004d4f8:	90                   	nop
14004d4f9:	90                   	nop
14004d4fa:	90                   	nop
14004d4fb:	90                   	nop
14004d4fc:	90                   	nop
14004d4fd:	90                   	nop
14004d4fe:	90                   	nop
14004d4ff:	90                   	nop
14004d500:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14004d505:	57                   	push   %rdi
14004d506:	48 83 ec 20          	sub    $0x20,%rsp
14004d50a:	48 8b fa             	mov    %rdx,%rdi
14004d50d:	48 8b d9             	mov    %rcx,%rbx
14004d510:	8b 51 10             	mov    0x10(%rcx),%edx
14004d513:	48 8b cf             	mov    %rdi,%rcx
14004d516:	e8 49 02 00 00       	call   0x14004d764
14004d51b:	8a 43 18             	mov    0x18(%rbx),%al
14004d51e:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14004d523:	f6 d8                	neg    %al
14004d525:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14004d52b:	66 1b c9             	sbb    %cx,%cx
14004d52e:	66 89 4c 24 30       	mov    %cx,0x30(%rsp)
14004d533:	48 8b cf             	mov    %rdi,%rcx
14004d536:	e8 fd 00 00 00       	call   0x14004d638
14004d53b:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14004d540:	48 83 c4 20          	add    $0x20,%rsp
14004d544:	5f                   	pop    %rdi
14004d545:	c3                   	ret
14004d546:	90                   	nop
14004d547:	90                   	nop
14004d548:	90                   	nop
14004d549:	90                   	nop
14004d54a:	90                   	nop
14004d54b:	90                   	nop
14004d54c:	90                   	nop
14004d54d:	90                   	nop
14004d54e:	90                   	nop
14004d54f:	90                   	nop
14004d550:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14004d555:	57                   	push   %rdi
14004d556:	48 83 ec 20          	sub    $0x20,%rsp
14004d55a:	48 8b fa             	mov    %rdx,%rdi
14004d55d:	48 8b d9             	mov    %rcx,%rbx
14004d560:	8b 51 10             	mov    0x10(%rcx),%edx
14004d563:	48 8b cf             	mov    %rdi,%rcx
14004d566:	e8 f9 01 00 00       	call   0x14004d764
14004d56b:	8b 53 18             	mov    0x18(%rbx),%edx
14004d56e:	48 8b cf             	mov    %rdi,%rcx
14004d571:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14004d576:	48 83 c4 20          	add    $0x20,%rsp
14004d57a:	5f                   	pop    %rdi
14004d57b:	e9 e4 01 00 00       	jmp    0x14004d764
14004d580:	cc                   	int3
14004d581:	90                   	nop
14004d582:	90                   	nop
14004d583:	90                   	nop
14004d584:	90                   	nop
14004d585:	90                   	nop
14004d586:	90                   	nop
14004d587:	90                   	nop
14004d588:	90                   	nop
14004d589:	90                   	nop
14004d58a:	90                   	nop
14004d58b:	90                   	nop
14004d58c:	90                   	nop
14004d58d:	90                   	nop
14004d58e:	90                   	nop
14004d58f:	90                   	nop
14004d590:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14004d595:	57                   	push   %rdi
14004d596:	48 83 ec 20          	sub    $0x20,%rsp
14004d59a:	48 8b da             	mov    %rdx,%rbx
14004d59d:	48 8b f9             	mov    %rcx,%rdi
14004d5a0:	8b 51 10             	mov    0x10(%rcx),%edx
14004d5a3:	48 8b cb             	mov    %rbx,%rcx
14004d5a6:	e8 b9 01 00 00       	call   0x14004d764
14004d5ab:	48 8b 47 18          	mov    0x18(%rdi),%rax
14004d5af:	8b 40 f0             	mov    -0x10(%rax),%eax
14004d5b2:	ff c0                	inc    %eax
14004d5b4:	48 98                	cltq
14004d5b6:	48 03 c0             	add    %rax,%rax
14004d5b9:	48 3d ff ff 00 00    	cmp    $0xffff,%rax
14004d5bf:	77 4b                	ja     0x14004d60c
14004d5c1:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14004d5c7:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
14004d5cc:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14004d5d1:	48 8b cb             	mov    %rbx,%rcx
14004d5d4:	e8 5f 00 00 00       	call   0x14004d638
14004d5d9:	48 8b 57 18          	mov    0x18(%rdi),%rdx
14004d5dd:	48 8b cb             	mov    %rbx,%rcx
14004d5e0:	44 8b 42 f0          	mov    -0x10(%rdx),%r8d
14004d5e4:	45 03 c0             	add    %r8d,%r8d
14004d5e7:	e8 4c 00 00 00       	call   0x14004d638
14004d5ec:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14004d5f2:	48 8d 15 ab d4 02 00 	lea    0x2d4ab(%rip),%rdx        # 0x14007aaa4
14004d5f9:	48 8b cb             	mov    %rbx,%rcx
14004d5fc:	e8 37 00 00 00       	call   0x14004d638
14004d601:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14004d606:	48 83 c4 20          	add    $0x20,%rsp
14004d60a:	5f                   	pop    %rdi
14004d60b:	c3                   	ret
14004d60c:	e8 a3 98 fc ff       	call   0x140016eb4
14004d611:	cc                   	int3
14004d612:	90                   	nop
14004d613:	90                   	nop
14004d614:	48 83 ec 28          	sub    $0x28,%rsp
14004d618:	0f b6 c2             	movzbl %dl,%eax
14004d61b:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
14004d620:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14004d624:	41 b9 04 00 00 00    	mov    $0x4,%r9d
14004d62a:	89 44 24 38          	mov    %eax,0x38(%rsp)
14004d62e:	e8 81 98 ff ff       	call   0x140046eb4
14004d633:	48 83 c4 28          	add    $0x28,%rsp
14004d637:	c3                   	ret
14004d638:	48 8b c2             	mov    %rdx,%rax
14004d63b:	4d 63 c8             	movslq %r8d,%r9
14004d63e:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14004d642:	4c 8b c0             	mov    %rax,%r8
14004d645:	e9 6a 98 ff ff       	jmp    0x140046eb4
14004d64a:	90                   	nop
14004d64b:	90                   	nop
14004d64c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14004d651:	55                   	push   %rbp
14004d652:	56                   	push   %rsi
14004d653:	57                   	push   %rdi
14004d654:	41 56                	push   %r14
14004d656:	41 57                	push   %r15
14004d658:	48 83 ec 20          	sub    $0x20,%rsp
14004d65c:	4c 8b f2             	mov    %rdx,%r14
14004d65f:	33 db                	xor    %ebx,%ebx
14004d661:	8b 12                	mov    (%rdx),%edx
14004d663:	48 8b f1             	mov    %rcx,%rsi
14004d666:	49 8d 7e 08          	lea    0x8(%r14),%rdi
14004d66a:	8d 42 01             	lea    0x1(%rdx),%eax
14004d66d:	c1 e0 04             	shl    $0x4,%eax
14004d670:	85 d2                	test   %edx,%edx
14004d672:	74 12                	je     0x14004d686
14004d674:	48 8b 0f             	mov    (%rdi),%rcx
14004d677:	44 8b c2             	mov    %edx,%r8d
14004d67a:	03 01                	add    (%rcx),%eax
14004d67c:	48 8d 49 10          	lea    0x10(%rcx),%rcx
14004d680:	49 83 e8 01          	sub    $0x1,%r8
14004d684:	75 f4                	jne    0x14004d67a
14004d686:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14004d68a:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
14004d68f:	41 bf 04 00 00 00    	mov    $0x4,%r15d
14004d695:	89 44 24 50          	mov    %eax,0x50(%rsp)
14004d699:	45 8b cf             	mov    %r15d,%r9d
14004d69c:	48 8b ce             	mov    %rsi,%rcx
14004d69f:	e8 10 98 ff ff       	call   0x140046eb4
14004d6a4:	41 8b 06             	mov    (%r14),%eax
14004d6a7:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
14004d6ac:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14004d6b0:	45 8b cf             	mov    %r15d,%r9d
14004d6b3:	48 8b ce             	mov    %rsi,%rcx
14004d6b6:	89 44 24 50          	mov    %eax,0x50(%rsp)
14004d6ba:	e8 f5 97 ff ff       	call   0x140046eb4
14004d6bf:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14004d6c3:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
14004d6c8:	45 8b cf             	mov    %r15d,%r9d
14004d6cb:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
14004d6cf:	48 8b ce             	mov    %rsi,%rcx
14004d6d2:	e8 dd 97 ff ff       	call   0x140046eb4
14004d6d7:	41 8b 06             	mov    (%r14),%eax
14004d6da:	8b eb                	mov    %ebx,%ebp
14004d6dc:	85 c0                	test   %eax,%eax
14004d6de:	74 70                	je     0x14004d750
14004d6e0:	48 8b 07             	mov    (%rdi),%rax