14004c403:	49 8b ce             	mov    %r14,%rcx
14004c406:	49 83 ee 30          	sub    $0x30,%r14
14004c40a:	49 8b d6             	mov    %r14,%rdx
14004c40d:	e8 c2 2a 00 00       	call   0x14004eed4
14004c412:	4c 3b f3             	cmp    %rbx,%r14
14004c415:	75 ec                	jne    0x14004c403
14004c417:	48 8b cb             	mov    %rbx,%rcx
14004c41a:	e9 33 01 00 00       	jmp    0x14004c552
14004c41f:	48 8b f7             	mov    %rdi,%rsi
14004c422:	48 2b f3             	sub    %rbx,%rsi
14004c425:	48 c1 fe 04          	sar    $0x4,%rsi
14004c429:	49 0f af f5          	imul   %r13,%rsi
14004c42d:	4c 8b f6             	mov    %rsi,%r14
14004c430:	49 d1 fe             	sar    $1,%r14
14004c433:	4d 85 f6             	test   %r14,%r14
14004c436:	7e 5b                	jle    0x14004c493
14004c438:	4f 8d 3c 76          	lea    (%r14,%r14,2),%r15
14004c43c:	49 c1 e7 04          	shl    $0x4,%r15
14004c440:	4c 03 fb             	add    %rbx,%r15
14004c443:	49 ff ce             	dec    %r14
14004c446:	49 83 ef 30          	sub    $0x30,%r15
14004c44a:	49 8b d7             	mov    %r15,%rdx
14004c44d:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14004c451:	e8 7e 2b ff ff       	call   0x14003efd4
14004c456:	90                   	nop
14004c457:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14004c45c:	4c 8d 4d d0          	lea    -0x30(%rbp),%r9
14004c460:	4c 8b c6             	mov    %rsi,%r8
14004c463:	49 8b d6             	mov    %r14,%rdx
14004c466:	48 8b cb             	mov    %rbx,%rcx
14004c469:	e8 ea 5a 00 00       	call   0x140051f58
14004c46e:	90                   	nop
14004c46f:	4c 8b 45 d0          	mov    -0x30(%rbp),%r8
14004c473:	4d 8b 40 08          	mov    0x8(%r8),%r8
14004c477:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
14004c47b:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14004c47f:	e8 a8 21 fd ff       	call   0x14001e62c
14004c484:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14004c488:	ff 15 32 04 ac 00    	call   *0xac0432(%rip)        # 0x140b0c8c0
14004c48e:	4d 85 f6             	test   %r14,%r14
14004c491:	7f b0                	jg     0x14004c443
14004c493:	48 83 fe 02          	cmp    $0x2,%rsi
14004c497:	0f 8c ee 00 00 00    	jl     0x14004c58b
14004c49d:	48 83 c7 d0          	add    $0xffffffffffffffd0,%rdi
14004c4a1:	be 30 00 00 00       	mov    $0x30,%esi
14004c4a6:	48 2b f3             	sub    %rbx,%rsi
14004c4a9:	48 8d 04 3e          	lea    (%rsi,%rdi,1),%rax
14004c4ad:	48 c1 f8 04          	sar    $0x4,%rax
14004c4b1:	49 0f af c5          	imul   %r13,%rax
14004c4b5:	48 83 f8 02          	cmp    $0x2,%rax
14004c4b9:	7c 59                	jl     0x14004c514
14004c4bb:	48 8b d7             	mov    %rdi,%rdx
14004c4be:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14004c4c2:	e8 0d 2b ff ff       	call   0x14003efd4
14004c4c7:	90                   	nop
14004c4c8:	48 8b d3             	mov    %rbx,%rdx
14004c4cb:	48 8b cf             	mov    %rdi,%rcx
14004c4ce:	e8 01 2a 00 00       	call   0x14004eed4
14004c4d3:	4c 8b c7             	mov    %rdi,%r8
14004c4d6:	4c 2b c3             	sub    %rbx,%r8
14004c4d9:	49 c1 f8 04          	sar    $0x4,%r8
14004c4dd:	4d 0f af c5          	imul   %r13,%r8
14004c4e1:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14004c4e6:	4c 8d 4d d0          	lea    -0x30(%rbp),%r9
14004c4ea:	33 d2                	xor    %edx,%edx
14004c4ec:	48 8b cb             	mov    %rbx,%rcx
14004c4ef:	e8 64 5a 00 00       	call   0x140051f58
14004c4f4:	90                   	nop
14004c4f5:	4c 8b 45 d0          	mov    -0x30(%rbp),%r8
14004c4f9:	4d 8b 40 08          	mov    0x8(%r8),%r8
14004c4fd:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
14004c501:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14004c505:	e8 22 21 fd ff       	call   0x14001e62c
14004c50a:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14004c50e:	ff 15 ac 03 ac 00    	call   *0xac03ac(%rip)        # 0x140b0c8c0
14004c514:	48 83 ef 30          	sub    $0x30,%rdi
14004c518:	48 8d 04 3e          	lea    (%rsi,%rdi,1),%rax
14004c51c:	48 83 f8 60          	cmp    $0x60,%rax
14004c520:	7d 87                	jge    0x14004c4a9
14004c522:	eb 67                	jmp    0x14004c58b
14004c524:	4d 8b f7             	mov    %r15,%r14
14004c527:	49 8b d7             	mov    %r15,%rdx
14004c52a:	eb 12                	jmp    0x14004c53e
14004c52c:	49 8b d6             	mov    %r14,%rdx
14004c52f:	e8 a0 29 00 00       	call   0x14004eed4
14004c534:	4d 8b ee             	mov    %r14,%r13
14004c537:	49 83 ee 30          	sub    $0x30,%r14
14004c53b:	49 8b d6             	mov    %r14,%rdx
14004c53e:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14004c542:	49 8b c4             	mov    %r12,%rax
14004c545:	ff 15 ed 06 ac 00    	call   *0xac06ed(%rip)        # 0x140b0cc38
14004c54b:	49 8b cd             	mov    %r13,%rcx
14004c54e:	84 c0                	test   %al,%al
14004c550:	75 da                	jne    0x14004c52c
14004c552:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
14004c556:	e8 79 29 00 00       	call   0x14004eed4
14004c55b:	4c 8b 45 d0          	mov    -0x30(%rbp),%r8
14004c55f:	4d 8b 40 08          	mov    0x8(%r8),%r8
14004c563:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
14004c567:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14004c56b:	e8 bc 20 fd ff       	call   0x14001e62c
14004c570:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14004c574:	ff 15 46 03 ac 00    	call   *0xac0346(%rip)        # 0x140b0c8c0
14004c57a:	48 83 c6 30          	add    $0x30,%rsi
14004c57e:	49 83 c7 30          	add    $0x30,%r15
14004c582:	48 3b f7             	cmp    %rdi,%rsi
14004c585:	0f 85 48 fe ff ff    	jne    0x14004c3d3
14004c58b:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
14004c590:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14004c594:	49 8b 73 38          	mov    0x38(%r11),%rsi
14004c598:	49 8b 7b 40          	mov    0x40(%r11),%rdi
14004c59c:	49 8b e3             	mov    %r11,%rsp
14004c59f:	41 5f                	pop    %r15
14004c5a1:	41 5e                	pop    %r14
14004c5a3:	41 5d                	pop    %r13
14004c5a5:	41 5c                	pop    %r12
14004c5a7:	5d                   	pop    %rbp
14004c5a8:	c3                   	ret
14004c5a9:	90                   	nop
14004c5aa:	90                   	nop
14004c5ab:	90                   	nop
14004c5ac:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14004c5b1:	53                   	push   %rbx
14004c5b2:	56                   	push   %rsi
14004c5b3:	57                   	push   %rdi
14004c5b4:	41 56                	push   %r14
14004c5b6:	41 57                	push   %r15
14004c5b8:	48 83 ec 30          	sub    $0x30,%rsp
14004c5bc:	48 8b f2             	mov    %rdx,%rsi
14004c5bf:	4c 8b f1             	mov    %rcx,%r14
14004c5c2:	48 bb ff ff ff ff ff 	movabs $0xfffffffffffffff,%rbx
14004c5c9:	ff ff 0f
14004c5cc:	48 3b d3             	cmp    %rbx,%rdx
14004c5cf:	0f 87 e7 00 00 00    	ja     0x14004c6bc
14004c5d5:	48 8b 79 08          	mov    0x8(%rcx),%rdi
14004c5d9:	48 2b 39             	sub    (%rcx),%rdi
14004c5dc:	48 c1 ff 04          	sar    $0x4,%rdi
14004c5e0:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14004c5e4:	49 2b 0e             	sub    (%r14),%rcx
14004c5e7:	48 c1 f9 04          	sar    $0x4,%rcx
14004c5eb:	48 8b d1             	mov    %rcx,%rdx
14004c5ee:	48 d1 ea             	shr    $1,%rdx
14004c5f1:	48 8b c3             	mov    %rbx,%rax
14004c5f4:	48 2b c2             	sub    %rdx,%rax
14004c5f7:	48 3b c8             	cmp    %rax,%rcx
14004c5fa:	77 0b                	ja     0x14004c607
14004c5fc:	48 8d 1c 0a          	lea    (%rdx,%rcx,1),%rbx
14004c600:	48 3b de             	cmp    %rsi,%rbx
14004c603:	48 0f 42 de          	cmovb  %rsi,%rbx
14004c607:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
14004c60c:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
14004c611:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
14004c616:	e8 bd 5c fd ff       	call   0x1400222d8
14004c61b:	4c 8b f8             	mov    %rax,%r15
14004c61e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14004c623:	48 8b cf             	mov    %rdi,%rcx
14004c626:	48 c1 e1 04          	shl    $0x4,%rcx
14004c62a:	48 03 c8             	add    %rax,%rcx
14004c62d:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
14004c632:	48 89 4c 24 70       	mov    %rcx,0x70(%rsp)
14004c637:	48 8b d6             	mov    %rsi,%rdx
14004c63a:	48 2b d7             	sub    %rdi,%rdx
14004c63d:	74 1a                	je     0x14004c659
14004c63f:	33 ff                	xor    %edi,%edi
14004c641:	48 89 39             	mov    %rdi,(%rcx)
14004c644:	48 89 79 08          	mov    %rdi,0x8(%rcx)
14004c648:	48 83 c1 10          	add    $0x10,%rcx
14004c64c:	48 89 4c 24 70       	mov    %rcx,0x70(%rsp)
14004c651:	48 83 ea 01          	sub    $0x1,%rdx
14004c655:	75 ea                	jne    0x14004c641
14004c657:	eb 02                	jmp    0x14004c65b
14004c659:	33 ff                	xor    %edi,%edi
14004c65b:	48 8b d1             	mov    %rcx,%rdx
14004c65e:	e8 0d 1c fd ff       	call   0x14001e270
14004c663:	4d 8b 46 08          	mov    0x8(%r14),%r8
14004c667:	49 8b cf             	mov    %r15,%rcx
14004c66a:	49 8b 16             	mov    (%r14),%rdx
14004c66d:	eb 24                	jmp    0x14004c693
14004c66f:	48 89 39             	mov    %rdi,(%rcx)
14004c672:	48 89 79 08          	mov    %rdi,0x8(%rcx)
14004c676:	48 8b 02             	mov    (%rdx),%rax
14004c679:	48 89 01             	mov    %rax,(%rcx)
14004c67c:	48 8b 42 08          	mov    0x8(%rdx),%rax
14004c680:	48 89 41 08          	mov    %rax,0x8(%rcx)
14004c684:	48 89 3a             	mov    %rdi,(%rdx)
14004c687:	48 89 7a 08          	mov    %rdi,0x8(%rdx)
14004c68b:	48 83 c1 10          	add    $0x10,%rcx
14004c68f:	48 83 c2 10          	add    $0x10,%rdx
14004c693:	49 3b d0             	cmp    %r8,%rdx
14004c696:	75 d7                	jne    0x14004c66f
14004c698:	48 8b d1             	mov    %rcx,%rdx
14004c69b:	e8 d0 1b fd ff       	call   0x14001e270
14004c6a0:	4c 8b cb             	mov    %rbx,%r9
14004c6a3:	4c 8b c6             	mov    %rsi,%r8
14004c6a6:	49 8b d7             	mov    %r15,%rdx
14004c6a9:	49 8b ce             	mov    %r14,%rcx
14004c6ac:	48 83 c4 30          	add    $0x30,%rsp
14004c6b0:	41 5f                	pop    %r15
14004c6b2:	41 5e                	pop    %r14
14004c6b4:	5f                   	pop    %rdi
14004c6b5:	5e                   	pop    %rsi
14004c6b6:	5b                   	pop    %rbx
14004c6b7:	e9 0c 5f fd ff       	jmp    0x1400225c8
14004c6bc:	e8 a7 f6 fc ff       	call   0x14001bd68
14004c6c1:	cc                   	int3
14004c6c2:	90                   	nop
14004c6c3:	90                   	nop
14004c6c4:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14004c6c9:	53                   	push   %rbx
14004c6ca:	56                   	push   %rsi
14004c6cb:	57                   	push   %rdi
14004c6cc:	41 54                	push   %r12
14004c6ce:	41 55                	push   %r13
14004c6d0:	41 56                	push   %r14
14004c6d2:	41 57                	push   %r15
14004c6d4:	48 83 ec 60          	sub    $0x60,%rsp
14004c6d8:	4c 8b fa             	mov    %rdx,%r15
14004c6db:	48 8b f1             	mov    %rcx,%rsi
14004c6de:	48 2b 11             	sub    (%rcx),%rdx
14004c6e1:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
14004c6e8:	aa aa 2a
14004c6eb:	48 f7 ea             	imul   %rdx
14004c6ee:	48 8b da             	mov    %rdx,%rbx
14004c6f1:	48 c1 fb 03          	sar    $0x3,%rbx
14004c6f5:	48 8b c3             	mov    %rbx,%rax
14004c6f8:	48 c1 e8 3f          	shr    $0x3f,%rax
14004c6fc:	48 03 d8             	add    %rax,%rbx
14004c6ff:	48 8b 41 08          	mov    0x8(%rcx),%rax
14004c703:	48 2b 01             	sub    (%rcx),%rax
14004c706:	48 c1 f8 04          	sar    $0x4,%rax
14004c70a:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
14004c711:	aa aa aa
14004c714:	48 0f af c2          	imul   %rdx,%rax
14004c718:	49 bd 55 55 55 55 55 	movabs $0x555555555555555,%r13
14004c71f:	55 55 05
14004c722:	49 3b c5             	cmp    %r13,%rax
14004c725:	0f 84 61 01 00 00    	je     0x14004c88c
14004c72b:	4c 8d 40 01          	lea    0x1(%rax),%r8
14004c72f:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
14004c734:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14004c738:	48 2b 0e             	sub    (%rsi),%rcx
14004c73b:	48 c1 f9 04          	sar    $0x4,%rcx
14004c73f:	48 0f af ca          	imul   %rdx,%rcx
14004c743:	48 8b d1             	mov    %rcx,%rdx
14004c746:	48 d1 ea             	shr    $1,%rdx
14004c749:	49 8b c5             	mov    %r13,%rax
14004c74c:	48 2b c2             	sub    %rdx,%rax
14004c74f:	48 3b c8             	cmp    %rax,%rcx
14004c752:	77 0b                	ja     0x14004c75f
14004c754:	4c 8d 2c 11          	lea    (%rcx,%rdx,1),%r13
14004c758:	4d 3b e8             	cmp    %r8,%r13
14004c75b:	4d 0f 42 e8          	cmovb  %r8,%r13
14004c75f:	4c 89 ac 24 a8 00 00 	mov    %r13,0xa8(%rsp)
14004c766:	00
14004c767:	48 8d 94 24 a8 00 00 	lea    0xa8(%rsp),%rdx
14004c76e:	00
14004c76f:	e8 20 0e 00 00       	call   0x14004d594
14004c774:	4c 8b f0             	mov    %rax,%r14
14004c777:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14004c77c:	4c 8d 24 5b          	lea    (%rbx,%rbx,2),%r12
14004c780:	49 c1 e4 04          	shl    $0x4,%r12
14004c784:	4c 03 e0             	add    %rax,%r12
14004c787:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14004c78c:	49 8d 7c 24 30       	lea    0x30(%r12),%rdi
14004c791:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14004c796:	48 89 bc 24 a0 00 00 	mov    %rdi,0xa0(%rsp)
14004c79d:	00
14004c79e:	48 8b 94 24 b0 00 00 	mov    0xb0(%rsp),%rdx
14004c7a5:	00
14004c7a6:	49 8b cc             	mov    %r12,%rcx
14004c7a9:	e8 26 28 ff ff       	call   0x14003efd4
14004c7ae:	4c 89 a4 24 a0 00 00 	mov    %r12,0xa0(%rsp)
14004c7b5:	00
14004c7b6:	48 8b 46 08          	mov    0x8(%rsi),%rax
14004c7ba:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
14004c7c1:	00
14004c7c2:	48 8b 1e             	mov    (%rsi),%rbx
14004c7c5:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14004c7ca:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
14004c7cf:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
14004c7d4:	4c 3b f8             	cmp    %rax,%r15
14004c7d7:	75 2c                	jne    0x14004c805
14004c7d9:	49 8b fe             	mov    %r14,%rdi
14004c7dc:	48 3b d8             	cmp    %rax,%rbx
14004c7df:	74 22                	je     0x14004c803
14004c7e1:	48 8b d3             	mov    %rbx,%rdx
14004c7e4:	48 8b cf             	mov    %rdi,%rcx
14004c7e7:	e8 58 27 ff ff       	call   0x14003ef44
14004c7ec:	48 83 c7 30          	add    $0x30,%rdi
14004c7f0:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
14004c7f5:	48 83 c3 30          	add    $0x30,%rbx
14004c7f9:	48 8b 84 24 b8 00 00 	mov    0xb8(%rsp),%rax
14004c800:	00
14004c801:	eb d9                	jmp    0x14004c7dc
14004c803:	eb 61                	jmp    0x14004c866
14004c805:	4d 8b e6             	mov    %r14,%r12
14004c808:	49 3b df             	cmp    %r15,%rbx
14004c80b:	74 1a                	je     0x14004c827
14004c80d:	48 8b d3             	mov    %rbx,%rdx
14004c810:	49 8b cc             	mov    %r12,%rcx
14004c813:	e8 bc 27 ff ff       	call   0x14003efd4
14004c818:	49 83 c4 30          	add    $0x30,%r12
14004c81c:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
14004c821:	48 83 c3 30          	add    $0x30,%rbx
14004c825:	eb e1                	jmp    0x14004c808
14004c827:	4c 89 b4 24 a0 00 00 	mov    %r14,0xa0(%rsp)
14004c82e:	00
14004c82f:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14004c833:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
14004c838:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
14004c83d:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
14004c842:	4c 3b fb             	cmp    %rbx,%r15
14004c845:	74 1a                	je     0x14004c861
14004c847:	49 8b d7             	mov    %r15,%rdx
14004c84a:	48 8b cf             	mov    %rdi,%rcx
14004c84d:	e8 82 27 ff ff       	call   0x14003efd4
14004c852:	48 83 c7 30          	add    $0x30,%rdi
14004c856:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
14004c85b:	49 83 c7 30          	add    $0x30,%r15
14004c85f:	eb e1                	jmp    0x14004c842
14004c861:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
14004c866:	4d 8b cd             	mov    %r13,%r9
14004c869:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
14004c86e:	49 8b d6             	mov    %r14,%rdx
14004c871:	48 8b ce             	mov    %rsi,%rcx
14004c874:	e8 e3 0e 00 00       	call   0x14004d75c
14004c879:	49 8b c4             	mov    %r12,%rax
14004c87c:	48 83 c4 60          	add    $0x60,%rsp
14004c880:	41 5f                	pop    %r15
14004c882:	41 5e                	pop    %r14
14004c884:	41 5d                	pop    %r13
14004c886:	41 5c                	pop    %r12
14004c888:	5f                   	pop    %rdi
14004c889:	5e                   	pop    %rsi
14004c88a:	5b                   	pop    %rbx
14004c88b:	c3                   	ret
14004c88c:	e8 d7 f4 fc ff       	call   0x14001bd68
14004c891:	cc                   	int3
14004c892:	90                   	nop
14004c893:	90                   	nop
14004c894:	48 8b c4             	mov    %rsp,%rax
14004c897:	48 89 58 08          	mov    %rbx,0x8(%rax)
14004c89b:	48 89 70 10          	mov    %rsi,0x10(%rax)
14004c89f:	57                   	push   %rdi
14004c8a0:	48 83 ec 40          	sub    $0x40,%rsp
14004c8a4:	49 8b d8             	mov    %r8,%rbx
14004c8a7:	48 8b f2             	mov    %rdx,%rsi
14004c8aa:	48 8b f9             	mov    %rcx,%rdi
14004c8ad:	48 89 58 d8          	mov    %rbx,-0x28(%rax)
14004c8b1:	48 89 58 e0          	mov    %rbx,-0x20(%rax)