14004c523:	74 2b                	je     0x14004c550
14004c525:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14004c52a:	57                   	push   %rdi
14004c52b:	48 83 ec 20          	sub    $0x20,%rsp
14004c52f:	48 8b fa             	mov    %rdx,%rdi
14004c532:	48 8b d9             	mov    %rcx,%rbx
14004c535:	48 8b cb             	mov    %rbx,%rcx
14004c538:	e8 93 05 00 00       	call   0x14004cad0
14004c53d:	48 83 c3 68          	add    $0x68,%rbx
14004c541:	48 3b df             	cmp    %rdi,%rbx
14004c544:	75 ef                	jne    0x14004c535
14004c546:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14004c54b:	48 83 c4 20          	add    $0x20,%rsp
14004c54f:	5f                   	pop    %rdi
14004c550:	c3                   	ret
14004c551:	cc                   	int3
14004c552:	cc                   	int3
14004c553:	cc                   	int3
14004c554:	cc                   	int3
14004c555:	cc                   	int3
14004c556:	cc                   	int3
14004c557:	cc                   	int3
14004c558:	cc                   	int3
14004c559:	cc                   	int3
14004c55a:	cc                   	int3
14004c55b:	cc                   	int3
14004c55c:	cc                   	int3
14004c55d:	cc                   	int3
14004c55e:	cc                   	int3
14004c55f:	cc                   	int3
14004c560:	40 53                	rex push %rbx
14004c562:	56                   	push   %rsi
14004c563:	57                   	push   %rdi
14004c564:	41 54                	push   %r12
14004c566:	41 55                	push   %r13
14004c568:	41 56                	push   %r14
14004c56a:	41 57                	push   %r15
14004c56c:	48 83 ec 50          	sub    $0x50,%rsp
14004c570:	4d 8b f0             	mov    %r8,%r14
14004c573:	4c 8b ea             	mov    %rdx,%r13
14004c576:	48 8b f1             	mov    %rcx,%rsi
14004c579:	4c 8b 01             	mov    (%rcx),%r8
14004c57c:	49 2b d0             	sub    %r8,%rdx
14004c57f:	49 bb c5 4e ec c4 4e 	movabs $0x4ec4ec4ec4ec4ec5,%r11
14004c586:	ec c4 4e
14004c589:	49 8b c3             	mov    %r11,%rax
14004c58c:	48 f7 ea             	imul   %rdx
14004c58f:	4c 8b fa             	mov    %rdx,%r15
14004c592:	49 c1 ff 05          	sar    $0x5,%r15
14004c596:	49 8b c7             	mov    %r15,%rax
14004c599:	48 c1 e8 3f          	shr    $0x3f,%rax
14004c59d:	4c 03 f8             	add    %rax,%r15
14004c5a0:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14004c5a4:	49 2b c8             	sub    %r8,%rcx
14004c5a7:	49 8b c3             	mov    %r11,%rax
14004c5aa:	48 f7 e9             	imul   %rcx
14004c5ad:	48 c1 fa 05          	sar    $0x5,%rdx
14004c5b1:	48 8b c2             	mov    %rdx,%rax
14004c5b4:	48 c1 e8 3f          	shr    $0x3f,%rax
14004c5b8:	48 03 d0             	add    %rax,%rdx
14004c5bb:	49 ba 76 62 27 76 62 	movabs $0x276276276276276,%r10
14004c5c2:	27 76 02
14004c5c5:	49 3b d2             	cmp    %r10,%rdx
14004c5c8:	0f 84 dd 01 00 00    	je     0x14004c7ab
14004c5ce:	4c 8d 4a 01          	lea    0x1(%rdx),%r9
14004c5d2:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
14004c5d7:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14004c5db:	49 2b c8             	sub    %r8,%rcx
14004c5de:	49 8b c3             	mov    %r11,%rax
14004c5e1:	48 f7 e9             	imul   %rcx
14004c5e4:	48 c1 fa 05          	sar    $0x5,%rdx
14004c5e8:	48 8b c2             	mov    %rdx,%rax
14004c5eb:	48 c1 e8 3f          	shr    $0x3f,%rax
14004c5ef:	48 03 d0             	add    %rax,%rdx
14004c5f2:	48 8b ca             	mov    %rdx,%rcx
14004c5f5:	48 d1 e9             	shr    $1,%rcx
14004c5f8:	49 8b c2             	mov    %r10,%rax
14004c5fb:	48 2b c1             	sub    %rcx,%rax
14004c5fe:	48 3b d0             	cmp    %rax,%rdx
14004c601:	0f 87 9e 01 00 00    	ja     0x14004c7a5
14004c607:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
14004c60b:	49 8b d9             	mov    %r9,%rbx
14004c60e:	49 3b c1             	cmp    %r9,%rax
14004c611:	48 0f 43 d8          	cmovae %rax,%rbx
14004c615:	49 3b da             	cmp    %r10,%rbx
14004c618:	0f 87 87 01 00 00    	ja     0x14004c7a5
14004c61e:	4c 6b e3 68          	imul   $0x68,%rbx,%r12
14004c622:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14004c627:	49 81 fc 00 10 00 00 	cmp    $0x1000,%r12
14004c62e:	72 2a                	jb     0x14004c65a
14004c630:	49 8d 4c 24 27       	lea    0x27(%r12),%rcx
14004c635:	49 3b cc             	cmp    %r12,%rcx
14004c638:	0f 86 67 01 00 00    	jbe    0x14004c7a5
14004c63e:	e8 fd d2 00 00       	call   0x140059940
14004c643:	48 85 c0             	test   %rax,%rax
14004c646:	0f 84 52 01 00 00    	je     0x14004c79e
14004c64c:	48 8d 78 27          	lea    0x27(%rax),%rdi
14004c650:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
14004c654:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
14004c658:	eb 23                	jmp    0x14004c67d
14004c65a:	4d 85 e4             	test   %r12,%r12
14004c65d:	74 17                	je     0x14004c676
14004c65f:	49 8b cc             	mov    %r12,%rcx
14004c662:	e8 d9 d2 00 00       	call   0x140059940
14004c667:	48 8b f8             	mov    %rax,%rdi
14004c66a:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14004c66f:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14004c674:	eb 0c                	jmp    0x14004c682
14004c676:	33 ff                	xor    %edi,%edi
14004c678:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14004c67d:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14004c682:	4d 6b ff 68          	imul   $0x68,%r15,%r15
14004c686:	4c 03 ff             	add    %rdi,%r15
14004c689:	49 8d 5f 68          	lea    0x68(%r15),%rbx
14004c68d:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
14004c692:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14004c697:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
14004c69c:	41 8b 06             	mov    (%r14),%eax
14004c69f:	41 89 07             	mov    %eax,(%r15)
14004c6a2:	49 8d 4f 08          	lea    0x8(%r15),%rcx
14004c6a6:	49 8d 56 08          	lea    0x8(%r14),%rdx
14004c6aa:	e8 01 65 fd ff       	call   0x140022bb0
14004c6af:	90                   	nop
14004c6b0:	49 8d 4f 28          	lea    0x28(%r15),%rcx
14004c6b4:	49 8d 56 28          	lea    0x28(%r14),%rdx
14004c6b8:	e8 f3 64 fd ff       	call   0x140022bb0
14004c6bd:	90                   	nop
14004c6be:	49 8d 4f 48          	lea    0x48(%r15),%rcx
14004c6c2:	49 8d 56 48          	lea    0x48(%r14),%rdx
14004c6c6:	e8 e5 64 fd ff       	call   0x140022bb0
14004c6cb:	90                   	nop
14004c6cc:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14004c6d1:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14004c6d5:	48 8b 0e             	mov    (%rsi),%rcx
14004c6d8:	4c 8b c7             	mov    %rdi,%r8
14004c6db:	4c 3b ea             	cmp    %rdx,%r13
14004c6de:	74 17                	je     0x14004c6f7
14004c6e0:	49 8b d5             	mov    %r13,%rdx
14004c6e3:	e8 f8 02 00 00       	call   0x14004c9e0
14004c6e8:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14004c6ed:	4c 8b c3             	mov    %rbx,%r8
14004c6f0:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14004c6f4:	49 8b cd             	mov    %r13,%rcx
14004c6f7:	e8 e4 02 00 00       	call   0x14004c9e0
14004c6fc:	90                   	nop
14004c6fd:	48 8b 1e             	mov    (%rsi),%rbx
14004c700:	48 85 db             	test   %rbx,%rbx
14004c703:	74 6e                	je     0x14004c773
14004c705:	4c 8b 76 08          	mov    0x8(%rsi),%r14
14004c709:	49 3b de             	cmp    %r14,%rbx
14004c70c:	74 13                	je     0x14004c721
14004c70e:	66 90                	xchg   %ax,%ax
14004c710:	48 8b cb             	mov    %rbx,%rcx
14004c713:	e8 b8 03 00 00       	call   0x14004cad0
14004c718:	48 83 c3 68          	add    $0x68,%rbx
14004c71c:	49 3b de             	cmp    %r14,%rbx
14004c71f:	75 ef                	jne    0x14004c710
14004c721:	4c 8b 06             	mov    (%rsi),%r8
14004c724:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14004c728:	49 2b c8             	sub    %r8,%rcx
14004c72b:	48 b8 c5 4e ec c4 4e 	movabs $0x4ec4ec4ec4ec4ec5,%rax
14004c732:	ec c4 4e
14004c735:	48 f7 e9             	imul   %rcx
14004c738:	48 c1 fa 05          	sar    $0x5,%rdx
14004c73c:	48 8b c2             	mov    %rdx,%rax
14004c73f:	48 c1 e8 3f          	shr    $0x3f,%rax
14004c743:	48 03 d0             	add    %rax,%rdx
14004c746:	48 6b d2 68          	imul   $0x68,%rdx,%rdx
14004c74a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14004c751:	72 18                	jb     0x14004c76b
14004c753:	48 83 c2 27          	add    $0x27,%rdx
14004c757:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
14004c75b:	4c 2b c1             	sub    %rcx,%r8
14004c75e:	49 8d 40 f8          	lea    -0x8(%r8),%rax
14004c762:	48 83 f8 1f          	cmp    $0x1f,%rax
14004c766:	77 36                	ja     0x14004c79e
14004c768:	4c 8b c1             	mov    %rcx,%r8
14004c76b:	49 8b c8             	mov    %r8,%rcx
14004c76e:	e8 21 d5 00 00       	call   0x140059c94
14004c773:	48 89 3e             	mov    %rdi,(%rsi)
14004c776:	48 6b 4c 24 38 68    	imul   $0x68,0x38(%rsp),%rcx
14004c77c:	48 03 cf             	add    %rdi,%rcx
14004c77f:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
14004c783:	49 8d 0c 3c          	lea    (%r12,%rdi,1),%rcx
14004c787:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
14004c78b:	49 8b c7             	mov    %r15,%rax
14004c78e:	48 83 c4 50          	add    $0x50,%rsp
14004c792:	41 5f                	pop    %r15
14004c794:	41 5e                	pop    %r14
14004c796:	41 5d                	pop    %r13
14004c798:	41 5c                	pop    %r12
14004c79a:	5f                   	pop    %rdi
14004c79b:	5e                   	pop    %rsi
14004c79c:	5b                   	pop    %rbx
14004c79d:	c3                   	ret
14004c79e:	ff 15 fc 2d 01 00    	call   *0x12dfc(%rip)        # 0x14005f5a0
14004c7a4:	cc                   	int3
14004c7a5:	e8 66 4b fb ff       	call   0x140001310
14004c7aa:	cc                   	int3
14004c7ab:	e8 e0 53 fc ff       	call   0x140011b90
14004c7b0:	cc                   	int3
14004c7b1:	cc                   	int3
14004c7b2:	cc                   	int3
14004c7b3:	cc                   	int3
14004c7b4:	cc                   	int3
14004c7b5:	cc                   	int3
14004c7b6:	cc                   	int3
14004c7b7:	cc                   	int3
14004c7b8:	cc                   	int3
14004c7b9:	cc                   	int3
14004c7ba:	cc                   	int3
14004c7bb:	cc                   	int3
14004c7bc:	cc                   	int3
14004c7bd:	cc                   	int3
14004c7be:	cc                   	int3
14004c7bf:	cc                   	int3
14004c7c0:	40 53                	rex push %rbx
14004c7c2:	56                   	push   %rsi
14004c7c3:	57                   	push   %rdi
14004c7c4:	41 54                	push   %r12
14004c7c6:	41 55                	push   %r13
14004c7c8:	41 56                	push   %r14
14004c7ca:	41 57                	push   %r15
14004c7cc:	48 83 ec 50          	sub    $0x50,%rsp
14004c7d0:	4d 8b e8             	mov    %r8,%r13
14004c7d3:	48 8b f2             	mov    %rdx,%rsi
14004c7d6:	4c 8b e1             	mov    %rcx,%r12
14004c7d9:	48 8b 11             	mov    (%rcx),%rdx
14004c7dc:	4c 8b fe             	mov    %rsi,%r15
14004c7df:	4c 2b fa             	sub    %rdx,%r15
14004c7e2:	48 8b 41 08          	mov    0x8(%rcx),%rax
14004c7e6:	48 2b c2             	sub    %rdx,%rax
14004c7e9:	48 c1 f8 04          	sar    $0x4,%rax
14004c7ed:	49 b9 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r9
14004c7f4:	ff ff 0f
14004c7f7:	49 3b c1             	cmp    %r9,%rax
14004c7fa:	0f 84 d1 01 00 00    	je     0x14004c9d1
14004c800:	4c 8d 40 01          	lea    0x1(%rax),%r8
14004c804:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
14004c809:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14004c80d:	48 2b ca             	sub    %rdx,%rcx
14004c810:	48 c1 f9 04          	sar    $0x4,%rcx
14004c814:	48 8b d1             	mov    %rcx,%rdx
14004c817:	48 d1 ea             	shr    $1,%rdx
14004c81a:	49 8b c1             	mov    %r9,%rax
14004c81d:	48 2b c2             	sub    %rdx,%rax
14004c820:	48 3b c8             	cmp    %rax,%rcx
14004c823:	0f 87 a2 01 00 00    	ja     0x14004c9cb
14004c829:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
14004c82d:	4d 8b f0             	mov    %r8,%r14
14004c830:	49 3b c0             	cmp    %r8,%rax
14004c833:	4c 0f 43 f0          	cmovae %rax,%r14
14004c837:	4d 3b f1             	cmp    %r9,%r14
14004c83a:	0f 87 8b 01 00 00    	ja     0x14004c9cb
14004c840:	49 8b ce             	mov    %r14,%rcx
14004c843:	48 c1 e1 04          	shl    $0x4,%rcx
14004c847:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
14004c84c:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
14004c853:	72 36                	jb     0x14004c88b
14004c855:	48 8d 41 27          	lea    0x27(%rcx),%rax
14004c859:	48 3b c1             	cmp    %rcx,%rax
14004c85c:	0f 86 69 01 00 00    	jbe    0x14004c9cb
14004c862:	48 8b c8             	mov    %rax,%rcx
14004c865:	e8 d6 d0 00 00       	call   0x140059940
14004c86a:	48 85 c0             	test   %rax,%rax
14004c86d:	74 15                	je     0x14004c884
14004c86f:	48 8d 78 27          	lea    0x27(%rax),%rdi
14004c873:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
14004c877:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
14004c87b:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14004c880:	33 db                	xor    %ebx,%ebx
14004c882:	eb 2b                	jmp    0x14004c8af
14004c884:	ff 15 16 2d 01 00    	call   *0x12d16(%rip)        # 0x14005f5a0
14004c88a:	cc                   	int3
14004c88b:	48 85 c9             	test   %rcx,%rcx
14004c88e:	74 11                	je     0x14004c8a1
14004c890:	e8 ab d0 00 00       	call   0x140059940
14004c895:	48 8b f8             	mov    %rax,%rdi
14004c898:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14004c89d:	33 db                	xor    %ebx,%ebx
14004c89f:	eb 09                	jmp    0x14004c8aa
14004c8a1:	33 db                	xor    %ebx,%ebx
14004c8a3:	8b fb                	mov    %ebx,%edi
14004c8a5:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14004c8aa:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
14004c8af:	49 83 e7 f0          	and    $0xfffffffffffffff0,%r15
14004c8b3:	4c 03 ff             	add    %rdi,%r15
14004c8b6:	49 8d 47 10          	lea    0x10(%r15),%rax
14004c8ba:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14004c8bf:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14004c8c4:	49 8b d5             	mov    %r13,%rdx
14004c8c7:	49 8b cf             	mov    %r15,%rcx
14004c8ca:	e8 11 8b fe ff       	call   0x1400353e0
14004c8cf:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14004c8d4:	4d 8b 44 24 08       	mov    0x8(%r12),%r8
14004c8d9:	49 8b 14 24          	mov    (%r12),%rdx
14004c8dd:	49 3b f0             	cmp    %r8,%rsi
14004c8e0:	75 46                	jne    0x14004c928
14004c8e2:	49 3b d0             	cmp    %r8,%rdx
14004c8e5:	0f 84 ba 00 00 00    	je     0x14004c9a5
14004c8eb:	48 8d 4a 08          	lea    0x8(%rdx),%rcx
14004c8ef:	48 8b c7             	mov    %rdi,%rax
14004c8f2:	48 2b c2             	sub    %rdx,%rax
14004c8f5:	48 8d 50 f8          	lea    -0x8(%rax),%rdx
14004c8f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14004c900:	0f b6 41 f8          	movzbl -0x8(%rcx),%eax
14004c904:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
14004c907:	48 8b 01             	mov    (%rcx),%rax
14004c90a:	48 89 44 0a 08       	mov    %rax,0x8(%rdx,%rcx,1)
14004c90f:	c6 41 f8 00          	movb   $0x0,-0x8(%rcx)
14004c913:	48 89 19             	mov    %rbx,(%rcx)
14004c916:	48 8d 49 10          	lea    0x10(%rcx),%rcx
14004c91a:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14004c91e:	49 3b c0             	cmp    %r8,%rax
14004c921:	75 dd                	jne    0x14004c900
14004c923:	e9 7d 00 00 00       	jmp    0x14004c9a5
14004c928:	48 3b d6             	cmp    %rsi,%rdx
14004c92b:	74 36                	je     0x14004c963
14004c92d:	48 8d 4a 08          	lea    0x8(%rdx),%rcx
14004c931:	48 8b c7             	mov    %rdi,%rax
14004c934:	48 2b c2             	sub    %rdx,%rax
14004c937:	48 8d 50 f8          	lea    -0x8(%rax),%rdx
14004c93b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14004c940:	0f b6 41 f8          	movzbl -0x8(%rcx),%eax
14004c944:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
14004c947:	48 8b 01             	mov    (%rcx),%rax
14004c94a:	48 89 44 0a 08       	mov    %rax,0x8(%rdx,%rcx,1)
14004c94f:	c6 41 f8 00          	movb   $0x0,-0x8(%rcx)
14004c953:	48 89 19             	mov    %rbx,(%rcx)
14004c956:	48 8d 49 10          	lea    0x10(%rcx),%rcx
14004c95a:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14004c95e:	48 3b c6             	cmp    %rsi,%rax
14004c961:	75 dd                	jne    0x14004c940
14004c963:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14004c968:	4d 8b 4c 24 08       	mov    0x8(%r12),%r9
14004c96d:	49 3b f1             	cmp    %r9,%rsi
14004c970:	74 33                	je     0x14004c9a5
14004c972:	48 8d 56 08          	lea    0x8(%rsi),%rdx
14004c976:	4d 8b d7             	mov    %r15,%r10
14004c979:	4c 2b d6             	sub    %rsi,%r10
14004c97c:	0f 1f 40 00          	nopl   0x0(%rax)
14004c980:	0f b6 42 f8          	movzbl -0x8(%rdx),%eax
14004c984:	41 88 44 12 08       	mov    %al,0x8(%r10,%rdx,1)
14004c989:	48 8b 02             	mov    (%rdx),%rax
14004c98c:	49 89 44 12 10       	mov    %rax,0x10(%r10,%rdx,1)
14004c991:	c6 42 f8 00          	movb   $0x0,-0x8(%rdx)
14004c995:	48 89 1a             	mov    %rbx,(%rdx)
14004c998:	48 8d 52 10          	lea    0x10(%rdx),%rdx
14004c99c:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
14004c9a0:	49 3b c1             	cmp    %r9,%rax